diff --git a/Makefile b/Makefile index d1400a5ee5a77d760e6fffa03d3134f3e34e928c..1263639fe2e1596f5682efaf863fddee09e478d4 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,7 @@ include $(MAKEFILE_IMPORT_PATH)directories-standard.mk #include $(MAKEFILE_IMPORT_PATH)directories-go-lib.mk #include $(MAKEFILE_IMPORT_PATH)directories-go-utilities.mk #include $(MAKEFILE_IMPORT_PATH)directories-platform-part.mk +include $(MAKEFILE_IMPORT_PATH)go.mk include $(MAKEFILE_IMPORT_PATH)jsdoc.mk include $(MAKEFILE_IMPORT_PATH)output.mk include $(MAKEFILE_IMPORT_PATH)placeholder.mk @@ -59,7 +60,6 @@ include $(MAKEFILE_IMPORT_PATH)license-agpl3.mk #include $(MAKEFILE_IMPORT_PATH)license-unlicensed.mk #include $(MAKEFILE_IMPORT_PATH)license-all-rights-reserved.mk include $(MAKEFILE_IMPORT_PATH)jsdoc-json.mk -include $(MAKEFILE_IMPORT_PATH)go.mk include $(MAKEFILE_IMPORT_PATH)changelog.mk #include $(MAKEFILE_IMPORT_PATH)docman.mk #include $(MAKEFILE_IMPORT_PATH)reqman.mk diff --git a/application/source/data/datasource/server/restapi.mjs b/application/source/data/datasource/server/restapi.mjs index fcb5f47964c9313f8345e16f817e323e6b6e1583..d476fbc96b2088a6206bc6ed37e3d9405161970b 100644 --- a/application/source/data/datasource/server/restapi.mjs +++ b/application/source/data/datasource/server/restapi.mjs @@ -5,13 +5,13 @@ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html */ -import {internalSymbol, instanceSymbol} from "../../../constants.mjs"; -import {isObject, isFunction} from "../../../types/is.mjs"; -import {Server} from "../server.mjs"; -import {WriteError} from "./restapi/writeerror.mjs"; -import {DataFetchError} from "./restapi/data-fetch-error.mjs"; +import { internalSymbol, instanceSymbol } from "../../../constants.mjs"; +import { isObject, isFunction } from "../../../types/is.mjs"; +import { Server } from "../server.mjs"; +import { WriteError } from "./restapi/writeerror.mjs"; +import { DataFetchError } from "./restapi/data-fetch-error.mjs"; -export {RestAPI}; +export { RestAPI }; /** * @type {symbol} @@ -189,7 +189,10 @@ function fetchData(init, key, callback) { const acceptedStatus = self.getOption(`${key}.acceptedStatus`, [200]); if (acceptedStatus.indexOf(resp.status) === -1) { - throw new DataFetchError(`the response does not contain a accepted status (actual: ${resp.status}).`, response); + throw new DataFetchError( + `the response does not contain a accepted status (actual: ${resp.status}).`, + response, + ); } return resp.text(); diff --git a/application/source/data/datasource/server/restapi/data-fetch-error.mjs b/application/source/data/datasource/server/restapi/data-fetch-error.mjs index 1c99f6d8ed7701320a059605137e038253a8c1e9..1e8b7c69427ad7101b0fe1135aca6a87b1eb17bc 100644 --- a/application/source/data/datasource/server/restapi/data-fetch-error.mjs +++ b/application/source/data/datasource/server/restapi/data-fetch-error.mjs @@ -27,7 +27,7 @@ class DataFetchError extends Error { constructor(message, response) { super(message); this[internalSymbol] = { - response: response + response: response, }; } @@ -46,5 +46,4 @@ class DataFetchError extends Error { getResponse() { return this[internalSymbol]["response"]; } - } diff --git a/application/source/data/transformer.mjs b/application/source/data/transformer.mjs index a7cfa53eeeedd10571b0078e47e6f99a0e0d5771..72f7d3119874e35b79bd786efcda937db7e31c32 100644 --- a/application/source/data/transformer.mjs +++ b/application/source/data/transformer.mjs @@ -5,12 +5,12 @@ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html */ -import {getLocaleOfDocument} from "../dom/locale.mjs"; -import {Base} from "../types/base.mjs"; -import {getGlobal, getGlobalObject} from "../types/global.mjs"; -import {ID} from "../types/id.mjs"; -import {isArray, isObject, isString, isPrimitive} from "../types/is.mjs"; -import {getDocumentTranslations, Translations} from "../i18n/translations.mjs"; +import { getLocaleOfDocument } from "../dom/locale.mjs"; +import { Base } from "../types/base.mjs"; +import { getGlobal, getGlobalObject } from "../types/global.mjs"; +import { ID } from "../types/id.mjs"; +import { isArray, isObject, isString, isPrimitive } from "../types/is.mjs"; +import { getDocumentTranslations, Translations } from "../i18n/translations.mjs"; import { validateFunction, validateInteger, @@ -19,10 +19,10 @@ import { validateString, validateBoolean, } from "../types/validate.mjs"; -import {clone} from "../util/clone.mjs"; -import {Pathfinder} from "./pathfinder.mjs"; +import { clone } from "../util/clone.mjs"; +import { Pathfinder } from "./pathfinder.mjs"; -export {Transformer}; +export { Transformer }; /** * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up. @@ -674,7 +674,6 @@ function transform(value) { } case "datetimeformat": - date = new Date(value); if (isNaN(date.getTime())) { throw new Error("invalid date"); @@ -687,7 +686,7 @@ function transform(value) { try { locale = getLocaleOfDocument(); - return new Intl.DateTimeFormat(locale, options).format(date) + return new Intl.DateTimeFormat(locale, options).format(date); } catch (e) { throw new Error(`unsupported locale or missing format (${e.message})`); } diff --git a/application/source/dom/constants.mjs b/application/source/dom/constants.mjs index ec7c7c2bfe336ee02743c005cd655073ea3f9e1d..a3fe1b99271636f3b5a3bf1cf0c1568b884def36 100644 --- a/application/source/dom/constants.mjs +++ b/application/source/dom/constants.mjs @@ -61,7 +61,7 @@ export { customElementUpdaterLinkSymbol, initControlCallbackName, ATTRIBUTE_SCRIPT_HOST, - ATTRIBUTE_INIT_CALLBACK + ATTRIBUTE_INIT_CALLBACK, }; /** diff --git a/application/source/dom/customcontrol.mjs b/application/source/dom/customcontrol.mjs index f668b82c3eeee349d41853978ee38c87200d3b0b..d853f1c926d9df05e838cd331b8c5381ceda8367 100644 --- a/application/source/dom/customcontrol.mjs +++ b/application/source/dom/customcontrol.mjs @@ -5,13 +5,13 @@ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html */ -import {extend} from "../data/extend.mjs"; -import {addAttributeToken} from "./attributes.mjs"; -import {ATTRIBUTE_ERRORMESSAGE} from "./constants.mjs"; -import {CustomElement, attributeObserverSymbol} from "./customelement.mjs"; -import {instanceSymbol} from "../constants.mjs"; +import { extend } from "../data/extend.mjs"; +import { addAttributeToken } from "./attributes.mjs"; +import { ATTRIBUTE_ERRORMESSAGE } from "./constants.mjs"; +import { CustomElement, attributeObserverSymbol } from "./customelement.mjs"; +import { instanceSymbol } from "../constants.mjs"; -export {CustomControl}; +export { CustomControl }; /** * @private @@ -42,19 +42,18 @@ const attachedInternalSymbol = Symbol("attachedInternal"); * Read the HTML specification for Custom Element Reactions: {@link https://html.spec.whatwg.org/dev/custom-elements.html#custom-element-reactions|Custom Element Reactions}. * * @summary A base class for custom controls based on CustomElement. - * @copyright schukai GmbH + * @copyright schukai GmbH * @license AGPLv3 * @since 1.14.0 * @memberOf Monster.DOM * @extends Monster.DOM.CustomElement */ class CustomControl extends CustomElement { - /** * The constructor method of CustomControl, which is called when creating a new instance. * It checks whether the element supports `attachInternals()` and initializes an internal form-associated element * if supported. Additionally, it initializes a MutationObserver to watch for attribute changes. - * + * * See the links below for more information: * {@link https://html.spec.whatwg.org/multipage/custom-elements.html#dom-customelementregistry-define|CustomElementRegistry.define()} * {@link https://html.spec.whatwg.org/multipage/custom-elements.html#dom-customelementregistry-get|CustomElementRegistry.get()} @@ -79,7 +78,6 @@ class CustomControl extends CustomElement { initObserver.call(this); } - /** * This method is called by the `instanceof` operator. * @returns {symbol} @@ -142,7 +140,6 @@ class CustomControl extends CustomElement { throw Error("the value setter must be overwritten by the derived class"); } - /** * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals) * @@ -327,14 +324,11 @@ class CustomControl extends CustomElement { } } - /** * @param {string} state * @param {string} mode */ - formStateRestoreCallback(state, mode) { - - } + formStateRestoreCallback(state, mode) {} /** * @@ -342,7 +336,6 @@ class CustomControl extends CustomElement { formResetCallback() { this.value = ""; } - } /** diff --git a/application/source/dom/customelement.mjs b/application/source/dom/customelement.mjs index ed717c30502085c10ed7cef306bcde1368c50491..ba2afd73073dd169b2465e49965a403b2d24ccf3 100644 --- a/application/source/dom/customelement.mjs +++ b/application/source/dom/customelement.mjs @@ -5,20 +5,20 @@ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html */ -import {findElementWithIdUpwards} from "./util.mjs"; -import {internalSymbol} from "../constants.mjs"; -import {extend} from "../data/extend.mjs"; -import {Pathfinder} from "../data/pathfinder.mjs"; -import {Formatter} from "../text/formatter.mjs"; - -import {parseDataURL} from "../types/dataurl.mjs"; -import {getGlobalObject} from "../types/global.mjs"; -import {isArray, isFunction, isIterable, isObject, isString} from "../types/is.mjs"; -import {Observer} from "../types/observer.mjs"; -import {ProxyObserver} from "../types/proxyobserver.mjs"; -import {validateFunction, validateInstance, validateObject, validateString} from "../types/validate.mjs"; -import {clone} from "../util/clone.mjs"; -import {addAttributeToken, getLinkedObjects, hasObjectLink} from "./attributes.mjs"; +import { findElementWithIdUpwards } from "./util.mjs"; +import { internalSymbol } from "../constants.mjs"; +import { extend } from "../data/extend.mjs"; +import { Pathfinder } from "../data/pathfinder.mjs"; +import { Formatter } from "../text/formatter.mjs"; + +import { parseDataURL } from "../types/dataurl.mjs"; +import { getGlobalObject } from "../types/global.mjs"; +import { isArray, isFunction, isIterable, isObject, isString } from "../types/is.mjs"; +import { Observer } from "../types/observer.mjs"; +import { ProxyObserver } from "../types/proxyobserver.mjs"; +import { validateFunction, validateInstance, validateObject, validateString } from "../types/validate.mjs"; +import { clone } from "../util/clone.mjs"; +import { addAttributeToken, getLinkedObjects, hasObjectLink } from "./attributes.mjs"; import { ATTRIBUTE_DISABLED, ATTRIBUTE_ERRORMESSAGE, @@ -27,15 +27,15 @@ import { ATTRIBUTE_OPTIONS_SELECTOR, ATTRIBUTE_SCRIPT_HOST, customElementUpdaterLinkSymbol, - initControlCallbackName + initControlCallbackName, } from "./constants.mjs"; -import {findDocumentTemplate, Template} from "./template.mjs"; -import {addObjectWithUpdaterToElement} from "./updater.mjs"; -import {instanceSymbol} from "../constants.mjs"; -import {getDocumentTranslations, Translations} from "../i18n/translations.mjs"; -import {getSlottedElements} from "./slotted.mjs"; -import {initOptionsFromAttributes} from "./util/init-options-from-attributes.mjs"; -import {setOptionFromAttribute} from "./util/set-option-from-attribute.mjs"; +import { findDocumentTemplate, Template } from "./template.mjs"; +import { addObjectWithUpdaterToElement } from "./updater.mjs"; +import { instanceSymbol } from "../constants.mjs"; +import { getDocumentTranslations, Translations } from "../i18n/translations.mjs"; +import { getSlottedElements } from "./slotted.mjs"; +import { initOptionsFromAttributes } from "./util/init-options-from-attributes.mjs"; +import { setOptionFromAttribute } from "./util/set-option-from-attribute.mjs"; export { CustomElement, @@ -188,7 +188,7 @@ const scriptHostElementSymbol = Symbol("scriptHostElement"); * display: flex; * } * ``` - * + * * More information about Custom Elements can be found in the [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements). * And in the [HTML Standard](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements) or in the [WHATWG Wiki](https://wiki.whatwg.org/wiki/Custom_Elements). * @@ -204,7 +204,7 @@ class CustomElement extends HTMLElement { /** * A new object is created. First the `initOptions` method is called. Here the * options can be defined in derived classes. Subsequently, the shadowRoot is initialized. - * + * * IMPORTANT: CustomControls instances are not created via the constructor, but either via a tag in the HTML or via <code>document.createElement()</code>. * * @throws {Error} the options attribute does not contain a valid json definition. @@ -220,7 +220,6 @@ class CustomElement extends HTMLElement { this[initMethodSymbol](); initOptionObserver.call(this); this[scriptHostElementSymbol] = []; - } /** @@ -279,7 +278,7 @@ class CustomElement extends HTMLElement { * More information about the template element can be found in the [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template). * * More information about the slot element can be found in the [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot). - * + * * @property {boolean} disabled=false Specifies whether the control is disabled. When present, it makes the element non-mutable, non-focusable, and non-submittable with the form. * @property {string} shadowMode=open Specifies the mode of the shadow root. When set to `open`, elements in the shadow root are accessible from JavaScript outside the root, while setting it to `closed` denies access to the root's nodes from JavaScript outside it. * @property {Boolean} delegatesFocus=true Specifies the behavior of the control with respect to focusability. When set to `true`, it mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. @@ -352,11 +351,11 @@ class CustomElement extends HTMLElement { } /** - * The `getTag()` method returns the tag name associated with the custom element. This method should be overwritten + * The `getTag()` method returns the tag name associated with the custom element. This method should be overwritten * by the derived class. * - * Note that there is no check on the name of the tag in this class. It is the responsibility of - * the developer to assign an appropriate tag name. If the name is not valid, the + * Note that there is no check on the name of the tag in this class. It is the responsibility of + * the developer to assign an appropriate tag name. If the name is not valid, the * `registerCustomElement()` method will issue an error. * * @see https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name @@ -369,7 +368,7 @@ class CustomElement extends HTMLElement { } /** - * The `getCSSStyleSheet()` method returns a `CSSStyleSheet` object that defines the styles for the custom element. + * The `getCSSStyleSheet()` method returns a `CSSStyleSheet` object that defines the styles for the custom element. * If the environment does not support the `CSSStyleSheet` constructor, then an object can be built using the provided detour. * * If `undefined` is returned, then the shadow root does not receive a stylesheet. @@ -384,7 +383,7 @@ class CustomElement extends HTMLElement { * } * ``` * - * If the environment does not support the `CSSStyleSheet` constructor, + * If the environment does not support the `CSSStyleSheet` constructor, * you can use the following workaround to create the stylesheet: * * ```js @@ -445,8 +444,7 @@ class CustomElement extends HTMLElement { try { value = new Pathfinder(this[internalSymbol].getRealSubject()["options"]).getVia(path); - } catch (e) { - } + } catch (e) {} if (value === undefined) return defaultValue; return value; @@ -574,22 +572,18 @@ class CustomElement extends HTMLElement { // Check if the object has already been initialized if (!hasObjectLink(self, customElementUpdaterLinkSymbol)) { - // If not, call the assembleMethod to initialize the object self[assembleMethodSymbol](); } } - - /** * Called every time the element is removed from the DOM. Useful for running clean up code. * * @return {void} * @since 1.7.0 */ - disconnectedCallback() { - } + disconnectedCallback() {} /** * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)). @@ -597,8 +591,7 @@ class CustomElement extends HTMLElement { * @return {void} * @since 1.7.0 */ - adoptedCallback() { - } + adoptedCallback() {} /** * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial @@ -615,7 +608,7 @@ class CustomElement extends HTMLElement { const self = this; if (attrName.startsWith("data-monster-option-")) { - setOptionFromAttribute(self, attrName, this[internalSymbol].getSubject()["options"]) + setOptionFromAttribute(self, attrName, this[internalSymbol].getSubject()["options"]); } const callback = self[attributeObserverSymbol]?.[attrName]; @@ -625,7 +618,6 @@ class CustomElement extends HTMLElement { } catch (e) { addAttributeToken(self, ATTRIBUTE_ERRORMESSAGE, e.toString()); } - } } @@ -652,7 +644,7 @@ class CustomElement extends HTMLElement { /** * Calls a callback function if it exists. - * + * * @param {string} name * @param {*} args * @returns {*} @@ -661,8 +653,6 @@ class CustomElement extends HTMLElement { const self = this; return callControlCallback.call(self, name, ...args); } - - } /** @@ -679,7 +669,6 @@ function callControlCallback(callBackFunctionName, ...args) { if (callBackFunctionName in self) { return self[callBackFunctionName](self, ...args); - } if (!self.hasAttribute(ATTRIBUTE_SCRIPT_HOST)) { @@ -687,13 +676,12 @@ function callControlCallback(callBackFunctionName, ...args) { } if (self[scriptHostElementSymbol].length === 0) { - const targetId = self.getAttribute(ATTRIBUTE_SCRIPT_HOST); if (!targetId) { return; } - const list = targetId.split(",") + const list = targetId.split(","); for (const id of list) { const host = findElementWithIdUpwards(self, targetId); if (!(host instanceof HTMLElement)) { @@ -715,7 +703,6 @@ function callControlCallback(callBackFunctionName, ...args) { } addAttributeToken(self, ATTRIBUTE_ERRORMESSAGE, `callback ${callBackFunctionName} not found`); - } /** @@ -746,7 +733,6 @@ function initFromCallbackHost() { callControlCallback.call(self, callBackFunctionName); } - /** * This method is called when the element is first created. * @@ -763,7 +749,11 @@ function attachAttributeChangeMutationObserver() { self[attributeMutationObserverSymbol] = new MutationObserver(function (mutations, observer) { for (const mutation of mutations) { if (mutation.type === "attributes") { - self.attributeChangedCallback(mutation.attributeName, mutation.oldValue, mutation.target.getAttribute(mutation.attributeName)); + self.attributeChangedCallback( + mutation.attributeName, + mutation.oldValue, + mutation.target.getAttribute(mutation.attributeName), + ); } } }); @@ -773,7 +763,6 @@ function attachAttributeChangeMutationObserver() { attributes: true, attributeOldValue: true, }); - } catch (e) { addAttributeToken(self, ATTRIBUTE_ERRORMESSAGE, e.toString()); } @@ -971,8 +960,7 @@ function parseOptionsJSON(data) { try { let dataUrl = parseDataURL(data); data = dataUrl.content; - } catch (e) { - } + } catch (e) {} try { obj = JSON.parse(data); diff --git a/application/source/dom/dimension.mjs b/application/source/dom/dimension.mjs index cd9b35699f059be5a314f715600a629e3f415c1e..07ef3c5da9250b73a55691b622cec44f4fa866d6 100644 --- a/application/source/dom/dimension.mjs +++ b/application/source/dom/dimension.mjs @@ -75,10 +75,8 @@ function getDeviceDPI() { */ function convertToPixels(value, parentElement = document.documentElement, fontSizeElement = document.documentElement) { - validateString(value); - - + const regex = /^(-?[\d.]+)(.*)$/; const matchResult = value.match(regex); diff --git a/application/source/dom/util.mjs b/application/source/dom/util.mjs index 5f9a6729ae333aa065a8cb6bf2ce3e13ce2b3048..7e7c2ff2f4c1b8f58203dc931e231511967fd5ca 100644 --- a/application/source/dom/util.mjs +++ b/application/source/dom/util.mjs @@ -8,7 +8,7 @@ import { getGlobal } from "../types/global.mjs"; import { validateString } from "../types/validate.mjs"; -export { getDocument, getWindow, getDocumentFragmentFromString, findElementWithIdUpwards,getContainingDocument }; +export { getDocument, getWindow, getDocumentFragmentFromString, findElementWithIdUpwards, getContainingDocument }; /** * This method fetches the document object @@ -209,7 +209,11 @@ function traverseShadowRoots(element) { let currentRoot = element.shadowRoot; let currentParent = element.parentNode; - while (currentParent && currentParent.nodeType !== Node.DOCUMENT_NODE && currentParent.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) { + while ( + currentParent && + currentParent.nodeType !== Node.DOCUMENT_NODE && + currentParent.nodeType !== Node.DOCUMENT_FRAGMENT_NODE + ) { if (currentRoot && currentRoot.parentNode) { currentParent = currentRoot.parentNode; currentRoot = currentParent.shadowRoot; @@ -238,8 +242,11 @@ function traverseShadowRoots(element) { * @since 3.36.0 */ function getContainingDocument(element) { - if (!element || !(element instanceof HTMLElement || element instanceof element.ownerDocument.defaultView.HTMLElement)) { - throw new Error('Invalid argument. Expected an HTMLElement.'); + if ( + !element || + !(element instanceof HTMLElement || element instanceof element.ownerDocument.defaultView.HTMLElement) + ) { + throw new Error("Invalid argument. Expected an HTMLElement."); } return traverseShadowRoots(element) || null; diff --git a/application/source/dom/util/extract-keys.mjs b/application/source/dom/util/extract-keys.mjs index d2a28d6dc8beb05f7131b856d66fe72ef9e206e2..a95989102dcb504e7c435abba29c5bbb97b7923d 100644 --- a/application/source/dom/util/extract-keys.mjs +++ b/application/source/dom/util/extract-keys.mjs @@ -5,7 +5,7 @@ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html */ -export {extractKeys} +export { extractKeys }; /** * Extracts the keys from the given object and returns a map with the keys and values. @@ -17,17 +17,21 @@ export {extractKeys} * @param {string} valueSeparator * @returns {Map<any, any>} */ -function extractKeys(obj, keyPrefix = '', keySeparator = '-', valueSeparator = '.') { +function extractKeys(obj, keyPrefix = "", keySeparator = "-", valueSeparator = ".") { const resultMap = new Map(); function helper(currentObj, currentKeyPrefix, currentValuePrefix) { for (const key in currentObj) { - if (typeof currentObj[key] === 'object' && !Array.isArray(currentObj[key])) { - const newKeyPrefix = currentKeyPrefix ? currentKeyPrefix + keySeparator + key.toLowerCase() : key.toLowerCase(); + if (typeof currentObj[key] === "object" && !Array.isArray(currentObj[key])) { + const newKeyPrefix = currentKeyPrefix + ? currentKeyPrefix + keySeparator + key.toLowerCase() + : key.toLowerCase(); const newValuePrefix = currentValuePrefix ? currentValuePrefix + valueSeparator + key : key; helper(currentObj[key], newKeyPrefix, newValuePrefix); } else { - const finalKey = currentKeyPrefix ? currentKeyPrefix + keySeparator + key.toLowerCase() : key.toLowerCase(); + const finalKey = currentKeyPrefix + ? currentKeyPrefix + keySeparator + key.toLowerCase() + : key.toLowerCase(); const finalValue = currentValuePrefix ? currentValuePrefix + valueSeparator + key : key; resultMap.set(finalKey, finalValue); } @@ -36,4 +40,4 @@ function extractKeys(obj, keyPrefix = '', keySeparator = '-', valueSeparator = ' helper(obj, keyPrefix, keyPrefix); return resultMap; -} \ No newline at end of file +} diff --git a/application/source/dom/util/init-options-from-attributes.mjs b/application/source/dom/util/init-options-from-attributes.mjs index 6f4c9d6419c36a36ec8618a9fc118c275d6c3e67..71580077ab749210b03e66a02313ab0041882e26 100644 --- a/application/source/dom/util/init-options-from-attributes.mjs +++ b/application/source/dom/util/init-options-from-attributes.mjs @@ -5,12 +5,12 @@ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html */ -import {Pathfinder} from '../../data/pathfinder.mjs'; -import {isFunction} from '../../types/is.mjs'; -import {attributeObserverSymbol} from "../customelement.mjs"; -import {extractKeys} from "./extract-keys.mjs"; +import { Pathfinder } from "../../data/pathfinder.mjs"; +import { isFunction } from "../../types/is.mjs"; +import { attributeObserverSymbol } from "../customelement.mjs"; +import { extractKeys } from "./extract-keys.mjs"; -export {initOptionsFromAttributes}; +export { initOptionsFromAttributes }; /** * Initializes the given options object based on the attributes of the current DOM element. @@ -29,7 +29,7 @@ export {initOptionsFromAttributes}; * // e.g. <div data-monster-option-foo="foo"></div> * 'bar.baz': (value) => value + 'bar' * // the value of the attribute 'data-monster-option-bar-baz' is appended with 'bar' - * // and assigned to the 'bar.baz' property in the options object. + * // and assigned to the 'bar.baz' property in the options object. * // e.g. <div data-monster-option-bar-baz="foo"></div> * } * @@ -41,7 +41,7 @@ export {initOptionsFromAttributes}; * @returns {Object} - The initialized options object. * @this HTMLElement - The context of the DOM element. */ -function initOptionsFromAttributes(element, options, mapping = {}, prefix = 'data-monster-option-') { +function initOptionsFromAttributes(element, options, mapping = {}, prefix = "data-monster-option-") { if (!(element instanceof HTMLElement)) return options; if (!element.hasAttributes()) return options; @@ -52,7 +52,7 @@ function initOptionsFromAttributes(element, options, mapping = {}, prefix = 'dat element.getAttributeNames().forEach((name) => { if (!name.startsWith(prefix)) return; - // check if the attribute name is a valid option. + // check if the attribute name is a valid option. // the mapping between the attribute is simple. The dash is replaced by a dot. // e.g. data-monster-url => url const optionName = keyMap.get(name.substring(prefix.length).toLowerCase()); @@ -65,21 +65,19 @@ function initOptionsFromAttributes(element, options, mapping = {}, prefix = 'dat } const typeOfOptionValue = typeof finder.getVia(optionName); - if (typeOfOptionValue === 'boolean') { - value = value === 'true'; - } else if (typeOfOptionValue === 'number') { + if (typeOfOptionValue === "boolean") { + value = value === "true"; + } else if (typeOfOptionValue === "number") { value = Number(value); - } else if (typeOfOptionValue === 'string') { + } else if (typeOfOptionValue === "string") { value = String(value); - } else if (typeOfOptionValue === 'object') { + } else if (typeOfOptionValue === "object") { value = JSON.parse(value); } finder.setVia(optionName, value); } - }) + }); return options; } - - diff --git a/application/source/dom/util/set-option-from-attribute.mjs b/application/source/dom/util/set-option-from-attribute.mjs index fe39a793697d41f8f528639583e6cba9ed28c32c..21448b1a83e6ce4a510ef5207522733ecb861db0 100644 --- a/application/source/dom/util/set-option-from-attribute.mjs +++ b/application/source/dom/util/set-option-from-attribute.mjs @@ -5,12 +5,12 @@ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html */ -import {Pathfinder} from '../../data/pathfinder.mjs'; -import {isFunction} from '../../types/is.mjs'; -import {attributeObserverSymbol} from "../customelement.mjs"; -import {extractKeys} from "./extract-keys.mjs"; +import { Pathfinder } from "../../data/pathfinder.mjs"; +import { isFunction } from "../../types/is.mjs"; +import { attributeObserverSymbol } from "../customelement.mjs"; +import { extractKeys } from "./extract-keys.mjs"; -export {setOptionFromAttribute}; +export { setOptionFromAttribute }; /** * Set the given options object based on the attributes of the current DOM element. @@ -29,7 +29,7 @@ export {setOptionFromAttribute}; * // e.g. <div data-monster-option-foo="foo"></div> * 'bar.baz': (value) => value + 'bar' * // the value of the attribute 'data-monster-option-bar-baz' is appended with 'bar' - * // and assigned to the 'bar.baz' property in the options object. + * // and assigned to the 'bar.baz' property in the options object. * // e.g. <div data-monster-option-bar-baz="foo"></div> * } * @@ -42,14 +42,14 @@ export {setOptionFromAttribute}; * @returns {Object} - The initialized options object. * @this HTMLElement - The context of the DOM element. */ -function setOptionFromAttribute(element, name, options, mapping = {}, prefix = 'data-monster-option-') { +function setOptionFromAttribute(element, name, options, mapping = {}, prefix = "data-monster-option-") { if (!(element instanceof HTMLElement)) return options; if (!element.hasAttributes()) return options; - + const keyMap = extractKeys(options); const finder = new Pathfinder(options); - // check if the attribute name is a valid option. + // check if the attribute name is a valid option. // the mapping between the attribute is simple. The dash is replaced by a dot. // e.g. data-monster-url => url const optionName = keyMap.get(name.substring(prefix.length).toLowerCase()); @@ -65,13 +65,13 @@ function setOptionFromAttribute(element, name, options, mapping = {}, prefix = ' } const typeOfOptionValue = typeof finder.getVia(optionName); - if (typeOfOptionValue === 'boolean') { - value = value === 'true'; - } else if (typeOfOptionValue === 'number') { + if (typeOfOptionValue === "boolean") { + value = value === "true"; + } else if (typeOfOptionValue === "number") { value = Number(value); - } else if (typeOfOptionValue === 'string') { + } else if (typeOfOptionValue === "string") { value = String(value); - } else if (typeOfOptionValue === 'object') { + } else if (typeOfOptionValue === "object") { value = JSON.parse(value); } @@ -79,5 +79,3 @@ function setOptionFromAttribute(element, name, options, mapping = {}, prefix = ' return options; } - - diff --git a/application/source/logging/handler/console.mjs b/application/source/logging/handler/console.mjs index d06bdb76819ea51f8712c972aac8cf34d97cc144..d63afce6a57d36dd326a9fc4e0e64f4824e138e1 100644 --- a/application/source/logging/handler/console.mjs +++ b/application/source/logging/handler/console.mjs @@ -21,10 +21,6 @@ export { ConsoleHandler }; * @memberOf Monster.Logging.Handler */ class ConsoleHandler extends Handler { - constructor() { - super(); - } - /** * This is the central log function. this method must be * overwritten by derived handlers with their own logic. diff --git a/application/source/text/bracketed-key-value-hash.mjs b/application/source/text/bracketed-key-value-hash.mjs index dc5f39b6fdb056ea760977fb3746be97eb9fad52..55831dcba442b88cc2727199eedf92c008bd4a24 100644 --- a/application/source/text/bracketed-key-value-hash.mjs +++ b/application/source/text/bracketed-key-value-hash.mjs @@ -5,7 +5,7 @@ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html */ -export {parseBracketedKeyValueHash, createBracketedKeyValueHash} +export { parseBracketedKeyValueHash, createBracketedKeyValueHash }; /** * Parses a string containing bracketed key-value pairs and returns an object representing the parsed result. @@ -49,8 +49,7 @@ function parseBracketedKeyValueHash(hashString) { //const keyValueStack = []; const trimmedHashString = hashString.trim(); - const cleanedHashString = trimmedHashString.charAt(0) === '#' ? trimmedHashString.slice(1) : trimmedHashString; - + const cleanedHashString = trimmedHashString.charAt(0) === "#" ? trimmedHashString.slice(1) : trimmedHashString; //const selectors = (keyValueStack.length > 0) ? result[selectorStack[selectorStack.length - 1]] : result; let currentSelector = ""; @@ -65,20 +64,20 @@ function parseBracketedKeyValueHash(hashString) { } } - let currentKey = ''; - let currentValue = ''; + let currentKey = ""; + let currentValue = ""; let inKey = true; let inValue = false; let inQuotedValue = false; let inSelector = true; let escaped = false; - let quotedValueStartChar = ''; + let quotedValueStartChar = ""; for (let i = 0; i < cleanedHashString.length; i++) { const c = cleanedHashString[i]; const nextChar = cleanedHashString?.[i + 1]; - if (c === '\\' && !escaped) { + if (c === "\\" && !escaped) { escaped = true; continue; } @@ -96,7 +95,6 @@ function parseBracketedKeyValueHash(hashString) { } if (inQuotedValue && quotedValueStartChar !== c) { - if (inSelector) { currentSelector += c; } else if (inKey) { @@ -108,19 +106,18 @@ function parseBracketedKeyValueHash(hashString) { continue; } - if (c === ';' && inSelector) { + if (c === ";" && inSelector) { inSelector = true; currentSelector = ""; continue; } - - if (inSelector === true && c !== '(') { + if (inSelector === true && c !== "(") { currentSelector += c; continue; } - if (c === '(' && inSelector) { + if (c === "(" && inSelector) { inSelector = false; inKey = true; @@ -128,13 +125,12 @@ function parseBracketedKeyValueHash(hashString) { continue; } - if (inKey === true && c !== '=') { + if (inKey === true && c !== "=") { currentKey += c; continue; } - if (c === '=' && inKey) { - + if (c === "=" && inKey) { inKey = false; inValue = true; @@ -160,7 +156,7 @@ function parseBracketedKeyValueHash(hashString) { continue; } - if (c === ',') { + if (c === ",") { inValue = false; inKey = true; const decodedCurrentValue = decodeURIComponent(currentValue); @@ -170,7 +166,7 @@ function parseBracketedKeyValueHash(hashString) { continue; } - if (c === ')') { + if (c === ")") { inValue = false; //inKey = true; inSelector = true; @@ -189,14 +185,11 @@ function parseBracketedKeyValueHash(hashString) { } } - if (inSelector) { return selectors; } - return {}; - } /** @@ -208,38 +201,37 @@ function parseBracketedKeyValueHash(hashString) { * @since 3.37.0 */ function createBracketedKeyValueHash(object, addHashPrefix = true) { - if (!object) { - return addHashPrefix ? '#' : ''; + return addHashPrefix ? "#" : ""; } - - let hashString = ''; + + let hashString = ""; function encodeKeyValue(key, value) { - return encodeURIComponent(key) + '=' + encodeURIComponent(value); + return encodeURIComponent(key) + "=" + encodeURIComponent(value); } for (const selector in object) { if (object.hasOwnProperty(selector)) { const keyValuePairs = object[selector]; let selectorString = selector; - let keyValueString = ''; + let keyValueString = ""; for (const key in keyValuePairs) { if (keyValuePairs.hasOwnProperty(key)) { const value = keyValuePairs[key]; - keyValueString += keyValueString.length === 0 ? '' : ','; + keyValueString += keyValueString.length === 0 ? "" : ","; keyValueString += encodeKeyValue(key, value); } } if (keyValueString.length > 0) { - selectorString += '(' + keyValueString + ')'; - hashString += hashString.length === 0 ? '' : ';'; + selectorString += "(" + keyValueString + ")"; + hashString += hashString.length === 0 ? "" : ";"; hashString += selectorString; } } } - return addHashPrefix ? '#' + hashString : hashString; -} \ No newline at end of file + return addHashPrefix ? "#" + hashString : hashString; +} diff --git a/application/source/text/util.mjs b/application/source/text/util.mjs index 29f2d90fbf6451fe4a6549bdede7094f93a01e61..a285b403a962cc293fc79688829e1de079646d35 100644 --- a/application/source/text/util.mjs +++ b/application/source/text/util.mjs @@ -1,2 +1 @@ -export { generateRangeComparisonExpression } from "./generate-range-comparison-expression.mjs" - +export { generateRangeComparisonExpression } from "./generate-range-comparison-expression.mjs"; diff --git a/development/makefiles/blackbox.mk b/development/makefiles/blackbox.mk new file mode 100644 index 0000000000000000000000000000000000000000..c1f3e5f9b6556778ca1ffa83715ac5d599652cf6 --- /dev/null +++ b/development/makefiles/blackbox.mk @@ -0,0 +1,111 @@ +############################################################################################# +############################################################################################# +## +## DEFINE BLACKBOX +## +############################################################################################# +############################################################################################# + +EXECUTABLES = $(EXECUTABLES:-) gpgconf git + +BLACKBOX_ROOT_DIR = $(PROJECT_ROOT) +BLACKBOX_BUILD_DIR = $(BLACKBOX_ROOT_DIR)build/blackbox +BLACKBOX_CONFIG_PATH = $(BLACKBOX_ROOT_DIR).blackbox +BLACKBOX_GPG_PATH = $(shell gpgconf --list-dirs homedir) + +# The default image of blackbox +# only local image is supported +BLACKBOX_IMAGE_NAME= blackbox_local_temp_image +BLACKBOX_IMAGE_HASH = $(shell git log --format="%h" -n 1) +BLACKBOX_IMAGE = $(BLACKBOX_IMAGE_NAME):$(BLACKBOX_IMAGE_HASH) + +define BLACKBOX_RUN_SCRIPT +#!/bin/bash + +function cleanup() +{ + for FILE in $$(blackbox_list_files); do + blackbox_edit_end $${FILE} || exit 1 + done + exit 0 +} + +if [ "$$#" -ne 1 ]; then + ## args are: open, close, run + echo "Usage: $$0 open|close|run" + exit 1 +fi + +## trap if arg is run +if [ "$$1" == "run" ]; then + # Intercepts the signal and then executes the command to encrypt. + trap cleanup INT TERM SIGTERM SIGUSR1 +fi + +if [ "$$1" == "open" ] || [ "$$1" == "run" ]; then + echo "Opening files..." + for FILE in $$(blackbox_list_files); do + blackbox_edit_start $${FILE} || exit 1 + done +fi + +if [ "$$1" == "close" ]; then + echo "Closing files..." + for FILE in $$(blackbox_list_files); do + blackbox_edit_end $${FILE} || exit 1 + done +elif [ "$$1" == "run" ]; then + echo "Running command..." + while true; do + sleep 1 + done + +elif [ "$$1" == "open" ]; then + exit 0 + +else + echo "Unknown command: $$1" + exit 1 +fi + + +endef + +define BLACKBOX_DOCKERFILE +FROM docker-registry.schukai.com:443/debian-bullseye-amd64-slim:snapshot AS deb-builder + +RUN apt-get update && apt-get install git make rubygems build-essential +RUN cd /opt/ && \ + git clone https://github.com/StackExchange/blackbox.git + +RUN gem install fpm + +RUN cd /opt/blackbox && \ + make packages-deb + +FROM docker-registry.schukai.com:443/debian-bullseye-amd64-slim:snapshot + +RUN apt-get update && apt-get install git gnupg +RUN sed -i /NAME=/s/=.*/'="Blackbox"'/ /etc/container-release ; + +COPY --from=deb-builder /root/debbuild-stack_blackbox/ /tmp/ +RUN apt-get install /tmp/*.deb +RUN mkdir /repos /root/.gnupg + +VOLUME [ "/repos" ] +WORKDIR /repos + +COPY ./filesystem/bin /bin/ + +RUN chmod ugo+x /bin/run-blackbox.sh + +ARG UNAME=dummy +ARG UID=1000 +ARG GID=1000 + +RUN groupadd -g $$GID -o $$UNAME +RUN useradd -m -u $$UID -g $$GID -o -s /bin/bash $$UNAME + + +ENTRYPOINT [ "/bin/run-blackbox.sh" ] +endef \ No newline at end of file diff --git a/development/makefiles/directories-platform-part.mk b/development/makefiles/directories-platform-part.mk index f7111b0cece276ae9deded64537215ceecbe6c74..8e17db76a718f84574e55049e470bcebdec3bbb4 100644 --- a/development/makefiles/directories-platform-part.mk +++ b/development/makefiles/directories-platform-part.mk @@ -11,13 +11,18 @@ SOURCE_PATH ?= $(PROJECT_ROOT)source/ RELATIVE_SCRIPT_PATH ?= script/ SCRIPT_PATH ?= $(PROJECT_ROOT)$(RELATIVE_SCRIPT_PATH) + +## DEPRECATED ALIAS +SCRIPTS_PATH = $(SCRIPT_PATH) + + VENDOR_PATH ?= $(PROJECT_ROOT)vendor/ NODE_PATH ?= $(PROJECT_ROOT)node_modules/ TEST_PATH ?= $(PROJECT_ROOT)test/ DEVELOPMENT_PATH ?= $(PROJECT_ROOT) LICENSE_PATH ?= $(PROJECT_ROOT) -DIST_PATH ?= $(PROJECT_ROOT)dist/ +DIST_PATH ?= $(PROJECT_ROOT)dist/ CONFIG_PATH ?= $(PROJECT_ROOT)config/ BUILD_PATH ?= $(PROJECT_ROOT)build/ @@ -26,7 +31,7 @@ BOB_SNIPPED_CONFIG ?= $(CONFIG_PATH)snippet.conf BOB_SYNC_CONFIG ?= $(CONFIG_PATH)sync.yaml BOB_BUILD_PATH ?= $(BUILD_PATH) -BOB_DIST_PATH ?= $(DIST_PATH) +BOB_DIST_PATH ?= $(DIST_PATH) PROJECT_DIRECTORIES := $(PROJECT_DIRECTORIES) \ $(SOURCE_PATH) \ diff --git a/development/makefiles/go.mk b/development/makefiles/go.mk index 6cb58e936eb9de9c2d1e3a463c9f2233338c7c5f..679e0ac0b784d000b2cc036da2978f918028a865 100644 --- a/development/makefiles/go.mk +++ b/development/makefiles/go.mk @@ -8,8 +8,9 @@ # path and binaries GO := go +GOLINT := golint -EXECUTABLES = $(EXECUTABLES:-) $(GO); +EXECUTABLES = $(EXECUTABLES:-) $(GO) $(GOLINT); ifeq ($(shell command -v $(GO) 2> /dev/null),) $(error "go is not installed. Please install go <https://go.dev/doc/install>") @@ -25,3 +26,9 @@ ifeq ($(GOPATH),) export PATH=$(PATH):$(GOPATH)/bin endif +ifdef SOURCE_PATH + PKG_LIST := $(shell if [ -d "SOURCE_PATH" ] ; then cd $(SOURCE_PATH); $(GO) list ./... | grep -v /vendor/ ; fi) + GO_FILES := $(shell if [ -d "SOURCE_PATH" ] ; then cd $(SOURCE_PATH); find . -name '*.go' | grep -v /vendor/ | grep -v _test.go; fi) +endif + + diff --git a/development/makefiles/licenses.mk b/development/makefiles/licenses.mk index 7d8f56db297745a6cc95f605b29eb8b7949aa2ed..d8f289bc8ced8d444f5e14340167f0ac73a03b5d 100644 --- a/development/makefiles/licenses.mk +++ b/development/makefiles/licenses.mk @@ -6,6 +6,10 @@ ############################################################################################# ############################################################################################# +ifeq ($(GO),) + $(error $(ERRORMARKER) Go is not defined, check your Makefile if go.mk is included) +endif + ifneq "$(wildcard $(SOURCE_PATH) )" "" ## Files wich should be checked for license headers LICENSE_FILE_PATTERN ?= $(shell find $(SOURCE_PATH) -type f \( -iname \*.go -o -iname \*.php -o -iname \*.js -o -iname \*.mjs -o -iname \*.cjs \) ) diff --git a/development/makefiles/readme-go-utilities.mk b/development/makefiles/readme-go-utilities.mk index ae10cdc29efd4bfaa2c8fa0bd6586eb2cc783cee..48320cc61ea5bee35251288721fe461ba350a57d 100644 --- a/development/makefiles/readme-go-utilities.mk +++ b/development/makefiles/readme-go-utilities.mk @@ -18,14 +18,20 @@ To check out docs and examples, visit .... ## Installation +If you want to install the latest version of this tool, you can use the following command: + ```shell -go get $(shell git config --get remote.origin.url | sed -E 's/^\s*.*:\/\///g') +wget -O ./$(COMPONENT_SLUG) http://download.schukai.com/tools/$(COMPONENT_SLUG)/$(COMPONENT_SLUG)-$$( uname -s | tr [:upper:] [:lower:])-$$(echo uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) ``` -**Note:** This library uses [Go Modules](https://github.com/golang/go/wiki/Modules) to manage dependencies. - ## Usage +The following command will show you the help of the tool: + +```shell +$(COMPONENT_SLUG) help +``` + ## Contributing Merge requests are welcome. For major changes, please open an issue first to discuss what diff --git a/development/makefiles/target-blackbox.mk b/development/makefiles/target-blackbox.mk new file mode 100644 index 0000000000000000000000000000000000000000..2c8369dcd683cf83987ba263e3b5d564fbad81fa --- /dev/null +++ b/development/makefiles/target-blackbox.mk @@ -0,0 +1,85 @@ +############################################################################################# +############################################################################################# +## +## BLACKBOX +## +############################################################################################# +############################################################################################# + +ifndef BLACKBOX_DOCKERFILE + $(error $(ERRORMARKER) BLACKBOX_DOCKERFILE is not defined, check your Makefile if blackbox.mk is included) +endif + +ifndef BLACKBOX_RUN_SCRIPT + $(error $(ERRORMARKER) BLACKBOX_RUN_SCRIPT is not defined, check your Makefile if blackbox.mk is included) +endif + +export BLACKBOX_DOCKERFILE +export BLACKBOX_RUN_SCRIPT + +$(BLACKBOX_BUILD_DIR): + $(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR) + +$(BLACKBOX_BUILD_DIR)/Dockerfile: $(BLACKBOX_BUILD_DIR) + $(QUIET) $(ECHO) "$$BLACKBOX_DOCKERFILE" > $@ + +$(BLACKBOX_BUILD_DIR)/filesystem: + $(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)/filesystem + +$(BLACKBOX_BUILD_DIR)/filesystem/bin: + $(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)/filesystem/bin + +$(BLACKBOX_BUILD_DIR)/filesystem/bin/run-blackbox.sh: $(BLACKBOX_BUILD_DIR)/filesystem/bin + $(QUIET) $(ECHO) "$$BLACKBOX_RUN_SCRIPT" > $@ + $(QUIET) $(CHMOD) u+x $@ + +.PHONY: blackbox-build-image +## build blackbox image +blackbox-build-image: $(BLACKBOX_BUILD_DIR)/Dockerfile $(BLACKBOX_BUILD_DIR)/filesystem/bin/run-blackbox.sh + $(ECHOMARKER) "build blackbox image" + $(QUIET) docker build --build-arg UID=$(shell id -u) \ + --build-arg GID=$(shell id -g) \ + --build-arg UNAME=$(shell id -un) \ + -t $(BLACKBOX_IMAGE) $(BLACKBOX_BUILD_DIR) + +.PHONY: blackbox-open +## open credential with blackbox +blackbox-open: +ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),) + $(QUIET) $(MAKE) blackbox-build-image +endif + $(ECHOMARKER) "open credential with blackbox" + $(QUIET) docker run --user $(shell id -u):$(shell id -g) \ + --rm -it \ + -v $(BLACKBOX_ROOT_DIR):/repos \ + -v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \ + $(BLACKBOX_IMAGE) open + +.PHONY: blackbox-close +## close credential with blackbox +blackbox-close: +ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),) + $(QUIET) $(MAKE) blackbox-build-image +endif + $(ECHOMARKER) "open credential with blackbox" + $(QUIET) docker run --user $(shell id -u):$(shell id -g) \ + --rm -it \ + -v $(BLACKBOX_ROOT_DIR):/repos \ + -v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \ + $(BLACKBOX_IMAGE) close + +.PHONY: blackbox-run +## run credential with blackbox +blackbox-run: +ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),) + $(QUIET) $(MAKE) blackbox-build-image +endif + $(ECHOMARKER) "open credential with blackbox" + $(QUIET) docker run --user $(shell id -u):$(shell id -g) \ + --rm -it \ + -v $(BLACKBOX_ROOT_DIR):/repos \ + -v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \ + $(BLACKBOX_IMAGE) run + + + diff --git a/development/makefiles/target-go-build.mk b/development/makefiles/target-go-build.mk index 23139cdceb1f8f01d2a8d52d9308c38a751989e4..c21e4a4d07335f8bd26d610e4fede6aba5780552 100644 --- a/development/makefiles/target-go-build.mk +++ b/development/makefiles/target-go-build.mk @@ -18,11 +18,41 @@ compile: next-patch-version $(ECHOMARKER) "Compiling for every OS and Platform" $(ECHO) "Version: $(PROJECT_VERSION)" $(ECHO) "Build: $(PROJECT_BUILD_DATE)" - - $(QUIET) cd $(SOURCE_PATH) ; \ - GO111MODULE=on GOOS=linux GOARCH=arm $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-arm ; \ - GOOS=linux GOARCH=amd64 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-amd64 ; \ - GOOS=linux GOARCH=arm64 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-arm64 ; \ - GOOS=linux GOARCH=386 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-386 ; \ - GOOS=windows GOARCH=amd64 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-windows ; \ - cd $(PROJECT_ROOT); + $(QUIET) $(DEVELOPMENT_SCRIPTS_PATH)/go-compile.sh $(SOURCE_PATH) $(BUILD_PATH) $(COMPONENT_SLUG) $(GO_RELEASE_PACKAGE_NAME) $(PROJECT_VERSION) $(PROJECT_BUILD_DATE) + + +.PHONY: go-lint +## Lint the files +go-lint: + $(QUIET) $(GOLINT) -set_exit_status ${PKG_LIST} + +.PHONY: go-test +## Run unittests +go-test: + $(QUIET) $(GO) test -short ${PKG_LIST} + +.PHONY: go-race +## Run data race detector +go-race: go-dep + $(QUIET) $(GO) test -race -short ${PKG_LIST} + +.PHONY: go-msan +## Run memory sanitizer +go-msan: go-dep + $(QUIET) $(GO) test -msan -short ${PKG_LIST} + +.PHONY: go-coverage +## Generate global code coverage report +go-coverage: + $(QUIET) $(DEVELOPMENT_SCRIPTS_PATH)/go-coverage.sh $(SOURCE_PATH) $(DEVELOPMENT_PATH)/report ; + +.PHONY: go-cover-html +## Generate global code coverage report in HTML +go-cover-html: + $(QUIET) $(DEVELOPMENT_SCRIPTS_PATH)/go-coverage.sh $(SOURCE_PATH) $(DEVELOPMENT_PATH)/report html; + +.PHONY: go-dep +## Get the dependencies +go-dep: + $(QUIET) cd $(SOURCE_PATH); $(GO) get -v -d ./... ; cd -; + diff --git a/development/makefiles/target-go-fetch-licenses.mk b/development/makefiles/target-go-fetch-licenses.mk index 65fe5cdc864b4fafa6cebf21920dff5f65a55a45..057b31b2e50357a44d09be7c654a14081dd6a27f 100644 --- a/development/makefiles/target-go-fetch-licenses.mk +++ b/development/makefiles/target-go-fetch-licenses.mk @@ -31,6 +31,6 @@ ifeq ($(GO_CURRENT_MODULE),) $(QUIET) $(ECHOERRORMARKER) "no go.mod file found, skipping fetching licenses" else $(ECHOMARKER) "Fetch licenses" - $(QUIET) cd $(SOURCE_PATH); $(GO_LICENSES_BIN) save $(GO_CURRENT_MODULE) $(GO_LICENSES_IGNORE_PACKAGES) --force --save_path $(DOCUMENTATION_PATH)licenses/ ; cd - + $(QUIET) cd $(SOURCE_PATH); $(GO_LICENSES_BIN) save $(GO_CURRENT_MODULE) $(PKG_LIST) --force --save_path $(DOCUMENTATION_PATH)licenses/ ; cd - endif diff --git a/development/makefiles/target-init-go-utilities.mk b/development/makefiles/target-init-go-utilities.mk index 586e755e369c5ccde329616c84f31aa3b8af543c..5efeb0e55ff347ad3cfe1a003503e29d9357e1b6 100644 --- a/development/makefiles/target-init-go-utilities.mk +++ b/development/makefiles/target-init-go-utilities.mk @@ -14,8 +14,7 @@ # targets can define directories as well. $(PROJECT_DIRECTORIES): - $(foreach path,$(PROJECT_DIRECTORIES),\ - $(shell $(MKDIR) -p $(path))) + $(foreach path,$(PROJECT_DIRECTORIES), $(shell $(MKDIR) -p $(path))) ## init go utilities project init-go-utilities: $(PROJECT_DIRECTORIES) $(PROJECT_ROOT).gitignore $(PROJECT_ROOT)README.md $(LICENSE_PATH)LICENSE diff --git a/development/package.json b/development/package.json index 0a4c286ce9c1b8948815c08391c20bb783fa4276..a8aea6d1b303a5adc5800f2e237db55898993aa0 100644 --- a/development/package.json +++ b/development/package.json @@ -32,10 +32,11 @@ "create-polyfill-service-url": "^2.2.6", "crypt": "^0.0.2", "cssnano": "^6.0.1", - "esbuild": "^0.17.18", - "flow-bin": "^0.205.1", + "element-internals-polyfill": "^1.3.5", + "esbuild": "^0.17.19", + "flow-bin": "^0.206.0", "fs": "0.0.1-security", - "glob": "^10.2.2", + "glob": "^10.2.6", "graphviz": "^0.0.9", "jsdoc": "^4.0.2", "jsdoc-external-example": "github:volker-schukai/jsdoc-external-example", @@ -56,17 +57,16 @@ "postcss-responsive-type": "^1.0.0", "postcss-rtlcss": "^4.0.6", "postcss-strip-units": "^2.0.1", - "rome": "^12.0.0", - "sinon": "^15.0.4", + "rome": "^12.1.2", + "sinon": "^15.1.0", "url": "^0.11.0", "url-exist": "3.0.1", "util": "^0.12.5", - "vite": "^4.3.5", + "vite": "^4.3.8", "vite-plugin-banner": "^0.7.0", "vite-plugin-list-directory-contents": "^1.4.5", "vite-plugin-minify": "^1.5.2", "vite-plugin-mkcert": "^1.15.0", - "ws": "^8.13.0", - "element-internals-polyfill": "^1.3.5" + "ws": "^8.13.0" } } diff --git a/development/pnpm-lock.yaml b/development/pnpm-lock.yaml index dde941af394276235e6b34722689c22111886ffa..606844350d1173b5751cf687b2e4240257f79a44 100644 --- a/development/pnpm-lock.yaml +++ b/development/pnpm-lock.yaml @@ -41,17 +41,17 @@ devDependencies: specifier: ^1.3.5 version: 1.3.5 esbuild: - specifier: ^0.17.18 - version: 0.17.18 + specifier: ^0.17.19 + version: 0.17.19 flow-bin: - specifier: ^0.205.1 - version: 0.205.1 + specifier: ^0.206.0 + version: 0.206.0 fs: specifier: 0.0.1-security version: 0.0.1-security glob: - specifier: ^10.2.2 - version: 10.2.2 + specifier: ^10.2.6 + version: 10.2.6 graphviz: specifier: ^0.0.9 version: 0.0.9 @@ -113,11 +113,11 @@ devDependencies: specifier: ^2.0.1 version: 2.0.1 rome: - specifier: ^12.0.0 - version: 12.0.0 + specifier: ^12.1.2 + version: 12.1.2 sinon: - specifier: ^15.0.4 - version: 15.0.4 + specifier: ^15.1.0 + version: 15.1.0 url: specifier: ^0.11.0 version: 0.11.0 @@ -128,8 +128,8 @@ devDependencies: specifier: ^0.12.5 version: 0.12.5 vite: - specifier: ^4.3.5 - version: 4.3.5(@types/node@18.16.5) + specifier: ^4.3.8 + version: 4.3.8(@types/node@18.16.14) vite-plugin-banner: specifier: ^0.7.0 version: 0.7.0 @@ -138,10 +138,10 @@ devDependencies: version: 1.4.5 vite-plugin-minify: specifier: ^1.5.2 - version: 1.5.2(vite@4.3.5) + version: 1.5.2(vite@4.3.8) vite-plugin-mkcert: specifier: ^1.15.0 - version: 1.15.0(vite@4.3.5) + version: 1.15.0(vite@4.3.8) ws: specifier: ^8.13.0 version: 8.13.0 @@ -163,8 +163,8 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data@7.21.7: - resolution: {integrity: sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==} + /@babel/compat-data@7.21.9: + resolution: {integrity: sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==} engines: {node: '>=6.9.0'} dev: true @@ -174,12 +174,12 @@ packages: dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.5 + '@babel/generator': 7.21.9 '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) '@babel/helper-module-transforms': 7.21.5 '@babel/helpers': 7.21.5 - '@babel/parser': 7.21.8 - '@babel/template': 7.20.7 + '@babel/parser': 7.21.9 + '@babel/template': 7.21.9 '@babel/traverse': 7.21.5 '@babel/types': 7.21.5 convert-source-map: 1.9.0 @@ -191,8 +191,8 @@ packages: - supports-color dev: true - /@babel/generator@7.21.5: - resolution: {integrity: sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==} + /@babel/generator@7.21.9: + resolution: {integrity: sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.5 @@ -207,7 +207,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.7 + '@babel/compat-data': 7.21.9 '@babel/core': 7.21.8 '@babel/helper-validator-option': 7.21.0 browserslist: 4.21.5 @@ -224,7 +224,7 @@ packages: resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 + '@babel/template': 7.21.9 '@babel/types': 7.21.5 dev: true @@ -251,7 +251,7 @@ packages: '@babel/helper-simple-access': 7.21.5 '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 + '@babel/template': 7.21.9 '@babel/traverse': 7.21.5 '@babel/types': 7.21.5 transitivePeerDependencies: @@ -291,7 +291,7 @@ packages: resolution: {integrity: sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 + '@babel/template': 7.21.9 '@babel/traverse': 7.21.5 '@babel/types': 7.21.5 transitivePeerDependencies: @@ -307,20 +307,20 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.21.8: - resolution: {integrity: sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==} + /@babel/parser@7.21.9: + resolution: {integrity: sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.21.5 dev: true - /@babel/template@7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + /@babel/template@7.21.9: + resolution: {integrity: sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.8 + '@babel/parser': 7.21.9 '@babel/types': 7.21.5 dev: true @@ -329,12 +329,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.5 + '@babel/generator': 7.21.9 '@babel/helper-environment-visitor': 7.21.5 '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.8 + '@babel/parser': 7.21.9 '@babel/types': 7.21.5 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 @@ -359,17 +359,17 @@ packages: resolution: {integrity: sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==} dev: true - /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.12): + /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.13): resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss-selector-parser: ^6.0.10 dependencies: - postcss-selector-parser: 6.0.12 + postcss-selector-parser: 6.0.13 dev: true - /@esbuild/android-arm64@0.17.18: - resolution: {integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==} + /@esbuild/android-arm64@0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -377,8 +377,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.18: - resolution: {integrity: sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==} + /@esbuild/android-arm@0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -386,8 +386,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.18: - resolution: {integrity: sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==} + /@esbuild/android-x64@0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -395,8 +395,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.18: - resolution: {integrity: sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==} + /@esbuild/darwin-arm64@0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -404,8 +404,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.18: - resolution: {integrity: sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==} + /@esbuild/darwin-x64@0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -413,8 +413,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.18: - resolution: {integrity: sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==} + /@esbuild/freebsd-arm64@0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -422,8 +422,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.18: - resolution: {integrity: sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==} + /@esbuild/freebsd-x64@0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -431,8 +431,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.18: - resolution: {integrity: sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==} + /@esbuild/linux-arm64@0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -440,8 +440,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.18: - resolution: {integrity: sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==} + /@esbuild/linux-arm@0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -449,8 +449,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.18: - resolution: {integrity: sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==} + /@esbuild/linux-ia32@0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -458,8 +458,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.18: - resolution: {integrity: sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==} + /@esbuild/linux-loong64@0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -467,8 +467,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.18: - resolution: {integrity: sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==} + /@esbuild/linux-mips64el@0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -476,8 +476,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.18: - resolution: {integrity: sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==} + /@esbuild/linux-ppc64@0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -485,8 +485,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.18: - resolution: {integrity: sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==} + /@esbuild/linux-riscv64@0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -494,8 +494,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.18: - resolution: {integrity: sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==} + /@esbuild/linux-s390x@0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -503,8 +503,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.18: - resolution: {integrity: sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==} + /@esbuild/linux-x64@0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -512,8 +512,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.18: - resolution: {integrity: sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==} + /@esbuild/netbsd-x64@0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -521,8 +521,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.18: - resolution: {integrity: sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==} + /@esbuild/openbsd-x64@0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -530,8 +530,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.18: - resolution: {integrity: sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==} + /@esbuild/sunos-x64@0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -539,8 +539,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.18: - resolution: {integrity: sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==} + /@esbuild/win32-arm64@0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -548,8 +548,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.18: - resolution: {integrity: sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==} + /@esbuild/win32-ia32@0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -557,8 +557,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.18: - resolution: {integrity: sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==} + /@esbuild/win32-x64@0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -582,7 +582,7 @@ packages: engines: {node: '>=8'} dependencies: '@financial-times/useragent_parser': 1.6.3 - semver: 7.5.0 + semver: 7.5.1 dev: true /@financial-times/useragent_parser@1.6.3: @@ -654,32 +654,32 @@ packages: lodash: 4.17.21 dev: true - /@microsoft/api-extractor-model@7.26.8(@types/node@18.16.5): - resolution: {integrity: sha512-ESj3bBJkiMg/8tS0PW4+2rUgTVwOEfy41idTnFgdbVX+O50bN6S99MV6FIPlCZWCnRDcBfwxRXLdAkOQQ0JqGw==} + /@microsoft/api-extractor-model@7.27.0(@types/node@18.16.14): + resolution: {integrity: sha512-wHqIMiwSARmiuVLn/zmVpiRncq6hvBfC5GF+sjrN3w4FqVkqFYk7DetvfRNdy/3URdqqmYGrhJlcU9HpLnHOPg==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.58.0(@types/node@18.16.5) + '@rushstack/node-core-library': 3.59.1(@types/node@18.16.14) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.34.8(@types/node@18.16.5): - resolution: {integrity: sha512-2Eh1PlZ8wULtH3kyAWcj62gFtjGKRXrEplsCO54vMLjiav3qet454VpSBXwKkXBenBylZRMk3SMBcpcuJ8RnKQ==} + /@microsoft/api-extractor@7.35.0(@types/node@18.16.14): + resolution: {integrity: sha512-yBGfPJeEtzk8sg2hE2/vOPRvnJBvstbWNGeyGV1jIEUSgytzQ0QPgPEkOsP2n7nBfnyRXmZaBa2vJPGOzVWy+g==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.26.8(@types/node@18.16.5) + '@microsoft/api-extractor-model': 7.27.0(@types/node@18.16.14) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.58.0(@types/node@18.16.5) - '@rushstack/rig-package': 0.3.18 - '@rushstack/ts-command-line': 4.13.2 + '@rushstack/node-core-library': 3.59.1(@types/node@18.16.14) + '@rushstack/rig-package': 0.3.19 + '@rushstack/ts-command-line': 4.13.3 colors: 1.2.5 lodash: 4.17.21 resolve: 1.22.2 semver: 7.3.8 source-map: 0.6.1 - typescript: 4.8.4 + typescript: 5.0.4 transitivePeerDependencies: - '@types/node' dev: true @@ -722,18 +722,18 @@ packages: resolution: {integrity: sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.2.1 + '@octokit/types': 9.2.3 dev: true - /@octokit/core@4.2.0: - resolution: {integrity: sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==} + /@octokit/core@4.2.1: + resolution: {integrity: sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==} engines: {node: '>= 14'} dependencies: '@octokit/auth-token': 3.0.3 - '@octokit/graphql': 5.0.5 - '@octokit/request': 6.2.3 + '@octokit/graphql': 5.0.6 + '@octokit/request': 6.2.5 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.2.1 + '@octokit/types': 9.2.3 before-after-hook: 2.2.3 universal-user-agent: 6.0.0 transitivePeerDependencies: @@ -744,52 +744,53 @@ packages: resolution: {integrity: sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.2.1 + '@octokit/types': 9.2.3 is-plain-object: 5.0.0 universal-user-agent: 6.0.0 dev: true - /@octokit/graphql@5.0.5: - resolution: {integrity: sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==} + /@octokit/graphql@5.0.6: + resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==} engines: {node: '>= 14'} dependencies: - '@octokit/request': 6.2.3 - '@octokit/types': 9.2.1 + '@octokit/request': 6.2.5 + '@octokit/types': 9.2.3 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: true - /@octokit/openapi-types@17.1.1: - resolution: {integrity: sha512-/X7Gh/qWiWaooJmUnYD48SYy72fyrk2ceisOSe89JojK7r0j8YrTwYpDi76kI+c6QiqX1KSgdoBTMJvktsDkYw==} + /@octokit/openapi-types@17.2.0: + resolution: {integrity: sha512-MazrFNx4plbLsGl+LFesMo96eIXkFgEtaKbnNpdh4aQ0VM10aoylFsTYP1AEjkeoRNZiiPe3T6Gl2Hr8dJWdlQ==} dev: true - /@octokit/plugin-paginate-rest@6.0.0(@octokit/core@4.2.0): - resolution: {integrity: sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==} + /@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.1): + resolution: {integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==} engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=4' dependencies: - '@octokit/core': 4.2.0 - '@octokit/types': 9.2.1 + '@octokit/core': 4.2.1 + '@octokit/tsconfig': 1.0.2 + '@octokit/types': 9.2.3 dev: true - /@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.0): + /@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.1): resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} peerDependencies: '@octokit/core': '>=3' dependencies: - '@octokit/core': 4.2.0 + '@octokit/core': 4.2.1 dev: true - /@octokit/plugin-rest-endpoint-methods@7.0.1(@octokit/core@4.2.0): - resolution: {integrity: sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==} + /@octokit/plugin-rest-endpoint-methods@7.1.2(@octokit/core@4.2.1): + resolution: {integrity: sha512-R0oJ7j6f/AdqPLtB9qRXLO+wjI9pctUn8Ka8UGfGaFCcCv3Otx14CshQ89K4E88pmyYZS8p0rNTiprML/81jig==} engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=3' dependencies: - '@octokit/core': 4.2.0 - '@octokit/types': 9.2.1 + '@octokit/core': 4.2.1 + '@octokit/types': 9.2.3 deprecation: 2.3.1 dev: true @@ -797,41 +798,45 @@ packages: resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.2.1 + '@octokit/types': 9.2.3 deprecation: 2.3.1 once: 1.4.0 dev: true - /@octokit/request@6.2.3: - resolution: {integrity: sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==} + /@octokit/request@6.2.5: + resolution: {integrity: sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==} engines: {node: '>= 14'} dependencies: '@octokit/endpoint': 7.0.5 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.2.1 + '@octokit/types': 9.2.3 is-plain-object: 5.0.0 - node-fetch: 2.6.9 + node-fetch: 2.6.11 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: true - /@octokit/rest@19.0.7: - resolution: {integrity: sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==} + /@octokit/rest@19.0.11: + resolution: {integrity: sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==} engines: {node: '>= 14'} dependencies: - '@octokit/core': 4.2.0 - '@octokit/plugin-paginate-rest': 6.0.0(@octokit/core@4.2.0) - '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.0) - '@octokit/plugin-rest-endpoint-methods': 7.0.1(@octokit/core@4.2.0) + '@octokit/core': 4.2.1 + '@octokit/plugin-paginate-rest': 6.1.2(@octokit/core@4.2.1) + '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.1) + '@octokit/plugin-rest-endpoint-methods': 7.1.2(@octokit/core@4.2.1) transitivePeerDependencies: - encoding dev: true - /@octokit/types@9.2.1: - resolution: {integrity: sha512-Vx4keMiD/CAiwVFasLcH0xBSVbKIHebIZke9i7ZbUWGNN4vJFWSYH6Nvga7UY9NIJCGa6x3QG849XTbi5wYmkA==} + /@octokit/tsconfig@1.0.2: + resolution: {integrity: sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==} + dev: true + + /@octokit/types@9.2.3: + resolution: {integrity: sha512-MMeLdHyFIALioycq+LFcA71v0S2xpQUX2cw6pPbHQjaibcHYwLnmK/kMZaWuGfGfjBJZ3wRUq+dOaWsvrPJVvA==} dependencies: - '@octokit/openapi-types': 17.1.1 + '@octokit/openapi-types': 17.2.0 dev: true /@oss/web-components-build-tools@1.2.8: @@ -843,14 +848,14 @@ packages: dependencies: asn1js: 3.0.5 pvtsutils: 1.3.2 - tslib: 2.5.0 + tslib: 2.5.2 dev: true /@peculiar/json-schema@1.1.12: resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} engines: {node: '>=8.0.0'} dependencies: - tslib: 2.5.0 + tslib: 2.5.2 dev: true /@peculiar/webcrypto@1.4.3: @@ -860,7 +865,7 @@ packages: '@peculiar/asn1-schema': 2.3.6 '@peculiar/json-schema': 1.1.12 pvtsutils: 1.3.2 - tslib: 2.5.0 + tslib: 2.5.2 webcrypto-core: 1.7.7 dev: true @@ -885,63 +890,63 @@ packages: picomatch: 2.3.1 dev: true - /@rometools/cli-darwin-arm64@12.0.0: - resolution: {integrity: sha512-kEFCzU6cgy6vfY0mkMzq57ea3srqV5X2wyCAxjVfA2JF7fioq695uWhy7yOCBW+nUUFIz62N9v1nf/aYqX8XkA==} + /@rometools/cli-darwin-arm64@12.1.2: + resolution: {integrity: sha512-9QxtAwNyX9n7ysxo+9qWczl70I1opulmX7LFNsRJKS9qqyTNc5K++btnNK07vWAIeQsMx4QYwr7241thuBMlFw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rometools/cli-darwin-x64@12.0.0: - resolution: {integrity: sha512-YDevVPKrkRFdjjM/3zOpOWI5mEY2ivjKM2eR8Yqv9xH3SZhyD/t67f/xo7Azp6NkGUVXSnHLGdkmIg+qrYgz5A==} + /@rometools/cli-darwin-x64@12.1.2: + resolution: {integrity: sha512-w28NkGYK/rSmQU2WkNzw1h7ec8IR5a7LzYwPHDvG2ogY5sTcygkg0TGKOF/MHUvixU6EBPrFobua2gPhpr/m5A==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rometools/cli-linux-arm64@12.0.0: - resolution: {integrity: sha512-n2LJg6eAZENUcJF99wjDeqQCr/40IqGUJDbX7NwiU1RvCy+RBZNmhcmSAaKOc6rCoLUcM9W5q+H4jfn4bWfJBA==} + /@rometools/cli-linux-arm64@12.1.2: + resolution: {integrity: sha512-7BPGqPtnJy1O8B/ucJ5Vg+p6EUvJJ9DazrT1UEdVR/4inPqAVac9PIZDjjHXyMrt/3IngnetPyn5EXNTAqpJVw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rometools/cli-linux-x64@12.0.0: - resolution: {integrity: sha512-VuQO4eOrKmfrLrc8KzMaZypz3i1rD9FXRxwOFk6ha16DNHV+17dRQYm7jRZ1p+HrXdjAJYTScxR/E03yGLThlQ==} + /@rometools/cli-linux-x64@12.1.2: + resolution: {integrity: sha512-qH2iJKPLp34D0GFK1gLolHGkTA8q2vGKh2Ae1AwoTh87g0mXyyeQf4mAtxJtf4/ydMgjEkAZdEwyaevbTX8gnQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rometools/cli-win32-arm64@12.0.0: - resolution: {integrity: sha512-lvOh5/B8YuQdI2ieGJnJ6CUMZxvVwA8+1VDkEZJyl5IEF8AXzbXYx4k6SFA5a79cfXEL9tJuJy0rn+Zs/+1yJQ==} + /@rometools/cli-win32-arm64@12.1.2: + resolution: {integrity: sha512-iIdqss2R8bni7C7isA9OLBj1UAA3MeKfca0aHNZr+2gSRdiSxO/47j6s3Tpebso99xsJBAFdWBOruG+l/C+LQg==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rometools/cli-win32-x64@12.0.0: - resolution: {integrity: sha512-yTfz71k8+9QIDzglKnMbEMMv1JUk30qfeSomgEUG2v0qDSbSq0Gs1ff0H0dysYOHLvZZmWA3IheOY/SC8fj1nA==} + /@rometools/cli-win32-x64@12.1.2: + resolution: {integrity: sha512-MKOd02sSnd/Biogh3rIKpLFZzYbDSVvRNAxbFHJOpyGLbeQHfAg7QxjKwz0PqyrHVjZaTEEPlswrf4IFii0GNg==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@rushstack/node-core-library@3.58.0(@types/node@18.16.5): - resolution: {integrity: sha512-DHAZ3LTOEq2/EGURznpTJDnB3SNE2CKMDXuviQ6afhru6RykE3QoqXkeyjbpLb5ib5cpIRCPE/wykNe0xmQj3w==} + /@rushstack/node-core-library@3.59.1(@types/node@18.16.14): + resolution: {integrity: sha512-iy/xaEhXGpX+DY1ZzAtNA+QPw+9+TJh773Im+JxG4R1fu00/vWq470UOEj6upxlUxmp0JxhnmNRxzfptHrn/Uw==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@types/node': 18.16.5 + '@types/node': 18.16.14 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -951,15 +956,15 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/rig-package@0.3.18: - resolution: {integrity: sha512-SGEwNTwNq9bI3pkdd01yCaH+gAsHqs0uxfGvtw9b0LJXH52qooWXnrFTRRLG1aL9pf+M2CARdrA9HLHJys3jiQ==} + /@rushstack/rig-package@0.3.19: + resolution: {integrity: sha512-2d0/Gn+qjOYneZbiHjn4SjyDwq9I0WagV37z0F1V71G+yONgH7wlt3K/UoNiDkhA8gTHYPRo2jz3CvttybwSag==} dependencies: resolve: 1.22.2 strip-json-comments: 3.1.1 dev: true - /@rushstack/ts-command-line@4.13.2: - resolution: {integrity: sha512-bCU8qoL9HyWiciltfzg7GqdfODUeda/JpI0602kbN5YH22rzTxyqYvv7aRLENCM7XCQ1VRs7nMkEqgJUOU8Sag==} + /@rushstack/ts-command-line@4.13.3: + resolution: {integrity: sha512-6aQIv/o1EgsC/+SpgUyRmzg2QIAL6sudEzw3sWzJKwWuQTc5XRsyZpyldfE7WAmIqMXDao9QG35/NYORjHm5Zw==} dependencies: '@types/argparse': 1.0.38 argparse: 1.0.10 @@ -967,33 +972,33 @@ packages: string-argv: 0.3.2 dev: true - /@sentry-internal/tracing@7.51.0: - resolution: {integrity: sha512-mhXl4B02OQq6/vevjX04OchmQbxPRaLci9vTTPcPcIz/n+wkum29ze35gHcJsPJUesScjd0m19Xou3C8fNnZRA==} + /@sentry-internal/tracing@7.53.1: + resolution: {integrity: sha512-a4H4rvVdz0XDGgNfRqc7zg6rMt2P1P05xBmgfIfztYy94Vciw1QMdboNiT7einr8ra8wogdEaK4Pe2AzYAPBJQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.51.0 - '@sentry/types': 7.51.0 - '@sentry/utils': 7.51.0 + '@sentry/core': 7.53.1 + '@sentry/types': 7.53.1 + '@sentry/utils': 7.53.1 tslib: 1.14.1 dev: true - /@sentry/core@7.51.0: - resolution: {integrity: sha512-GgYwlXU8Y1kDEHsJO1Bmr2CNan5BzoNRR0TDBmxRgI/DgTNNSYrXeFDELgPi9/p/0XENeuttzDZ3iYd1nF7meA==} + /@sentry/core@7.53.1: + resolution: {integrity: sha512-DAH8IJNORJJ7kQLqsZuhMkN6cwJjXzFuuUoZor7IIDHIHjtl51W+2F3Stg3+I3ZoKDfJfUNKqhipk2WZjG0FBg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.51.0 - '@sentry/utils': 7.51.0 + '@sentry/types': 7.53.1 + '@sentry/utils': 7.53.1 tslib: 1.14.1 dev: true - /@sentry/node@7.51.0: - resolution: {integrity: sha512-UHJ0yN3I8hSrythr3/KPewh+xLIdjF6AU+BW3bgsP0ZtztrftrQk9+XnWRIX0p6ZstzoP4F3arkJIXkWfOk5Pg==} + /@sentry/node@7.53.1: + resolution: {integrity: sha512-B4ax8sRd54xj4ad+4eY2EOKNt0Mh1NjuLW1zUKS8HW3h0bmuaDFzGuhEVvEY5H4SaV6tZKj1c0dvnMnyUbYkhA==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.51.0 - '@sentry/core': 7.51.0 - '@sentry/types': 7.51.0 - '@sentry/utils': 7.51.0 + '@sentry-internal/tracing': 7.53.1 + '@sentry/core': 7.53.1 + '@sentry/types': 7.53.1 + '@sentry/utils': 7.53.1 cookie: 0.4.2 https-proxy-agent: 5.0.1 lru_map: 0.3.3 @@ -1002,16 +1007,16 @@ packages: - supports-color dev: true - /@sentry/types@7.51.0: - resolution: {integrity: sha512-8REzzY0DslDryp6Yxj+tJ4NkXFHulLW9k8dgZV2Qo/0rBDMKir8g0IHYeN8ZBcnWrx2F+6rQb6uN6BjyLZY7Dg==} + /@sentry/types@7.53.1: + resolution: {integrity: sha512-/ijchRIu+jz3+j/zY+7KRPfLSCY14fTx5xujjbOdmEKjmIHQmwPBdszcQm40uwofrR8taV4hbt5MFN+WnjCkCw==} engines: {node: '>=8'} dev: true - /@sentry/utils@7.51.0: - resolution: {integrity: sha512-y5zq4IfZDCm6cg0EQJMghUM4YjZToFni7J5OKopLXKVtc9YtRtkYoFuFqEWm4HBuBwplreiS/KkDQgWn3FVn7A==} + /@sentry/utils@7.53.1: + resolution: {integrity: sha512-DKJA1LSUOEv4KOR828MzVuLh+drjeAgzyKgN063OEKmnirgjgRgNNS8wUgwpG0Tn2k6ANZGCwrdfzPeSBxshKg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.51.0 + '@sentry/types': 7.53.1 tslib: 1.14.1 dev: true @@ -1027,10 +1032,10 @@ packages: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers@10.0.2: - resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} + /@sinonjs/fake-timers@10.2.0: + resolution: {integrity: sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==} dependencies: - '@sinonjs/commons': 2.0.0 + '@sinonjs/commons': 3.0.0 dev: true /@sinonjs/samsam@8.0.0: @@ -1095,16 +1100,16 @@ packages: resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} dev: true - /@types/node@18.16.5: - resolution: {integrity: sha512-seOA34WMo9KB+UA78qaJoCO20RJzZGVXQ5Sh6FWu0g/hfT44nKXnej3/tCQl7FL97idFpBhisLYCTB50S0EirA==} + /@types/node@18.16.14: + resolution: {integrity: sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==} dev: true /@wesbos/code-icons@1.2.4: resolution: {integrity: sha512-ZiU0xf7epnCRrLDQIPnFstzoNWDvcUTtKoDU3VhpjsaGRzVClSmsi39c4kHxIOdfxvg4zwdW+goH96xr/vMTQQ==} dependencies: - '@types/node': 18.16.5 - vite: 4.3.5(@types/node@18.16.5) - vite-plugin-dts: 1.7.3(@types/node@18.16.5)(vite@4.3.5) + '@types/node': 18.16.14 + vite: 4.3.8(@types/node@18.16.14) + vite-plugin-dts: 1.7.3(@types/node@18.16.14)(vite@4.3.8) vscode-icons-js: 11.6.1 transitivePeerDependencies: - less @@ -1224,7 +1229,7 @@ packages: dependencies: pvtsutils: 1.3.2 pvutils: 1.1.3 - tslib: 2.5.0 + tslib: 2.5.2 dev: true /assertion-error@1.1.0: @@ -1248,7 +1253,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.5 - caniuse-lite: 1.0.30001486 + caniuse-lite: 1.0.30001489 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -1325,9 +1330,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001486 - electron-to-chromium: 1.4.385 - node-releases: 2.0.10 + caniuse-lite: 1.0.30001489 + electron-to-chromium: 1.4.405 + node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.5) dev: true @@ -1364,7 +1369,7 @@ packages: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.1 dev: true /camel-case@3.0.0: @@ -1378,7 +1383,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.5.0 + tslib: 2.5.2 dev: true /camelcase-css@2.0.1: @@ -1400,13 +1405,13 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.21.5 - caniuse-lite: 1.0.30001486 + caniuse-lite: 1.0.30001489 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true - /caniuse-lite@1.0.30001486: - resolution: {integrity: sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==} + /caniuse-lite@1.0.30001489: + resolution: {integrity: sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==} dev: true /catharsis@0.9.0: @@ -1626,8 +1631,8 @@ packages: browserslist: 4.21.5 execa: 4.1.0 polyfill-library: 3.111.0 - semver: 7.5.0 - snyk: 1.1152.0 + semver: 7.5.1 + snyk: 1.1163.0 yargs: 15.4.1 transitivePeerDependencies: - supports-color @@ -1881,15 +1886,15 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.5.2 dev: true /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /electron-to-chromium@1.4.385: - resolution: {integrity: sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg==} + /electron-to-chromium@1.4.405: + resolution: {integrity: sha512-JdDgnwU69FMZURoesf9gNOej2Cms1XJFfLk24y1IBtnAdhTcJY/mXnokmpmxHN59PcykBP4bgUU98vLY44Lhuw==} dev: true /element-internals-polyfill@1.3.5: @@ -1927,34 +1932,34 @@ packages: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} dev: true - /esbuild@0.17.18: - resolution: {integrity: sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==} + /esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.18 - '@esbuild/android-arm64': 0.17.18 - '@esbuild/android-x64': 0.17.18 - '@esbuild/darwin-arm64': 0.17.18 - '@esbuild/darwin-x64': 0.17.18 - '@esbuild/freebsd-arm64': 0.17.18 - '@esbuild/freebsd-x64': 0.17.18 - '@esbuild/linux-arm': 0.17.18 - '@esbuild/linux-arm64': 0.17.18 - '@esbuild/linux-ia32': 0.17.18 - '@esbuild/linux-loong64': 0.17.18 - '@esbuild/linux-mips64el': 0.17.18 - '@esbuild/linux-ppc64': 0.17.18 - '@esbuild/linux-riscv64': 0.17.18 - '@esbuild/linux-s390x': 0.17.18 - '@esbuild/linux-x64': 0.17.18 - '@esbuild/netbsd-x64': 0.17.18 - '@esbuild/openbsd-x64': 0.17.18 - '@esbuild/sunos-x64': 0.17.18 - '@esbuild/win32-arm64': 0.17.18 - '@esbuild/win32-ia32': 0.17.18 - '@esbuild/win32-x64': 0.17.18 + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 dev: true /escalade@3.1.1: @@ -2069,8 +2074,8 @@ packages: hasBin: true dev: true - /flow-bin@0.205.1: - resolution: {integrity: sha512-pGQ/ZFr9hnbhRmc+K3K1Ui9BwDivlesNEd2mZbm5pCnxEUvbbj9nXHlTD4s4qO0k+LBKYLMZzQwBVYyRUE380g==} + /flow-bin@0.206.0: + resolution: {integrity: sha512-cZTEs/OEWcbxfvb8BP+Fw0Cep5wrEyEzQHGpXyjVpQXrAraRA5wZUXvTf1C5YHufQaAYY9YkKY5WAr461JvmOA==} engines: {node: '>=0.10.0'} hasBin: true dev: true @@ -2106,7 +2111,7 @@ packages: engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 - signal-exit: 4.0.1 + signal-exit: 4.0.2 dev: true /form-data@4.0.0: @@ -2204,11 +2209,12 @@ packages: resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} dev: true - /get-intrinsic@1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: function-bind: 1.1.1 has: 1.0.3 + has-proto: 1.0.1 has-symbols: 1.0.3 dev: true @@ -2226,16 +2232,16 @@ packages: is-glob: 4.0.3 dev: true - /glob@10.2.2: - resolution: {integrity: sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==} + /glob@10.2.6: + resolution: {integrity: sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.2.0 - minimatch: 9.0.0 - minipass: 5.0.0 - path-scurry: 1.7.0 + jackspeak: 2.2.1 + minimatch: 9.0.1 + minipass: 6.0.2 + path-scurry: 1.9.2 dev: true /glob@7.2.0: @@ -2257,7 +2263,7 @@ packages: es6-error: 4.1.1 matcher: 3.0.0 roarr: 2.15.4 - semver: 7.5.0 + semver: 7.5.1 serialize-error: 7.0.1 dev: true @@ -2276,7 +2282,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.1 dev: true /graceful-fs@4.2.11: @@ -2315,7 +2321,12 @@ packages: /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.1 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} dev: true /has-symbols@1.0.3: @@ -2364,7 +2375,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.17.1 + terser: 5.17.6 dev: true /html-minifier@4.0.0: @@ -2450,8 +2461,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-core-module@2.12.0: - resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} + /is-core-module@2.12.1: + resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} dependencies: has: 1.0.3 dev: true @@ -2564,8 +2575,8 @@ packages: istanbul-lib-report: 3.0.0 dev: true - /jackspeak@2.2.0: - resolution: {integrity: sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==} + /jackspeak@2.2.1: + resolution: {integrity: sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==} engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 @@ -2615,7 +2626,7 @@ packages: engines: {node: '>=12.0.0'} hasBin: true dependencies: - '@babel/parser': 7.21.8 + '@babel/parser': 7.21.9 '@jsdoc/salty': 0.2.5 '@types/markdown-it': 12.2.3 bluebird: 3.7.2 @@ -2826,7 +2837,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.5.0 + tslib: 2.5.2 dev: true /lru-cache@5.1.1: @@ -2958,16 +2969,16 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@9.0.0: - resolution: {integrity: sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==} + /minimatch@9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true - /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} + /minipass@6.0.2: + resolution: {integrity: sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==} + engines: {node: '>=16 || 14 >=14.17'} dev: true /mkdirp@1.0.4: @@ -3034,7 +3045,7 @@ packages: resolution: {integrity: sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==} dependencies: '@sinonjs/commons': 2.0.0 - '@sinonjs/fake-timers': 10.0.2 + '@sinonjs/fake-timers': 10.2.0 '@sinonjs/text-encoding': 0.7.2 just-extend: 4.2.1 path-to-regexp: 1.8.0 @@ -3050,7 +3061,7 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.5.0 + tslib: 2.5.2 dev: true /node-domexception@1.0.0: @@ -3058,8 +3069,8 @@ packages: engines: {node: '>=10.5.0'} dev: true - /node-fetch@2.6.9: - resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + /node-fetch@2.6.11: + resolution: {integrity: sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -3116,8 +3127,8 @@ packages: plantuml-encoder: 1.4.0 dev: true - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + /node-releases@2.0.12: + resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} dev: true /normalize-path@3.0.0: @@ -3219,7 +3230,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.5.2 dev: true /parse5@7.1.2: @@ -3232,7 +3243,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.5.2 dev: true /path-browserify@1.0.1: @@ -3263,12 +3274,12 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-scurry@1.7.0: - resolution: {integrity: sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==} + /path-scurry@1.9.2: + resolution: {integrity: sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 9.1.1 - minipass: 5.0.0 + minipass: 6.0.2 dev: true /path-to-regexp@1.8.0: @@ -3331,7 +3342,7 @@ packages: postcss: ^8.2.2 dependencies: postcss: 8.4.23 - postcss-selector-parser: 6.0.12 + postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: true @@ -3442,7 +3453,7 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.23 - yaml: 2.2.2 + yaml: 2.3.0 dev: true /postcss-merge-longhand@6.0.0(postcss@8.4.23): @@ -3466,7 +3477,7 @@ packages: caniuse-api: 3.0.0 cssnano-utils: 4.0.0(postcss@8.4.23) postcss: 8.4.23 - postcss-selector-parser: 6.0.12 + postcss-selector-parser: 6.0.13 dev: true /postcss-minify-font-values@6.0.0(postcss@8.4.23): @@ -3510,7 +3521,7 @@ packages: postcss: ^8.2.15 dependencies: postcss: 8.4.23 - postcss-selector-parser: 6.0.12 + postcss-selector-parser: 6.0.13 dev: true /postcss-mixins@9.0.4(postcss@8.4.23): @@ -3533,7 +3544,7 @@ packages: postcss: ^8.2.14 dependencies: postcss: 8.4.23 - postcss-selector-parser: 6.0.12 + postcss-selector-parser: 6.0.13 dev: true /postcss-nesting@11.2.2(postcss@8.4.23): @@ -3542,9 +3553,9 @@ packages: peerDependencies: postcss: ^8.4 dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.12) + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) postcss: 8.4.23 - postcss-selector-parser: 6.0.12 + postcss-selector-parser: 6.0.13 dev: true /postcss-normalize-charset@6.0.0(postcss@8.4.23): @@ -3699,8 +3710,8 @@ packages: rtlcss: 4.1.0 dev: true - /postcss-selector-parser@6.0.12: - resolution: {integrity: sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==} + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -3747,7 +3758,7 @@ packages: postcss: ^8.2.15 dependencies: postcss: 8.4.23 - postcss-selector-parser: 6.0.12 + postcss-selector-parser: 6.0.13 dev: true /postcss-value-parser@4.2.0: @@ -3817,7 +3828,7 @@ packages: /pvtsutils@1.3.2: resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} dependencies: - tslib: 2.5.0 + tslib: 2.5.2 dev: true /pvutils@1.1.3: @@ -3903,7 +3914,7 @@ packages: /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.12.0 + is-core-module: 2.12.1 path-parse: 1.0.7 dev: true @@ -3911,7 +3922,7 @@ packages: resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true dependencies: - is-core-module: 2.12.0 + is-core-module: 2.12.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -3940,26 +3951,26 @@ packages: sprintf-js: 1.1.2 dev: true - /rollup@3.21.5: - resolution: {integrity: sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg==} + /rollup@3.23.0: + resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.2 dev: true - /rome@12.0.0: - resolution: {integrity: sha512-w/tLvLj5PGUCx3R+Kna08BMq4zL83Xzh9spvrqoWa3Nkzk16SkD8JSpyWWP9WhI2r3qv3Xvc7FnYZ4QDnjAiYg==} + /rome@12.1.2: + resolution: {integrity: sha512-ObyDevKRU6k3R9fAK9hDvrX9FSPEJ0JWNv5i65enknV+epWjEIL0jnDuijPUX7MSVS6M/ngTiKUaeF3w63SJXw==} engines: {node: '>=14.*'} hasBin: true requiresBuild: true optionalDependencies: - '@rometools/cli-darwin-arm64': 12.0.0 - '@rometools/cli-darwin-x64': 12.0.0 - '@rometools/cli-linux-arm64': 12.0.0 - '@rometools/cli-linux-x64': 12.0.0 - '@rometools/cli-win32-arm64': 12.0.0 - '@rometools/cli-win32-x64': 12.0.0 + '@rometools/cli-darwin-arm64': 12.1.2 + '@rometools/cli-darwin-x64': 12.1.2 + '@rometools/cli-linux-arm64': 12.1.2 + '@rometools/cli-linux-x64': 12.1.2 + '@rometools/cli-win32-arm64': 12.1.2 + '@rometools/cli-win32-x64': 12.1.2 dev: true /rrweb-cssom@0.6.0: @@ -4023,8 +4034,8 @@ packages: lru-cache: 6.0.0 dev: true - /semver@7.5.0: - resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} + /semver@7.5.1: + resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -4071,29 +4082,29 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /signal-exit@4.0.1: - resolution: {integrity: sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} engines: {node: '>=14'} dev: true - /sinon@15.0.4: - resolution: {integrity: sha512-uzmfN6zx3GQaria1kwgWGeKiXSSbShBbue6Dcj0SI8fiCNFbiUDqKl57WFlY5lyhxZVUKmXvzgG2pilRQCBwWg==} + /sinon@15.1.0: + resolution: {integrity: sha512-cS5FgpDdE9/zx7no8bxROHymSlPLZzq0ChbbLk1DrxBfc+eTeBK3y8nIL+nu/0QeYydhhbLIr7ecHJpywjQaoQ==} dependencies: '@sinonjs/commons': 3.0.0 - '@sinonjs/fake-timers': 10.0.2 + '@sinonjs/fake-timers': 10.2.0 '@sinonjs/samsam': 8.0.0 diff: 5.1.0 nise: 5.1.4 supports-color: 7.2.0 dev: true - /snyk@1.1152.0: - resolution: {integrity: sha512-4FNlDaBgoNSNX5N4+FpqnQrtgLxM+M91tbN5jgYWKPkAJLipAbuG/KhHIVdzCND4dEVf8vrfU1oL7XaVf6tVdQ==} + /snyk@1.1163.0: + resolution: {integrity: sha512-cnKLEhzCaplaBfu2r2JgVBqi7FVhP6ARBYy0kXfmiwyCEiEVNbCQ4yE1y2P5+R3wOxXEl9geSK4FAUPUhWMlVQ==} engines: {node: '>=12'} hasBin: true requiresBuild: true dependencies: - '@sentry/node': 7.51.0 + '@sentry/node': 7.53.1 global-agent: 3.0.0 transitivePeerDependencies: - supports-color @@ -4224,7 +4235,7 @@ packages: dependencies: browserslist: 4.21.5 postcss: 8.4.23 - postcss-selector-parser: 6.0.12 + postcss-selector-parser: 6.0.13 dev: true /sugarss@4.0.1(postcss@8.4.23): @@ -4296,8 +4307,8 @@ packages: engines: {'0': node >=0.4.0} dev: true - /terser@5.17.1: - resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==} + /terser@5.17.6: + resolution: {integrity: sha512-V8QHcs8YuyLkLHsJO5ucyff1ykrLVsR4dNnS//L5Y3NiSXpbK1J+WMVUs67eI0KTxs9JtHhgEQpXQVHlHI92DQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -4364,8 +4375,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.5.2: + resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==} dev: true /type-detect@4.0.8: @@ -4378,9 +4389,9 @@ packages: engines: {node: '>=10'} dev: true - /typescript@4.8.4: - resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} - engines: {node: '>=4.2.0'} + /typescript@5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} hasBin: true dev: true @@ -4495,21 +4506,21 @@ packages: resolution: {integrity: sha512-g0cm0wbrR6b6wR8FWtfD1RSDPacdumKEOAnneXv+NpJ9ez+j6rklRv6lMOO+aPf+Y6Zb8OzgIk0FXBZ6h+DeZQ==} dev: true - /vite-plugin-dts@1.7.3(@types/node@18.16.5)(vite@4.3.5): + /vite-plugin-dts@1.7.3(@types/node@18.16.14)(vite@4.3.8): resolution: {integrity: sha512-u3t45p6fTbzUPMkwYe0ESwuUeiRMlwdPfD3dRyDKUwLe2WmEYcFyVp2o9/ke2EMrM51lQcmNWdV9eLcgjD1/ng==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: '>=2.9.0' dependencies: - '@microsoft/api-extractor': 7.34.8(@types/node@18.16.5) + '@microsoft/api-extractor': 7.35.0(@types/node@18.16.14) '@rollup/pluginutils': 5.0.2 - '@rushstack/node-core-library': 3.58.0(@types/node@18.16.5) + '@rushstack/node-core-library': 3.59.1(@types/node@18.16.14) debug: 4.3.4(supports-color@8.1.1) fast-glob: 3.2.12 fs-extra: 10.1.0 kolorist: 1.8.0 ts-morph: 17.0.1 - vite: 4.3.5(@types/node@18.16.5) + vite: 4.3.8(@types/node@18.16.14) transitivePeerDependencies: - '@types/node' - rollup @@ -4520,8 +4531,8 @@ packages: resolution: {integrity: sha512-67Abh1X9rhJq7u9Hxq9CJznM0acAPynvumkQ33wzvigW1aaPfsHNNMnhArABYryXnqASlmiZHpbhYOtDI9KfYw==} dependencies: '@wesbos/code-icons': 1.2.4 - vite: 4.3.5(@types/node@18.16.5) - vite-plugin-dts: 1.7.3(@types/node@18.16.5)(vite@4.3.5) + vite: 4.3.8(@types/node@18.16.14) + vite-plugin-dts: 1.7.3(@types/node@18.16.14)(vite@4.3.8) vscode-icons-js: 11.6.1 transitivePeerDependencies: - '@types/node' @@ -4534,33 +4545,33 @@ packages: - terser dev: true - /vite-plugin-minify@1.5.2(vite@4.3.5): + /vite-plugin-minify@1.5.2(vite@4.3.8): resolution: {integrity: sha512-clf3THHlet1jD35y8+mbw/xgACbdUQ1Eyc9zZFiqaxVOZLSC3UbrkOYOG+Nf4cleRjWgb8czbXrnQiWZICVh3Q==} peerDependencies: vite: '*' dependencies: html-minifier-terser: 6.1.0 - vite: 4.3.5(@types/node@18.16.5) + vite: 4.3.8(@types/node@18.16.14) dev: true - /vite-plugin-mkcert@1.15.0(vite@4.3.5): + /vite-plugin-mkcert@1.15.0(vite@4.3.8): resolution: {integrity: sha512-0Pz7iExvo7pS2HsxMe6Y/HIrsFJidXN8Sju7tsL1XYQdbUKb/D0L5Wkj3UoGQmbbWZUFf8nHHa0XYbd4FH6ZrA==} engines: {node: '>=v16.7.0'} peerDependencies: vite: '>=3' dependencies: - '@octokit/rest': 19.0.7 + '@octokit/rest': 19.0.11 axios: 1.4.0(debug@4.3.4) debug: 4.3.4(supports-color@8.1.1) picocolors: 1.0.0 - vite: 4.3.5(@types/node@18.16.5) + vite: 4.3.8(@types/node@18.16.14) transitivePeerDependencies: - encoding - supports-color dev: true - /vite@4.3.5(@types/node@18.16.5): - resolution: {integrity: sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==} + /vite@4.3.8(@types/node@18.16.14): + resolution: {integrity: sha512-uYB8PwN7hbMrf4j1xzGDk/lqjsZvCDbt/JC5dyfxc19Pg8kRm14LinK/uq+HSLNswZEoKmweGdtpbnxRtrAXiQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -4584,10 +4595,10 @@ packages: terser: optional: true dependencies: - '@types/node': 18.16.5 - esbuild: 0.17.18 + '@types/node': 18.16.14 + esbuild: 0.17.19 postcss: 8.4.23 - rollup: 3.21.5 + rollup: 3.23.0 optionalDependencies: fsevents: 2.3.2 dev: true @@ -4617,7 +4628,7 @@ packages: '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 pvtsutils: 1.3.2 - tslib: 2.5.0 + tslib: 2.5.2 dev: true /webidl-conversions@3.0.1: @@ -4767,9 +4778,9 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml@2.2.2: - resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} - engines: {node: '>= 14'} + /yaml@2.3.0: + resolution: {integrity: sha512-8/1wgzdKc7bc9E6my5wZjmdavHLvO/QOmLG1FBugblEvY4IXrLjlViIOmL24HthU042lWTDRO90Fz1Yp66UnMw==} + engines: {node: '>= 14', npm: '>= 7'} dev: true /yargs-parser@13.1.2: