diff --git a/locales/messages.pot b/locales/messages.pot index 3ac5adcd..e331f33f 100644 --- a/locales/messages.pot +++ b/locales/messages.pot @@ -1,6 +1,6 @@ msgid "" msgstr "" -"POT-Creation-Date: 2024-11-17 08:29:+0000\n" +"POT-Creation-Date: 2026-05-13 09:55:+0000\n" "Project-Id-Version: PACKAGE VERSION\n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -9,43 +9,43 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -#: src/js/Controller.js:234 +#: src/js/Controller.js:248 msgid " Error" msgstr "" -#: src/js/Controller.js:235 +#: src/js/Controller.js:249 msgid " Information" msgstr "" -#: src/js/Controller.js:359 +#: src/js/Controller.js:377 msgid "Document was changed. Reloading." msgstr "" -#: src/js/Controller.js:374 +#: src/js/Controller.js:392 msgid "Document was changed." msgstr "" -#: src/js/Controller.js:1770 +#: src/js/Controller.js:1801 msgid "Presentation was exported to PDF." msgstr "" -#: src/js/Controller.js:1773 +#: src/js/Controller.js:1804 msgid "Failed to write PDF file." msgstr "" -#: src/js/Controller.js:1786 +#: src/js/Controller.js:1817 msgid "Presentation was exported to PPTX." msgstr "" -#: src/js/Controller.js:1789 +#: src/js/Controller.js:1820 msgid "Failed to write PPTX file." msgstr "" -#: src/js/Controller.js:1802 +#: src/js/Controller.js:1833 msgid "Presentation was exported to video." msgstr "" -#: src/js/Controller.js:1805 +#: src/js/Controller.js:1836 msgid "Failed to write video file." msgstr "" @@ -115,7 +115,7 @@ msgstr "" msgid "Reset layer geometry" msgstr "" -#: src/js/view/Properties.js:96 src/js/view/Timeline.js:193 +#: src/js/view/Properties.js:96 src/js/view/Timeline.js:197 msgid "Create a new frame" msgstr "" @@ -275,7 +275,7 @@ msgstr "" msgid "Select a layer to copy" msgstr "" -#: src/js/view/Properties.js:203 src/js/view/Timeline.js:240 src/js/view/Timeline.js:268 +#: src/js/view/Properties.js:203 src/js/view/Timeline.js:244 src/js/view/Timeline.js:272 msgid "Default" msgstr "" @@ -657,39 +657,39 @@ msgstr "" msgid "Bit rate (kbits/sec)" msgstr "" -#: src/js/view/Timeline.js:186 +#: src/js/view/Timeline.js:190 msgid "Delete the selected frames" msgstr "" -#: src/js/view/Timeline.js:212 +#: src/js/view/Timeline.js:216 msgid "Add layer" msgstr "" -#: src/js/view/Timeline.js:213 +#: src/js/view/Timeline.js:217 msgid "Add all layers" msgstr "" -#: src/js/view/Timeline.js:228 src/js/view/Timeline.js:248 +#: src/js/view/Timeline.js:232 src/js/view/Timeline.js:252 msgid "This layer is visible. Click to hide it." msgstr "" -#: src/js/view/Timeline.js:232 src/js/view/Timeline.js:252 +#: src/js/view/Timeline.js:236 src/js/view/Timeline.js:256 msgid "This layer is hidden. Click to show it." msgstr "" -#: src/js/view/Timeline.js:256 +#: src/js/view/Timeline.js:260 msgid "Remove this layer" msgstr "" -#: src/js/view/Timeline.js:281 +#: src/js/view/Timeline.js:286 msgid "Insert selection before frame %d" msgstr "" -#: src/js/view/Timeline.js:288 +#: src/js/view/Timeline.js:293 msgid "Insert selection after frame %d" msgstr "" -#: src/js/view/Timeline.js:323 src/js/view/Timeline.js:335 +#: src/js/view/Timeline.js:331 src/js/view/Timeline.js:344 msgid "" "You should add graphic elements in the current area to help Sozi keep track " "of this layer's position." diff --git a/src/js/Controller.js b/src/js/Controller.js index 7fca0e32..6b80bfb8 100644 --- a/src/js/Controller.js +++ b/src/js/Controller.js @@ -113,12 +113,24 @@ export class Controller extends EventEmitter { */ this.editableLayers = []; + /** Set for O(1) editable layer lookup. + * + * @type {Set} + */ + this._editableLayerSet = new Set(); + /** The layers that fall in the "default" row of the timeline. * * @type {module:model/Presentation.Layer[]} */ this.defaultLayers = []; + /** Set for O(1) default layer lookup. + * + * @type {Set} + */ + this._defaultLayerSet = new Set(); + /** The stack of operations that can be undone. * * @type {Array} @@ -197,12 +209,14 @@ export class Controller extends EventEmitter { */ fromStorable(storable) { this.editableLayers = []; + this._editableLayerSet = new Set(); if ("editableLayers" in storable) { for (let groupId of storable.editableLayers) { const layer = this.presentation.getLayerWithId(groupId); - if (layer && this.editableLayers.indexOf(layer) < 0) { + if (layer && !this._editableLayerSet.has(layer)) { this.editableLayers.push(layer); + this._editableLayerSet.add(layer); } } } @@ -291,11 +305,13 @@ export class Controller extends EventEmitter { * @listens module:player/Player.frameChange */ onFrameChange() { + const currentFrame = this.selection.currentFrame; + if (!currentFrame) return; + let changed = false; for (let layer of this.presentation.layers) { - const layerProperties = this.selection.currentFrame.layerProperties[layer.index]; + const layerProperties = currentFrame.layerProperties[layer.index]; if (layer.isVisible) { - // Update the reference SVG element if applicable. const {element} = this.viewport.cameras[layer.index].getCandidateReferenceElement(); if (element && element !== layerProperties.referenceElement) { layerProperties.referenceElementId = element.getAttribute("id"); @@ -337,9 +353,11 @@ export class Controller extends EventEmitter { // Collect all layers that are not in the editable set // into the "default" layer set. this.defaultLayers = []; + this._defaultLayerSet = new Set(); for (let layer of this.presentation.layers) { - if (this.editableLayers.indexOf(layer) < 0) { + if (!this._editableLayerSet.has(layer)) { this.defaultLayers.push(layer); + this._defaultLayerSet.add(layer); } } @@ -564,7 +582,7 @@ export class Controller extends EventEmitter { // Create a new frame list by removing the selected frames // and inserting them at the target frame index. - const reorderedFrames = this.presentation.frames.filter(frame => !this.selection.hasFrames([frame])); + const reorderedFrames = this.presentation.frames.filter(frame => !this.selection.hasFrame(frame)); Array.prototype.splice.apply(reorderedFrames, [toFrameIndex, 0].concat(framesByIndex)); // Identify the frames and layers that must be unlinked after the move operation. @@ -603,7 +621,7 @@ export class Controller extends EventEmitter { */ updateCameraSelection() { for (let camera of this.viewport.cameras) { - camera.selected = this.selection.hasLayers([camera.layer]); + camera.selected = this.selection.hasLayer(camera.layer); } } @@ -622,13 +640,16 @@ export class Controller extends EventEmitter { */ addLayer(layerIndex) { const layer = this.presentation.layers[layerIndex]; - if (this.editableLayers.indexOf(layer) < 0) { + if (!this._editableLayerSet.has(layer)) { this.editableLayers.push(layer); + this._editableLayerSet.add(layer); } - const layerIndexInDefaults = this.defaultLayers.indexOf(layer); - if (layerIndexInDefaults >= 0) { - this.defaultLayers.splice(layerIndexInDefaults, 1); + if (this._defaultLayerSet.delete(layer)) { + const layerIndexInDefaults = this.defaultLayers.indexOf(layer); + if (layerIndexInDefaults >= 0) { + this.defaultLayers.splice(layerIndexInDefaults, 1); + } } this.addLayerToSelection(layer); @@ -657,9 +678,14 @@ export class Controller extends EventEmitter { } this.editableLayers.push(layer); + this._editableLayerSet.add(layer); - const layerIndexInDefaults = this.defaultLayers.indexOf(layer); - this.defaultLayers.splice(layerIndexInDefaults, 1); + if (this._defaultLayerSet.delete(layer)) { + const layerIndexInDefaults = this.defaultLayers.indexOf(layer); + if (layerIndexInDefaults >= 0) { + this.defaultLayers.splice(layerIndexInDefaults, 1); + } + } this.addLayerToSelection(layer); } @@ -686,8 +712,12 @@ export class Controller extends EventEmitter { removeLayer(layerIndex) { const layer = this.presentation.layers[layerIndex]; - const layerIndexInEditable = this.editableLayers.indexOf(layer); - this.editableLayers.splice(layerIndexInEditable, 1); + if (this._editableLayerSet.delete(layer)) { + const layerIndexInEditable = this.editableLayers.indexOf(layer); + if (layerIndexInEditable >= 0) { + this.editableLayers.splice(layerIndexInEditable, 1); + } + } if (this.defaultLayersAreSelected) { this.addLayerToSelection(layer); @@ -700,6 +730,7 @@ export class Controller extends EventEmitter { } this.defaultLayers.push(layer); + this._defaultLayerSet.add(layer); // Force a repaint even if the controller // did not modify the selection @@ -727,7 +758,7 @@ export class Controller extends EventEmitter { * @type {boolean} */ get defaultLayersAreSelected() { - return this.defaultLayers.every(layer => this.selection.selectedLayers.indexOf(layer) >= 0); + return this.defaultLayers.every(layer => this.selection.hasLayer(layer)); } /** `true` if there is at least one layer in the "default" set. @@ -768,7 +799,7 @@ export class Controller extends EventEmitter { * @fires module:Controller.repaint */ addLayerToSelection(layer) { - if (!this.selection.hasLayers([layer])) { + if (!this.selection.hasLayer(layer)) { this.selection.addLayer(layer); this.updateCameraSelection(); this.emit("editorStateChange"); @@ -786,7 +817,7 @@ export class Controller extends EventEmitter { * @fires module:Controller.repaint */ removeLayerFromSelection(layer) { - if (this.selection.hasLayers([layer])) { + if (this.selection.hasLayer(layer)) { this.selection.removeLayer(layer); this.updateCameraSelection(); this.emit("editorStateChange"); @@ -938,7 +969,7 @@ export class Controller extends EventEmitter { updateLayerAndFrameSelection(single, sequence, layers, frameIndex) { const frame = this.presentation.frames[frameIndex]; if (single) { - if (this.selection.hasLayers(layers) && this.selection.hasFrames([frame])) { + if (this.selection.hasLayers(layers) && this.selection.hasFrame(frame)) { for (let layer of layers) { this.selection.removeLayer(layer); } @@ -1102,7 +1133,7 @@ export class Controller extends EventEmitter { if (layer != layerToCopy) { frame.layerProperties[layer.index].copy(frame.layerProperties[layerToCopy.index]); frame.cameraStates[layer.index].copy(frame.cameraStates[layerToCopy.index]); - if (frame.index === 0 || !this.selection.hasFrames([this.presentation.frames[frame.index - 1]])) { + if (frame.index === 0 || !this.selection.hasFrame(this.presentation.frames[frame.index - 1])) { frame.layerProperties[layer.index].link = false; } } diff --git a/src/js/model/Presentation.js b/src/js/model/Presentation.js index d92dab42..8de4b4ab 100644 --- a/src/js/model/Presentation.js +++ b/src/js/model/Presentation.js @@ -1055,18 +1055,27 @@ export class Presentation extends EventEmitter { * This method must be called to propagate the changes in some frames to * the frames that are linked to them. */ - updateLinkedLayers() { + updateLinkedLayers(layerIndices) { if (!this.frames.length) { return; } + // If specific layer indices are given, only update those layers. + // Otherwise, update all layers. + const layersToUpdate = layerIndices || + this.layers.map((l, i) => i).filter(layerIndex => + this.frames.some(frame => frame.layerProperties[layerIndex].link) + ); + + if (!layersToUpdate.length) return; + const firstCameraStates = this.frames[0].cameraStates; const defaultCameraState = firstCameraStates[firstCameraStates.length - 1]; const firstLayerProperties = this.frames[0].layerProperties; const defaultLayerProperties = firstLayerProperties[firstLayerProperties.length - 1]; - this.layers.forEach((layer, layerIndex) => { + for (let layerIndex of layersToUpdate) { let cameraState = defaultCameraState; let layerProperties = defaultLayerProperties; @@ -1081,7 +1090,7 @@ export class Presentation extends EventEmitter { layerProperties = frame.layerProperties[layerIndex]; } } - }); + } } /** Get the custom files with the given extension. diff --git a/src/js/model/Selection.js b/src/js/model/Selection.js index 7aeca865..6801e96b 100644 --- a/src/js/model/Selection.js +++ b/src/js/model/Selection.js @@ -27,14 +27,46 @@ export class Selection { * @default * @type {module:model/Presentation.Frame[]} */ - this.selectedFrames = []; + this._selectedFrames = []; /** The list of selected layers. * * @default * @type {module:model/Presentation.Layer[]} */ - this.selectedLayers = []; + this._selectedLayers = []; + + /** Set for O(1) frame lookup. + * + * @type {Set} + */ + this._selectedFrameSet = new Set(); + + /** Set for O(1) layer lookup. + * + * @type {Set} + */ + this._selectedLayerSet = new Set(); + } + + /** @type {module:model/Presentation.Frame[]} */ + get selectedFrames() { + return this._selectedFrames; + } + + set selectedFrames(arr) { + this._selectedFrames = arr; + this._selectedFrameSet = new Set(arr); + } + + /** @type {module:model/Presentation.Layer[]} */ + get selectedLayers() { + return this._selectedLayers; + } + + set selectedLayers(arr) { + this._selectedLayers = arr; + this._selectedLayerSet = new Set(arr); } /** Convert this instance to a plain object that can be stored as JSON. @@ -46,8 +78,8 @@ export class Selection { */ toStorable() { return { - selectedFrames: this.selectedFrames.map(frame => frame.frameId), - selectedLayers: this.selectedLayers.map(layer => layer.groupId) + selectedFrames: this._selectedFrames.map(frame => frame.frameId), + selectedLayers: this._selectedLayers.map(layer => layer.groupId) }; } @@ -57,21 +89,25 @@ export class Selection { */ fromStorable(storable) { if ("selectedFrames" in storable) { - this.selectedFrames = []; + this._selectedFrames = []; + this._selectedFrameSet = new Set(); for (let frameId of storable.selectedFrames) { const frame = this.presentation.getFrameWithId(frameId); if (frame) { - this.selectedFrames.push(frame); + this._selectedFrames.push(frame); + this._selectedFrameSet.add(frame); } } } if ("selectedLayers" in storable) { - this.selectedLayers = []; + this._selectedLayers = []; + this._selectedLayerSet = new Set(); for (let groupId of storable.selectedLayers) { const layer = this.presentation.getLayerWithId(groupId); if (layer) { - this.selectedLayers.push(layer); + this._selectedLayers.push(layer); + this._selectedLayerSet.add(layer); } } } @@ -82,8 +118,8 @@ export class Selection { * @type {module:model/Presentation.Frame} */ get currentFrame() { - return this.selectedFrames.length ? - this.selectedFrames[this.selectedFrames.length - 1] : + return this._selectedFrames.length ? + this._selectedFrames[this._selectedFrames.length - 1] : null; } @@ -93,7 +129,16 @@ export class Selection { * @returns {boolean} - `true` if all the given frames are selected. */ hasFrames(frames) { - return frames.every(frame => this.selectedFrames.indexOf(frame) >= 0); + return frames.every(frame => this._selectedFrameSet.has(frame)); + } + + /** Check if a single frame is selected. + * + * @param {module:model/Presentation.Frame} frame - The frame to check. + * @returns {boolean} - `true` if the given frame is selected. + */ + hasFrame(frame) { + return this._selectedFrameSet.has(frame); } /** Add a frame to this selection. @@ -101,8 +146,9 @@ export class Selection { * @param {module:model/Presentation.Frame} frame - The frame to add. */ addFrame(frame) { - if (this.selectedFrames.indexOf(frame) < 0) { - this.selectedFrames.push(frame); + if (!this._selectedFrameSet.has(frame)) { + this._selectedFrames.push(frame); + this._selectedFrameSet.add(frame); } } @@ -111,9 +157,11 @@ export class Selection { * @param {module:model/Presentation.Frame} frame - The frame to remove. */ removeFrame(frame) { - const index = this.selectedFrames.indexOf(frame); - if (index >= 0) { - this.selectedFrames.splice(index, 1); + if (this._selectedFrameSet.delete(frame)) { + const index = this._selectedFrames.indexOf(frame); + if (index >= 0) { + this._selectedFrames.splice(index, 1); + } } } @@ -125,12 +173,16 @@ export class Selection { * @param {module:model/Presentation.Frame} frame - The frame to add or remove. */ toggleFrameSelection(frame) { - const index = this.selectedFrames.indexOf(frame); - if (index >= 0) { - this.selectedFrames.splice(index, 1); + if (this._selectedFrameSet.has(frame)) { + this._selectedFrameSet.delete(frame); + const index = this._selectedFrames.indexOf(frame); + if (index >= 0) { + this._selectedFrames.splice(index, 1); + } } else { - this.selectedFrames.push(frame); + this._selectedFrames.push(frame); + this._selectedFrameSet.add(frame); } } @@ -140,7 +192,16 @@ export class Selection { * @returns {boolean} - `true` if all the given layers are selected. */ hasLayers(layers) { - return layers.every(layer => this.selectedLayers.indexOf(layer) >= 0); + return layers.every(layer => this._selectedLayerSet.has(layer)); + } + + /** Check if a single layer is selected. + * + * @param {module:model/Presentation.Layer} layer - The layer to check. + * @returns {boolean} - `true` if the given layer is selected. + */ + hasLayer(layer) { + return this._selectedLayerSet.has(layer); } /** Add a layer to this selection. @@ -148,8 +209,9 @@ export class Selection { * @param {module:model/Presentation.Layer} layer - The layer to add. */ addLayer(layer) { - if (this.selectedLayers.indexOf(layer) < 0) { - this.selectedLayers.push(layer); + if (!this._selectedLayerSet.has(layer)) { + this._selectedLayers.push(layer); + this._selectedLayerSet.add(layer); } } @@ -158,9 +220,11 @@ export class Selection { * @param {module:model/Presentation.Layer} layer - The layer to remove. */ removeLayer(layer) { - const index = this.selectedLayers.indexOf(layer); - if (index >= 0) { - this.selectedLayers.splice(index, 1); + if (this._selectedLayerSet.delete(layer)) { + const index = this._selectedLayers.indexOf(layer); + if (index >= 0) { + this._selectedLayers.splice(index, 1); + } } } @@ -172,12 +236,16 @@ export class Selection { * @param {module:model/Presentation.Layer} layer - The layer to add or remove. */ toggleLayerSelection(layer) { - const index = this.selectedLayers.indexOf(layer); - if (index >= 0) { - this.selectedLayers.splice(index, 1); + if (this._selectedLayerSet.has(layer)) { + this._selectedLayerSet.delete(layer); + const index = this._selectedLayers.indexOf(layer); + if (index >= 0) { + this._selectedLayers.splice(index, 1); + } } else { - this.selectedLayers.push(layer); + this._selectedLayers.push(layer); + this._selectedLayerSet.add(layer); } } } diff --git a/src/js/player/Camera.js b/src/js/player/Camera.js index 5804390b..6b7dc0c8 100644 --- a/src/js/player/Camera.js +++ b/src/js/player/Camera.js @@ -78,6 +78,18 @@ export class Camera extends CameraState { */ this.layer = layer; + /** Monotonically increasing version to track state changes. + * + * @type {number} + */ + this._stateVersion = 0; + + /** The version that was last flushed to the DOM. + * + * @type {number} + */ + this._lastUpdatedVersion = -1; + /** Is the layer for this camera selected for manipulation by the user? * * When playing the presentation, all cameras are always selected. @@ -227,6 +239,7 @@ export class Camera extends CameraState { rotate(angle) { this.restoreAspectRatio(); this.angle += angle; + this._stateVersion++; this.update(); } @@ -244,6 +257,7 @@ export class Camera extends CameraState { this.width /= factor; this.height /= factor; this.restoreAspectRatio(); + this._stateVersion++; this.translate( (1 - factor) * (x - this.viewport.width / 2), (1 - factor) * (y - this.viewport.height / 2) @@ -270,6 +284,7 @@ export class Camera extends CameraState { this.cx -= (deltaX * co - deltaY * si) / scale; this.cy -= (deltaX * si + deltaY * co) / scale; this.restoreAspectRatio(); + this._stateVersion++; this.update(); } @@ -292,6 +307,7 @@ export class Camera extends CameraState { this.clipYOffset = (Math.min(y0, y1) - (this.viewport.height - clipHeight) / 2) * this.height / clipHeight; this.clipWidthFactor = clipWidth / this.width / scale; this.clipHeightFactor = clipHeight / this.height / scale; + this._stateVersion++; this.update(); } @@ -392,12 +408,25 @@ export class Camera extends CameraState { return {width, height, x, y}; } + /** Copy state from another camera or camera state. + * + * @param {module:model/CameraState.CameraState} state - The state to copy. + */ + copy(state) { + super.copy(state); + this._stateVersion++; + } + /** Update the current layer of the SVG document to reflect the properties of this camera. * * This method applies geometrical transformations to the current layer, * and updates the clipping rectangles and mask. + * If the camera state has not changed since the last update, this is a no-op. */ update() { + if (this._stateVersion === this._lastUpdatedVersion) return; + this._lastUpdatedVersion = this._stateVersion; + // Adjust the location and size of the clipping rectangle const rect = this.clipRect; this.svgClipRect.setAttribute("x", rect.x); @@ -530,5 +559,7 @@ export class Camera extends CameraState { for (let clipProp in clipDefaults) { this[clipProp] = linear(initialClipping[clipProp], finalClipping[clipProp]); } + + this._stateVersion++; } } diff --git a/src/js/view/Timeline.js b/src/js/view/Timeline.js index 479cfbeb..41568755 100644 --- a/src/js/view/Timeline.js +++ b/src/js/view/Timeline.js @@ -115,7 +115,10 @@ export class Timeline extends VirtualDOMView { /** @inheritdoc */ repaint() { super.repaint(); + } + /** @inheritdoc */ + afterRender() { const topLeft = this.container.querySelector(".timeline-top-left"); const topRight = this.container.querySelector(".timeline-top-right"); const bottomLeft = this.container.querySelector(".timeline-bottom-left"); @@ -155,6 +158,7 @@ export class Timeline extends VirtualDOMView { render() { const controller = this.controller; const _ = controller.gettext; + const selection = this.selection; let even = true; function updateEven(frame, layer) { @@ -180,11 +184,11 @@ export class Timeline extends VirtualDOMView { return h("div", [ h("div.timeline-top-left", [ h("table.timeline", [ - h("tr", [ + h("tr", {key: "tl-buttons"}, [ h("th", [ h("button", { title: _("Delete the selected frames"), - disabled: this.selection.selectedFrames.length ? undefined : "disabled", + disabled: selection.selectedFrames.length ? undefined : "disabled", onclick() { controller.deleteFrames(); } }, h("i.fa.fa-trash")) ]), @@ -195,7 +199,7 @@ export class Timeline extends VirtualDOMView { }, h("i.fa.fa-plus")) ]), ]), - h("tr", [ + h("tr", {key: "tl-add-layer"}, [ h("th", {colspan: 2}, h("select", { onchange: evt => { @@ -212,8 +216,8 @@ export class Timeline extends VirtualDOMView { h("option", {value: "__sozi_add__", selected: "selected"}, _("Add layer")), h("option", {value: "__sozi_add_all__"}, _("Add all layers")), this.presentation.layers.slice().reverse() - .filter(layer => !layer.auto && controller.defaultLayers.indexOf(layer) >= 0) - .map(layer => h("option", {value: layer.index}, layer.label)) + .filter(layer => !layer.auto && controller._defaultLayerSet.has(layer)) + .map(layer => h("option", {value: layer.index, key: "opt-" + layer.index}, layer.label)) ]) ) ]) @@ -221,7 +225,7 @@ export class Timeline extends VirtualDOMView { ]), h("div.timeline-bottom-left", [ h("table.timeline", [ - controller.hasDefaultLayer ? h("tr", [ + controller.hasDefaultLayer ? h("tr", {key: "default-row"}, [ h("th.layer-icons", [ defaultLayersAreVisible ? h("i.visibility.fa.fa-eye", { @@ -240,8 +244,8 @@ export class Timeline extends VirtualDOMView { }, _("Default")) ]) : null, this.presentation.layers.slice().reverse() - .filter(layer => controller.editableLayers.indexOf(layer) >= 0) - .map(layer => h("tr", [ + .filter(layer => controller._editableLayerSet.has(layer)) + .map(layer => h("tr", {key: "lr-" + layer.index}, [ h("th.layer-icons", [ layer.isVisible ? h("i.visibility.fa.fa-eye", { @@ -258,12 +262,12 @@ export class Timeline extends VirtualDOMView { }) ]), h("th", { - className: "layer-label" + (this.selection.selectedLayers.indexOf(layer) >= 0 ? " selected" : ""), + className: "layer-label" + (selection.hasLayer(layer) ? " selected" : ""), onclick: evt => this.updateLayerSelection(layer.index, evt) }, layer.label) ]) ), - h("tr", {style: {visibility: "collapse"}}, [ + h("tr", {style: {visibility: "collapse"}, key: "collapse-row"}, [ h("th.layer-icons"), h("th.layer-label", _("Default")) ]) @@ -271,10 +275,11 @@ export class Timeline extends VirtualDOMView { ]), h("div.timeline-top-right", [ h("table.timeline", [ - h("tr", this.presentation.frames.map((frame, frameIndex) => h("th", { + h("tr", {key: "frame-nums"}, this.presentation.frames.map((frame, frameIndex) => h("th", { + key: "fn-" + frameIndex, className: "frame-index" + - (this.selection.selectedFrames.indexOf(frame) >= 0 ? " selected" : "") + - (frame === this.selection.currentFrame ? " current" : ""), + (selection.hasFrame(frame) ? " selected" : "") + + (frame === selection.currentFrame ? " current" : ""), onclick: evt => this.updateFrameSelection(frameIndex, evt) }, [ h("i.insert-before.fa.fa-arrow-circle-down", { @@ -294,12 +299,13 @@ export class Timeline extends VirtualDOMView { (frameIndex + 1).toString() ]) )), - h("tr", + h("tr", {key: "frame-titles"}, this.presentation.frames.map((frame, frameIndex) => h("th", { + key: "ft-" + frameIndex, title: frame.title, className: "frame-title" + - (this.selection.selectedFrames.indexOf(frame) >= 0 ? " selected" : "") + - (frame === this.selection.currentFrame ? " current" : ""), + (selection.hasFrame(frame) ? " selected" : "") + + (frame === selection.currentFrame ? " current" : ""), onclick: evt => this.updateFrameSelection(frameIndex, evt) }, frame.title) ) @@ -307,35 +313,38 @@ export class Timeline extends VirtualDOMView { ]) ]), h("div.timeline-bottom-right", { + key: "timeline-grid", onscroll: evt => { this.container.querySelector(".timeline-top-right").scrollLeft = evt.target.scrollLeft; this.container.querySelector(".timeline-bottom-left").scrollTop = evt.target.scrollTop; } - }, h("table.timeline", [ - controller.hasDefaultLayer ? h("tr", + }, h("table.timeline", {key: "grid-table"}, [ + controller.hasDefaultLayer ? h("tr", {key: "default-cells"}, this.presentation.frames.map((frame, frameIndex) => h("td", { + key: "cd-" + frameIndex, className: - (controller.defaultLayersAreSelected && this.selection.selectedFrames.indexOf(frame) >= 0 ? "selected" : "") + - (frame === this.selection.currentFrame ? " current" : "") + + (controller.defaultLayersAreSelected && selection.hasFrame(frame) ? "selected" : "") + + (frame === selection.currentFrame ? " current" : "") + (isLinked(frame, controller.defaultLayers[0]) ? " link" : "") + (updateEven(frame, controller.defaultLayers[0]) ? " even" : " odd"), onclick: evt => this.updateLayerAndFrameSelection(-1, frameIndex, evt) }, hasNoReferenceElement(frame, controller.defaultLayers[0]) ? h("i.fa.fa-exclamation-triangle", {title: _("You should add graphic elements in the current area to help Sozi keep track of this layer's position.")}) : null)) ) : null, this.presentation.layers.slice().reverse() - .filter(layer => controller.editableLayers.indexOf(layer) >= 0) - .map(layer => h("tr", + .filter(layer => controller._editableLayerSet.has(layer)) + .map(layer => h("tr", {key: "lr-" + layer.index}, this.presentation.frames.map((frame, frameIndex) => h("td", { + key: "c-" + layer.index + "-" + frameIndex, className: - (this.selection.selectedLayers.indexOf(layer) >= 0 && this.selection.selectedFrames.indexOf(frame) >= 0 ? "selected" : "") + - (frame === this.selection.currentFrame ? " current" : "") + + (selection.hasLayer(layer) && selection.hasFrame(frame) ? "selected" : "") + + (frame === selection.currentFrame ? " current" : "") + (isLinked(frame, layer) ? " link" : "") + (updateEven(frame, layer) ? " even" : " odd"), onclick: evt => this.updateLayerAndFrameSelection(layer.index, frameIndex, evt) }, hasNoReferenceElement(frame, layer) ? h("i.fa.fa-exclamation-triangle", {title: _("You should add graphic elements in the current area to help Sozi keep track of this layer's position.")}) : null) ))), - h("tr.collapse", - this.presentation.frames.map(frame => h("td", frame.title)) + h("tr.collapse", {key: "collapse-cells"}, + this.presentation.frames.map((frame, frameIndex) => h("td", {key: "cc-" + frameIndex}, frame.title)) ) ]) ) diff --git a/src/js/view/VirtualDOMView.js b/src/js/view/VirtualDOMView.js index 1594675f..01fd42c5 100644 --- a/src/js/view/VirtualDOMView.js +++ b/src/js/view/VirtualDOMView.js @@ -57,23 +57,39 @@ export class VirtualDOMView extends EventEmitter { /** Repaint this view. * * This will render the current view using the result of {@linkcode module:view/VirtualDOMView.VirtualDOMView#render|render}. + * Multiple repaint requests within the same animation frame are coalesced. * * @listens resize * @listens module:Controller.repaint */ repaint() { - render(this.render(), this.container, () => { - for (let prop in this.state) { - const elt = document.getElementById("field-" + prop); - if (elt) { - for (let attr in this.state[prop]) { - elt[attr] = this.state[prop][attr]; + if (this._repaintRafId) { + cancelAnimationFrame(this._repaintRafId); + } + this._repaintRafId = requestAnimationFrame(() => { + this._repaintRafId = null; + render(this.render(), this.container, () => { + for (let prop in this.state) { + const elt = document.getElementById("field-" + prop); + if (elt) { + for (let attr in this.state[prop]) { + elt[attr] = this.state[prop][attr]; + } } } - } + }); + this.afterRender(); }); } + /** Perform additional DOM manipulations after rendering. + * + * Subclasses can override this method to adjust layout + * or query DOM elements created by the render pass. + */ + afterRender() { + } + /** Render this view as a virtual DOM tree. * * @returns {VNode} - A virtual DOM tree for this view. diff --git a/yarn.lock b/yarn.lock index 7c437ebe..56402d12 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"7zip-bin@~5.2.0": - version "5.2.0" - resolved "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz" - integrity sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A== - "@ampproject/remapping@^2.2.0": version "2.3.0" resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" @@ -29,7 +24,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz" integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== -"@babel/core@^7.14.8": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.14.8", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": version "7.26.0" resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz" integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== @@ -109,10 +104,10 @@ regexpu-core "^6.1.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.2": - version "0.6.2" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz" - integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== +"@babel/helper-define-polyfill-provider@^0.6.2", "@babel/helper-define-polyfill-provider@^0.6.3": + version "0.6.3" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz" + integrity sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -815,9 +810,9 @@ ajv-keywords "^3.4.1" "@electron/asar@^3.2.7": - version "3.2.15" - resolved "https://registry.npmjs.org/@electron/asar/-/asar-3.2.15.tgz" - integrity sha512-AerUbRZpkDVRs58WP32t4U2bx85sfwRkQI8RMIEi6s2NBE++sgjsgAAMtXvnfTISKUkXo386pxFW7sa7WtMCrw== + version "3.2.17" + resolved "https://registry.npmjs.org/@electron/asar/-/asar-3.2.17.tgz" + integrity sha512-OcWImUI686w8LkghQj9R2ynZ2ME693Ek6L1SiaAgqGKzBaTIZw3fHDqN82Rcl+EU1Gm9EgkJ5KLIY/q5DCRbbA== dependencies: commander "^5.0.0" glob "^7.1.6" @@ -918,24 +913,24 @@ resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/config-array@^0.18.0": - version "0.18.0" - resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz" - integrity sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw== +"@eslint/config-array@^0.19.0": + version "0.19.0" + resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.0.tgz" + integrity sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ== dependencies: "@eslint/object-schema" "^2.1.4" debug "^4.3.1" minimatch "^3.1.2" -"@eslint/core@^0.7.0": - version "0.7.0" - resolved "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz" - integrity sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw== +"@eslint/core@^0.9.0": + version "0.9.0" + resolved "https://registry.npmjs.org/@eslint/core/-/core-0.9.0.tgz" + integrity sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg== -"@eslint/eslintrc@^3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz" - integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== +"@eslint/eslintrc@^3.2.0": + version "3.2.0" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz" + integrity sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -947,20 +942,20 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.14.0": - version "9.14.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz" - integrity sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg== +"@eslint/js@9.15.0": + version "9.15.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-9.15.0.tgz" + integrity sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg== "@eslint/object-schema@^2.1.4": version "2.1.4" resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz" integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== -"@eslint/plugin-kit@^0.2.0": - version "0.2.2" - resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz" - integrity sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw== +"@eslint/plugin-kit@^0.2.3": + version "0.2.3" + resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz" + integrity sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA== dependencies: levn "^0.4.1" @@ -1009,10 +1004,10 @@ resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz" integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== -"@humanwhocodes/retry@^0.4.0": - version "0.4.0" - resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.0.tgz" - integrity sha512-xnRgu9DxZbkWak/te3fcytNyp8MTbuiZIaueg2rgEvBuN55n04nwLYLU9TX/VVlusc9L2ZNXi99nUFNkHXtr5g== +"@humanwhocodes/retry@^0.4.1": + version "0.4.1" + resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz" + integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== "@isaacs/cliui@^8.0.2": version "8.0.2" @@ -1159,7 +1154,7 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== -"@types/fs-extra@9.0.13", "@types/fs-extra@^9.0.11": +"@types/fs-extra@^9.0.11", "@types/fs-extra@9.0.13": version "9.0.13" resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz" integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== @@ -1188,7 +1183,7 @@ resolved "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz" integrity sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q== -"@types/markdown-it@^12.2.3": +"@types/markdown-it@*", "@types/markdown-it@^12.2.3": version "12.2.3" resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz" integrity sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ== @@ -1207,20 +1202,12 @@ integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== "@types/node@*", "@types/node@^20.9.0": - version "20.17.5" - resolved "https://registry.npmjs.org/@types/node/-/node-20.17.5.tgz" - integrity sha512-n8FYY/pRxu496441gIcAQFZPKXbhsd6VZygcq+PTSZ75eMh/Ke0hCAROdUa21qiFqKNsPPYic46yXDO1JGiPBQ== + version "20.17.6" + resolved "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz" + integrity sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ== dependencies: undici-types "~6.19.2" -"@types/plist@^3.0.1": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.5.tgz#9a0c49c0f9886c8c8696a7904dd703f6284036e0" - integrity sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA== - dependencies: - "@types/node" "*" - xmlbuilder ">=11.0.1" - "@types/responselike@^1.0.0": version "1.0.3" resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz" @@ -1228,11 +1215,6 @@ dependencies: "@types/node" "*" -"@types/verror@^1.10.3": - version "1.10.11" - resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.11.tgz#d3d6b418978c8aa202d41e5bb3483227b6ecc1bb" - integrity sha512-RlDm9K7+o5stv0Co8i8ZRGxDbrTxhJtgjqjFyVh/tXQyl/rYtTKlnTvZ88oSTeYREWurwx20Js4kTuKCsFkUtg== - "@types/yauzl@^2.9.1": version "2.10.3" resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz" @@ -1242,16 +1224,13 @@ "@xmldom/xmldom@^0.8.8": version "0.8.13" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.13.tgz#00d1dd940b218dff2e49309d410d8bb212159225" + resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz" integrity sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw== -JSONStream@^1.0.3: - version "1.3.5" - resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" +"7zip-bin@~5.2.0": + version "5.2.0" + resolved "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz" + integrity sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A== a-sync-waterfall@^1.0.0: version "1.0.1" @@ -1287,17 +1266,17 @@ acorn@^5.0.0: resolved "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz" integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.14.0: + version "8.14.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== + acorn@^7.0.0: version "7.4.1" resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.14.0: - version "8.14.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz" - integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== - -agent-base@6, agent-base@^6.0.2: +agent-base@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== @@ -1311,6 +1290,13 @@ agent-base@^7.0.2, agent-base@^7.1.0: dependencies: debug "^4.3.4" +agent-base@6: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + agentkeepalive@^4.2.1: version "4.5.0" resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" @@ -1331,7 +1317,7 @@ ajv-keywords@^3.4.1: resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4: +ajv@^6.12.0, ajv@^6.12.4, ajv@^6.9.1: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1413,7 +1399,7 @@ ansi-styles@~1.0.0: resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" integrity sha512-3iF4FIKdxaVYT3JqQuY3Wat/T2t7TRbbQ94Fu50ZUCbLy4TFbTzr90NOHQodQkNqmeEGCw8WbeP78WNi6SKYUA== -ansi-wrap@0.1.0, ansi-wrap@^0.1.0: +ansi-wrap@^0.1.0, ansi-wrap@0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz" integrity sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw== @@ -1506,6 +1492,19 @@ archiver-utils@^3.0.4: normalize-path "^3.0.0" readable-stream "^3.6.0" +archiver@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz" + integrity sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== + dependencies: + archiver-utils "^2.1.0" + async "^3.2.4" + buffer-crc32 "^0.2.1" + readable-stream "^3.6.0" + readdir-glob "^1.1.2" + tar-stream "^2.2.0" + zip-stream "^4.1.0" + archiver@~5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/archiver/-/archiver-5.2.0.tgz" @@ -1594,11 +1593,6 @@ asn1.js@^4.10.1: inherits "^2.0.1" minimalistic-assert "^1.0.0" -assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - assert@^1.4.0: version "1.5.1" resolved "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz" @@ -1612,11 +1606,6 @@ assign-symbols@^1.0.0: resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - async-done@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz" @@ -1643,7 +1632,7 @@ async@^1.3.0: resolved "https://registry.npmjs.org/async/-/async-1.5.2.tgz" integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== -async@^3.2.0, async@^3.2.3: +async@^3.2.0, async@^3.2.3, async@^3.2.4: version "3.2.6" resolved "https://registry.npmjs.org/async/-/async-3.2.6.tgz" integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== @@ -1671,12 +1660,12 @@ await-handler@^1.1.0: integrity sha512-dihteGhwbJpT89kVbacWiyKeAZr+En0YGK6pAKQJLR0En9ZxSH2H4TTvfG4bBjzFq9gDAma4y9BrpDns6j5UiQ== babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.11" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz" - integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + version "0.4.12" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz" + integrity sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.3" semver "^6.3.1" babel-plugin-polyfill-corejs3@^0.10.6: @@ -1688,11 +1677,11 @@ babel-plugin-polyfill-corejs3@^0.10.6: core-js-compat "^3.38.0" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.2" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz" - integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + version "0.6.3" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz" + integrity sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.3" bach@^2.0.1: version "2.0.1" @@ -1710,7 +1699,7 @@ balanced-match@^1.0.0: balanced-match@^4.0.2: version "4.0.4" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz" integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== bare-events@^2.2.0: @@ -1773,10 +1762,20 @@ bluebird@^3.5.5, bluebird@^3.7.2: resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== +bn.js@^4.0.0: + version "4.12.1" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== + +bn.js@^4.1.0: + version "4.12.1" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== + +bn.js@^4.11.9: + version "4.12.1" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== bn.js@^5.2.1: version "5.2.1" @@ -1790,7 +1789,7 @@ boolean@^3.0.1: brace-expansion@^1.1.7: version "1.1.13" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.13.tgz#d37875c01dc9eff988dd49d112a57cb67b54efe6" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz" integrity sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w== dependencies: balanced-match "^1.0.0" @@ -1798,14 +1797,14 @@ brace-expansion@^1.1.7: brace-expansion@^2.0.1, brace-expansion@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.3.tgz#0493338bdd58e319b1039c67cf7ee439892c01d9" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz" integrity sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA== dependencies: balanced-match "^1.0.0" brace-expansion@^5.0.2: version "5.0.5" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.5.tgz#dcc3a37116b79f3e1b46db994ced5d570e930fdb" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz" integrity sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ== dependencies: balanced-match "^4.0.2" @@ -1827,9 +1826,9 @@ browser-pack@^6.0.1: resolved "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz" integrity sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA== dependencies: - JSONStream "^1.0.3" combine-source-map "~0.8.0" defined "^1.0.0" + JSONStream "^1.0.3" safe-buffer "^5.1.1" through2 "^2.0.0" umd "^3.0.0" @@ -1909,7 +1908,6 @@ browserify@^17.0.0: resolved "https://registry.npmjs.org/browserify/-/browserify-17.0.1.tgz" integrity sha512-pxhT00W3ylMhCHwG5yfqtZjNnFuX5h2IJdaBfSo4ChaaBsIp9VLrEMQ1bHV+Xr1uLPXuNDDM1GlJkjli0qkRsw== dependencies: - JSONStream "^1.0.3" assert "^1.4.0" browser-pack "^6.0.1" browser-resolve "^2.0.0" @@ -1931,6 +1929,7 @@ browserify@^17.0.0: https-browserify "^1.0.0" inherits "~2.0.1" insert-module-globals "^7.2.1" + JSONStream "^1.0.3" labeled-stream-splicer "^2.0.0" mkdirp-classic "^0.5.2" module-deps "^6.2.3" @@ -1958,7 +1957,7 @@ browserify@^17.0.0: vm-browserify "^1.0.0" xtend "^4.0.0" -browserslist@^4.24.0, browserslist@^4.24.2: +browserslist@^4.24.0, browserslist@^4.24.2, "browserslist@>= 4.21.0": version "4.24.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz" integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== @@ -1983,7 +1982,7 @@ buffer-xor@^1.0.3: resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@^5.1.0, buffer@^5.5.0: +buffer@^5.5.0: version "5.7.1" resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -2020,8 +2019,8 @@ builder-util@25.1.7: resolved "https://registry.npmjs.org/builder-util/-/builder-util-25.1.7.tgz" integrity sha512-7jPjzBwEGRbwNcep0gGNpLXG9P94VA3CPAZQCzxkFXiV2GMQKlziMbY//rXPI7WKfhsvGgFXjTcXdBEwgXw9ww== dependencies: - "7zip-bin" "~5.2.0" "@types/debug" "^4.1.6" + "7zip-bin" "~5.2.0" app-builder-bin "5.0.0-alpha.10" bluebird-lst "^1.0.9" builder-util-runtime "9.2.10" @@ -2091,26 +2090,15 @@ cached-path-relative@^1.0.0, cached-path-relative@^1.0.2: call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: es-errors "^1.3.0" function-bind "^1.1.2" -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -call-bind@^1.0.8: +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz" integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== dependencies: call-bind-apply-helpers "^1.0.0" @@ -2120,7 +2108,7 @@ call-bind@^1.0.8: call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + resolved "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz" integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== dependencies: call-bind-apply-helpers "^1.0.2" @@ -2132,9 +2120,9 @@ callsites@^3.0.0: integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== caniuse-lite@^1.0.30001669: - version "1.0.30001676" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001676.tgz" - integrity sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw== + version "1.0.30001680" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz" + integrity sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA== catharsis@^0.9.0: version "0.9.0" @@ -2169,7 +2157,7 @@ chalk@~0.4.0: has-color "~0.1.0" strip-ansi "~0.1.0" -chokidar@^3.5.3: +chokidar@^3.3.0, chokidar@^3.5.3: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -2201,7 +2189,7 @@ ci-info@^3.2.0: cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.6" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.6.tgz#8fe672437d01cd6c4561af5334e0cc50ff1955f7" + resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz" integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw== dependencies: inherits "^2.0.4" @@ -2236,14 +2224,6 @@ cli-spinners@^2.5.0: resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz" integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" @@ -2312,16 +2292,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + color-support@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" @@ -2452,11 +2432,6 @@ core-js@^3.16.0: resolved "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz" integrity sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g== -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" @@ -2475,13 +2450,6 @@ crc32-stream@^4.0.2: crc-32 "^1.2.0" readable-stream "^3.4.0" -crc@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - create-ecdh@^4.0.4: version "4.0.4" resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" @@ -2503,7 +2471,7 @@ create-hash@^1.1.0, create-hash@^1.2.0: create-hash@~1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" + resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz" integrity sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA== dependencies: cipher-base "^1.0.1" @@ -2523,10 +2491,10 @@ create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.3, cross-spawn@^7.0.5: + version "7.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz" + integrity sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -2568,7 +2536,7 @@ dash-ast@^1.0.0: resolved "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz" integrity sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA== -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.6: +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.6, debug@4: version "4.3.7" resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz" integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== @@ -2705,20 +2673,6 @@ dmg-builder@25.1.8: optionalDependencies: dmg-license "^1.0.11" -dmg-license@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a" - integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q== - dependencies: - "@types/plist" "^3.0.1" - "@types/verror" "^1.10.3" - ajv "^6.10.0" - crc "^3.8.0" - iconv-corefoundation "^1.1.7" - plist "^3.0.4" - smart-buffer "^4.0.2" - verror "^1.10.0" - dom-serializer@^1.0.1: version "1.4.1" resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" @@ -2762,20 +2716,20 @@ domutils@^2.0.0: domhandler "^4.2.0" dotenv-expand@^11.0.6: - version "11.0.6" - resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.6.tgz" - integrity sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== + version "11.0.7" + resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz" + integrity sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA== dependencies: - dotenv "^16.4.4" + dotenv "^16.4.5" -dotenv@^16.4.4, dotenv@^16.4.5: +dotenv@^16.4.5: version "16.4.5" resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz" integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== dunder-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== dependencies: call-bind-apply-helpers "^1.0.1" @@ -2814,6 +2768,16 @@ electron-app-settings@^1.3.1: resolved "https://registry.npmjs.org/electron-app-settings/-/electron-app-settings-1.3.1.tgz" integrity sha512-9JS/Ch/SrRXrEHjlcljUlgDwmC2pLogxwuHWIqVG6whg/9KJhydDBjubg7tTe3s3nCf5GXcmbjsQtHPtHyL1tA== +electron-builder-squirrel-windows@25.1.8: + version "25.1.8" + resolved "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-25.1.8.tgz" + integrity sha512-2ntkJ+9+0GFP6nAISiMabKt6eqBB0kX1QqHNWFWAXgi0VULKGisM46luRFpIBiU3u/TDmhZMM8tzvo2Abn3ayg== + dependencies: + app-builder-lib "25.1.8" + archiver "^5.3.1" + builder-util "25.1.7" + fs-extra "^10.1.0" + electron-builder@^25.1.8: version "25.1.8" resolved "https://registry.npmjs.org/electron-builder/-/electron-builder-25.1.8.tgz" @@ -2844,23 +2808,23 @@ electron-publish@25.1.7: mime "^2.5.2" electron-to-chromium@^1.5.41: - version "1.5.50" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz" - integrity sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw== + version "1.5.62" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.62.tgz" + integrity sha512-t8c+zLmJHa9dJy96yBZRXGQYoiCEnHYgFwn1asvSPZSUdVxnB62A4RASd7k41ytG3ErFBA0TpHlKg9D9SQBmLg== -electron@^33.0.2: - version "33.0.2" - resolved "https://registry.npmjs.org/electron/-/electron-33.0.2.tgz" - integrity sha512-C2WksfP0COsMHbYXSJG68j6S3TjuGDrw/YT42B526yXalIlNQZ2GeAYKryg6AEMkIp3p8TUfDRD0+HyiyCt/nw== +electron@^33.0.2, "electron@>= 13.0.0": + version "33.2.0" + resolved "https://registry.npmjs.org/electron/-/electron-33.2.0.tgz" + integrity sha512-PVw1ICAQDPsnnsmpNFX/b1i/49h67pbSPxuIENd9K9WpGO1tsRaQt+K2bmXqTuoMJsbzIc75Ce8zqtuwBPqawA== dependencies: "@electron/get" "^2.0.0" "@types/node" "^20.9.0" extract-zip "^2.0.1" elliptic@^6.5.3, elliptic@^6.5.5: - version "6.6.0" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.6.0.tgz" - integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA== + version "6.6.1" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== dependencies: bn.js "^4.11.9" brorand "^1.1.0" @@ -2922,16 +2886,9 @@ err-code@^2.0.2: resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-define-property@^1.0.1: +es-define-property@^1.0.0, es-define-property@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: @@ -2946,14 +2903,14 @@ es-module-lexer@^1.5.3: es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: es-errors "^1.3.0" es-set-tostringtag@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: es-errors "^1.3.0" @@ -3026,26 +2983,26 @@ eslint-visitor-keys@^4.2.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz" integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== -eslint@^9.14.0: - version "9.14.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-9.14.0.tgz" - integrity sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g== +"eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0 || ^9.0.0", eslint@^9.14.0: + version "9.15.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-9.15.0.tgz" + integrity sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.18.0" - "@eslint/core" "^0.7.0" - "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.14.0" - "@eslint/plugin-kit" "^0.2.0" + "@eslint/config-array" "^0.19.0" + "@eslint/core" "^0.9.0" + "@eslint/eslintrc" "^3.2.0" + "@eslint/js" "9.15.0" + "@eslint/plugin-kit" "^0.2.3" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.0" + "@humanwhocodes/retry" "^0.4.1" "@types/estree" "^1.0.6" "@types/json-schema" "^7.0.15" ajv "^6.12.4" chalk "^4.0.0" - cross-spawn "^7.0.2" + cross-spawn "^7.0.5" debug "^4.3.2" escape-string-regexp "^4.0.0" eslint-scope "^8.2.0" @@ -3065,7 +3022,6 @@ eslint@^9.14.0: minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.3" - text-table "^0.2.0" espree@^10.0.1, espree@^10.1.0, espree@^10.3.0: version "10.3.0" @@ -3161,11 +3117,6 @@ extract-zip@^2.0.1: optionalDependencies: "@types/yauzl" "^2.9.1" -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - falafel@~2.1: version "2.1.0" resolved "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz" @@ -3314,19 +3265,12 @@ flat-cache@^4.0.0: flatted@^3.2.9: version "3.4.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.2.tgz#f5c23c107f0f37de8dbdf24f13722b3b98d52726" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz" integrity sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - for-each@^0.3.5: version "0.3.5" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz" integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== dependencies: is-callable "^1.2.7" @@ -3363,7 +3307,7 @@ fork-awesome@^1.2.0: form-data@^4.0.0: version "4.0.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz" integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow== dependencies: asynckit "^0.4.0" @@ -3377,7 +3321,16 @@ fs-constants@^1.0.0: resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^10.0.0, fs-extra@^10.1.0: +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^10.1.0: version "10.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -3404,7 +3357,17 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0, fs-extra@^9.0.1: +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -3434,11 +3397,6 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -3473,20 +3431,9 @@ get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: call-bind-apply-helpers "^1.0.2" @@ -3502,7 +3449,7 @@ get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: get-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== dependencies: dunder-proto "^1.0.1" @@ -3515,21 +3462,6 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" -gettext-parser@1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz" - integrity sha512-zL3eayB0jF+cr6vogH/VJKoKcj7uQj2TPByaaj6a4k/3elk9iq7fiwCM2FqdzS/umo021RetSanVisarzeb9Wg== - dependencies: - encoding "^0.1.11" - -gettext-parser@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/gettext-parser/-/gettext-parser-2.0.0.tgz" - integrity sha512-FDs/7XjNw58ToQwJFO7avZZbPecSYgw8PBYhd0An+4JtZSrSzKhEvTsVV2uqdO7VziWTOGSgLGD5YRPdsCjF7Q== - dependencies: - encoding "^0.1.12" - safe-buffer "^5.1.2" - gettext-parser@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz" @@ -3545,6 +3477,21 @@ gettext-parser@~0.2.0: dependencies: encoding "~0.1" +gettext-parser@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz" + integrity sha512-zL3eayB0jF+cr6vogH/VJKoKcj7uQj2TPByaaj6a4k/3elk9iq7fiwCM2FqdzS/umo021RetSanVisarzeb9Wg== + dependencies: + encoding "^0.1.11" + +gettext-parser@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/gettext-parser/-/gettext-parser-2.0.0.tgz" + integrity sha512-FDs/7XjNw58ToQwJFO7avZZbPecSYgw8PBYhd0An+4JtZSrSzKhEvTsVV2uqdO7VziWTOGSgLGD5YRPdsCjF7Q== + dependencies: + encoding "^0.1.12" + safe-buffer "^5.1.2" + gettext-to-messageformat@0.3.1: version "0.3.1" resolved "https://registry.npmjs.org/gettext-to-messageformat/-/gettext-to-messageformat-0.3.1.tgz" @@ -3671,9 +3618,9 @@ globals@^14.0.0: integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== globals@^15.11.0: - version "15.11.0" - resolved "https://registry.npmjs.org/globals/-/globals-15.11.0.tgz" - integrity sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw== + version "15.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz" + integrity sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ== globalthis@^1.0.1: version "1.0.4" @@ -3697,16 +3644,9 @@ glogg@^2.2.0: dependencies: sparkles "^2.1.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -gopd@^1.2.0: +gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== got@^11.7.0, got@^11.8.5: @@ -3821,7 +3761,7 @@ gulp-uglify@^3.0.2: uglify-js "^3.0.5" vinyl-sourcemaps-apply "^0.2.0" -gulp@^5.0.0: +gulp@^5.0.0, gulp@>=4: version "5.0.0" resolved "https://registry.npmjs.org/gulp/-/gulp-5.0.0.tgz" integrity sha512-S8Z8066SSileaYw1S2N1I64IUc/myI2bqe2ihOBzO6+nKpvNSg7ZcWJt/AwF8LC/NVN+/QZ560Cb/5OPsyhkhg== @@ -3847,7 +3787,7 @@ gulplog@^2.2.0: handlebars@>=3.0.0: version "4.7.9" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.9.tgz#6f139082ab58dc4e5a0e51efe7db5ae890d56a0f" + resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz" integrity sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ== dependencies: minimist "^1.2.5" @@ -3886,19 +3826,9 @@ has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-symbols@^1.1.0: +has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: @@ -3915,7 +3845,7 @@ has-unicode@^2.0.1: hash-base@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" + resolved "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz" integrity sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw== dependencies: inherits "^2.0.1" @@ -4039,14 +3969,6 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -iconv-corefoundation@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a" - integrity sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ== - dependencies: - cli-truncate "^2.1.0" - node-addon-api "^1.6.3" - iconv-lite@^0.6.2, iconv-lite@^0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" @@ -4104,7 +4026,7 @@ inferno-vnode-flags@8.2.3: resolved "https://registry.npmjs.org/inferno-vnode-flags/-/inferno-vnode-flags-8.2.3.tgz" integrity sha512-dfC0MIwFv9PCbZCUsuk9ISejFS3fKJODC0rZ/LjxxzE+OrCk+PMwPLsUnGU6O9/jbBnPACVz1BkACDf5LWgU5Q== -inferno@8.2.3, inferno@^8.0.3: +inferno@^8.0.3, inferno@8.2.3: version "8.2.3" resolved "https://registry.npmjs.org/inferno/-/inferno-8.2.3.tgz" integrity sha512-LMeRlCe+RlXw8kHCLyOWRk2PsZ3Fo4jkESyAR1g4FfPT48N78i11YhTVXW2ukCx5MFjv+qrfa73JzJWU9sg4CQ== @@ -4121,7 +4043,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4, inherits@2: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4156,11 +4078,11 @@ insert-module-globals@^7.2.1: resolved "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz" integrity sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg== dependencies: - JSONStream "^1.0.3" acorn-node "^1.5.2" combine-source-map "^0.8.0" concat-stream "^1.6.1" is-buffer "^1.1.0" + JSONStream "^1.0.3" path-is-absolute "^1.0.1" process "~0.11.0" through2 "^2.0.0" @@ -4208,7 +4130,7 @@ is-buffer@^1.1.0: resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.3, is-callable@^1.2.7: +is-callable@^1.2.7: version "1.2.7" resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== @@ -4297,20 +4219,13 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-typed-array@^1.1.14: +is-typed-array@^1.1.14, is-typed-array@^1.1.3: version "1.1.15" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz" integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== dependencies: which-typed-array "^1.1.16" -is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - is-unc-path@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz" @@ -4333,14 +4248,9 @@ is-windows@^1.0.1: resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - isarray@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isarray@~1.0.0: @@ -4348,6 +4258,11 @@ isarray@~1.0.0: resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + isbinaryfile@^4.0.8: version "4.0.10" resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz" @@ -4399,7 +4314,7 @@ js-tokens@^4.0.0: js-yaml@^4.1.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz" integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== dependencies: argparse "^2.0.1" @@ -4493,6 +4408,14 @@ jsonparse@^1.2.0: resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== +JSONStream@^1.0.3: + version "1.3.5" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + jspot@^0.3.17: version "0.3.17" resolved "https://registry.npmjs.org/jspot/-/jspot-0.3.17.tgz" @@ -4659,7 +4582,7 @@ lodash.uniq@^4.5.0: lodash@^4.17.15, lodash@^4.17.21: version "4.18.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz" integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== log-symbols@^2.2.0: @@ -4755,7 +4678,7 @@ markdown-it-anchor@^8.4.1: resolved "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz" integrity sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA== -markdown-it@^12.3.2: +markdown-it@*, markdown-it@^12.3.2: version "12.3.2" resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz" integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== @@ -4780,7 +4703,7 @@ matcher@^3.0.0: math-intrinsics@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== md5.js@^1.3.4: @@ -4862,28 +4785,63 @@ minimalistic-crypto-utils@^1.0.1: minimatch@^10.0.0: version "10.2.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.4.tgz#465b3accbd0218b8281f5301e27cedc697f96fde" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz" integrity sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg== dependencies: brace-expansion "^5.0.2" -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4: + version "3.1.5" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.0.5: version "3.1.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz" integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1, minimatch@^5.1.0: +minimatch@^3.1.1: + version "3.1.5" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.1.2: + version "3.1.5" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.9" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz" + integrity sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^5.1.0: version "5.1.9" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.9.tgz#1293ef15db0098b394540e8f9f744f9fda8dee4b" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz" integrity sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw== dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.3, minimatch@^9.0.4: +minimatch@^9.0.3: + version "9.0.9" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz" + integrity sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg== + dependencies: + brace-expansion "^2.0.2" + +minimatch@^9.0.4: version "9.0.9" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.9.tgz#9b0cb9fcb78087f6fd7eababe2511c4d3d60574e" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz" integrity sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg== dependencies: brace-expansion "^2.0.2" @@ -4939,12 +4897,17 @@ minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: dependencies: yallist "^4.0.0" +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.1.2" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + minipass@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: +minipass@^7.1.2: version "7.1.2" resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== @@ -4994,7 +4957,6 @@ module-deps@^6.2.3: resolved "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz" integrity sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA== dependencies: - JSONStream "^1.0.3" browser-resolve "^2.0.0" cached-path-relative "^1.0.2" concat-stream "~1.6.0" @@ -5002,6 +4964,7 @@ module-deps@^6.2.3: detective "^5.2.0" duplexer2 "^0.1.2" inherits "^2.0.1" + JSONStream "^1.0.3" parents "^1.0.0" readable-stream "^2.0.2" resolve "^1.4.0" @@ -5052,11 +5015,6 @@ node-abi@^3.45.0: dependencies: semver "^7.3.5" -node-addon-api@^1.6.3: - version "1.7.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" - integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== - node-api-version@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.0.tgz" @@ -5094,14 +5052,6 @@ node-releases@^2.0.18: resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz" integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== -nomnom@1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz" - integrity sha512-5s0JxqhDx9/rksG2BTMVN1enjWSvPidpoSgViZU4ZXULyTe+7jxcCRLB6f42Z0l1xYJpleCBtSyY6Lwg3uu5CQ== - dependencies: - chalk "~0.4.0" - underscore "~1.6.0" - nomnom@~1.6.2: version "1.6.2" resolved "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz" @@ -5110,6 +5060,14 @@ nomnom@~1.6.2: colors "0.5.x" underscore "~1.4.4" +nomnom@1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz" + integrity sha512-5s0JxqhDx9/rksG2BTMVN1enjWSvPidpoSgViZU4ZXULyTe+7jxcCRLB6f42Z0l1xYJpleCBtSyY6Lwg3uu5CQ== + dependencies: + chalk "~0.4.0" + underscore "~1.6.0" + nopt@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz" @@ -5117,7 +5075,7 @@ nopt@^6.0.0: dependencies: abbrev "^1.0.0" -normalize-path@3.0.0, normalize-path@^3.0.0, normalize-path@~3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0, normalize-path@3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -5155,7 +5113,7 @@ nunjucks@^3.2.0, nunjucks@^3.2.4: object-inspect@^1.13.3: version "1.13.4" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz" integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== object-keys@^1.0.6, object-keys@^1.1.1: @@ -5425,7 +5383,7 @@ path-scurry@^1.11.1: pbkdf2@^3.1.2: version "3.1.3" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.3.tgz#8be674d591d65658113424592a95d1517318dd4b" + resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz" integrity sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA== dependencies: create-hash "~1.1.3" @@ -5467,10 +5425,10 @@ picocolors@^1.0.0, picocolors@^1.1.0: picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz" integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== -plist@^3.0.4, plist@^3.0.5, plist@^3.1.0: +plist@^3.0.5, plist@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz" integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ== @@ -5500,14 +5458,6 @@ plugin-error@^1.0.1: arr-union "^3.1.0" extend-shallow "^3.0.2" -"po2json@github:mikeedwards/po2json#1.0.0-beta-3": - version "1.0.0-beta-3" - resolved "git+ssh://git@github.com/mikeedwards/po2json.git#47b1e913fba42b765068a481e38d7da3e93eb9f0" - dependencies: - commander "^6.0.0" - gettext-parser "2.0.0" - gettext-to-messageformat "0.3.1" - po2json@~0.4.1: version "0.4.5" resolved "https://registry.npmjs.org/po2json/-/po2json-0.4.5.tgz" @@ -5516,6 +5466,14 @@ po2json@~0.4.1: gettext-parser "1.1.0" nomnom "1.8.1" +"po2json@github:mikeedwards/po2json#1.0.0-beta-3": + version "1.0.0-beta-3" + resolved "git+ssh://git@github.com/mikeedwards/po2json.git#47b1e913fba42b765068a481e38d7da3e93eb9f0" + dependencies: + commander "^6.0.0" + gettext-parser "2.0.0" + gettext-to-messageformat "0.3.1" + possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" @@ -5594,7 +5552,7 @@ punycode@^2.1.0: qs@^6.12.3: version "6.14.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.2.tgz#b5634cf9d9ad9898e31fba3504e866e8efb6798c" + resolved "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz" integrity sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q== dependencies: side-channel "^1.1.0" @@ -5643,7 +5601,7 @@ read-only-stream@^2.0.0: dependencies: readable-stream "^2.0.2" -"readable-stream@2 || 3", readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@^2.3.8, readable-stream@~2.3.6: +readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@^2.3.8, readable-stream@~2.3.6, "readable-stream@2 || 3": version "2.3.8" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -5656,7 +5614,34 @@ read-only-stream@^2.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@~3.6.0: +readable-stream@^3.1.1: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^3.5.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^3.6.0, readable-stream@~3.6.0: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -5665,7 +5650,7 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdir-glob@^1.0.0: +readdir-glob@^1.0.0, readdir-glob@^1.1.2: version "1.1.3" resolved "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz" integrity sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== @@ -5854,14 +5839,6 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -ripemd160@=2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" - integrity sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w== - dependencies: - hash-base "^2.0.0" - inherits "^2.0.1" - ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" @@ -5870,6 +5847,14 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +ripemd160@=2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz" + integrity sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w== + dependencies: + hash-base "^2.0.0" + inherits "^2.0.1" + roarr@^2.15.3: version "2.15.4" resolved "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz" @@ -5941,7 +5926,27 @@ semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.6.3: +semver@^7.3.2: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.3.5: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.3.8: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.5.3: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.6.3: version "7.6.3" resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -5958,7 +5963,7 @@ set-blocking@^2.0.0: resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.2.1, set-function-length@^1.2.2: +set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== @@ -5977,7 +5982,7 @@ setimmediate@^1.0.5, setimmediate@~1.0.5: sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: version "2.4.12" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.12.tgz#eb8b568bf383dfd1867a32c3f2b74eb52bdbf23f" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz" integrity sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w== dependencies: inherits "^2.0.4" @@ -6010,7 +6015,7 @@ shell-quote@^1.6.1: side-channel-list@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + resolved "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz" integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: es-errors "^1.3.0" @@ -6018,7 +6023,7 @@ side-channel-list@^1.0.0: side-channel-map@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + resolved "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz" integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== dependencies: call-bound "^1.0.2" @@ -6028,7 +6033,7 @@ side-channel-map@^1.0.1: side-channel-weakmap@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + resolved "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz" integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== dependencies: call-bound "^1.0.2" @@ -6039,7 +6044,7 @@ side-channel-weakmap@^1.0.2: side-channel@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz" integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== dependencies: es-errors "^1.3.0" @@ -6075,16 +6080,7 @@ slashes@^3.0.12: resolved "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz" integrity sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA== -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -smart-buffer@^4.0.2, smart-buffer@^4.2.0: +smart-buffer@^4.2.0: version "4.2.0" resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== @@ -6119,7 +6115,12 @@ source-map@^0.5.1, source-map@~0.5.3: resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0, source-map@^0.6.1: +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -6216,9 +6217,9 @@ stream-splicer@^2.0.0: readable-stream "^2.0.2" streamx@^2.12.0, streamx@^2.12.5, streamx@^2.13.2, streamx@^2.14.0: - version "2.20.1" - resolved "https://registry.npmjs.org/streamx/-/streamx-2.20.1.tgz" - integrity sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA== + version "2.20.2" + resolved "https://registry.npmjs.org/streamx/-/streamx-2.20.2.tgz" + integrity sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA== dependencies: fast-fifo "^1.3.2" queue-tick "^1.0.1" @@ -6226,6 +6227,20 @@ streamx@^2.12.0, streamx@^2.12.5, streamx@^2.13.2, streamx@^2.14.0: optionalDependencies: bare-events "^2.2.0" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -6253,20 +6268,6 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - "strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" @@ -6372,7 +6373,7 @@ taffydb@2.6.2: resolved "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz" integrity sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA== -tar-stream@^2.1.4: +tar-stream@^2.1.4, tar-stream@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== @@ -6415,10 +6416,10 @@ text-decoder@^1.1.0: resolved "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz" integrity sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ== -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +"through@>=2.2.7 <3", through@~2.3.4: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== through2@^2.0.0, through2@^2.0.3: version "2.0.5" @@ -6436,11 +6437,6 @@ through2@^3.0.1: inherits "^2.0.4" readable-stream "2 || 3" -"through@>=2.2.7 <3", through@~2.3.4: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - time-stamp@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz" @@ -6460,6 +6456,11 @@ tmp-promise@^3.0.2: dependencies: tmp "^0.2.0" +tmp@^0.2.0, tmp@^0.2.4: + version "0.2.4" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz" + integrity sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ== + tmp@0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz" @@ -6467,14 +6468,9 @@ tmp@0.1.0: dependencies: rimraf "^2.6.3" -tmp@^0.2.0, tmp@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.4.tgz#c6db987a2ccc97f812f17137b36af2b6521b0d13" - integrity sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ== - to-buffer@^1.2.0: version "1.2.1" - resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.2.1.tgz#2ce650cdb262e9112a18e65dc29dcb513c8155e0" + resolved "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz" integrity sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ== dependencies: isarray "^2.0.5" @@ -6531,7 +6527,7 @@ type-fest@^0.13.1: typed-array-buffer@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz" integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== dependencies: call-bound "^1.0.3" @@ -6727,15 +6723,6 @@ value-or-function@^4.0.0: resolved "https://registry.npmjs.org/value-or-function/-/value-or-function-4.0.0.tgz" integrity sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg== -verror@^1.10.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz#4bf09eeccf4563b109ed4b3d458380c972b0cdeb" - integrity sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - vinyl-buffer@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/vinyl-buffer/-/vinyl-buffer-1.0.1.tgz" @@ -6834,20 +6821,9 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -which-typed-array@^1.1.14, which-typed-array@^1.1.2: - version "1.1.15" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - -which-typed-array@^1.1.16: +which-typed-array@^1.1.16, which-typed-array@^1.1.2: version "1.1.19" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz" integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== dependencies: available-typed-arrays "^1.0.7" @@ -6921,7 +6897,7 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -xmlbuilder@>=11.0.1, xmlbuilder@^15.1.1: +xmlbuilder@^15.1.1: version "15.1.1" resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz" integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== @@ -7005,7 +6981,7 @@ yoctodelay@^1.1.0: resolved "https://registry.npmjs.org/yoctodelay/-/yoctodelay-1.2.0.tgz" integrity sha512-12y/P9MSig9/5BEhBgylss+fkHiCRZCvYR81eH35NW9uw801cvJt31EAV+WOLcwZRZbLiIQl/hxcdXXXFmGvXg== -zip-stream@^4.0.4: +zip-stream@^4.0.4, zip-stream@^4.1.0: version "4.1.1" resolved "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz" integrity sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==