From c4a2ff5fa1b8cc53870caacc37978954b24ea81c Mon Sep 17 00:00:00 2001 From: zadam Date: Sun, 7 May 2023 12:09:38 +0200 Subject: [PATCH 01/16] fix hamburger icon in canvas, #3780 --- src/public/app/widgets/type_widgets/canvas.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/public/app/widgets/type_widgets/canvas.js b/src/public/app/widgets/type_widgets/canvas.js index dbe1eba2e..b4c92c4f0 100644 --- a/src/public/app/widgets/type_widgets/canvas.js +++ b/src/public/app/widgets/type_widgets/canvas.js @@ -12,6 +12,14 @@ const TPL = ` .excalidraw .App-menu_top .buttonList { display: flex; } + + /* Conflict between excalidraw and bootstrap classes keeps the menu hidden */ + /* https://github.com/zadam/trilium/issues/3780 */ + /* https://github.com/excalidraw/excalidraw/issues/6567 */ + .excalidraw .dropdown-menu { + display: block; + } + .excalidraw-wrapper { height: 100%; From 331d2800755483641f5e1f480229cc12fcf500d2 Mon Sep 17 00:00:00 2001 From: zadam Date: Tue, 9 May 2023 23:14:56 +0200 Subject: [PATCH 02/16] TOC scrolls smoothly (on readonly), #3911 --- src/public/app/widgets/toc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/public/app/widgets/toc.js b/src/public/app/widgets/toc.js index 5e826cf1f..3fbc29ee6 100644 --- a/src/public/app/widgets/toc.js +++ b/src/public/app/widgets/toc.js @@ -176,7 +176,7 @@ export default class TocWidget extends RightPanelWidget { const headingElement = $container.find(":header")[headingIndex]; if (headingElement != null) { - headingElement.scrollIntoView(); + headingElement.scrollIntoView({ behavior: "smooth" }); } } else { const textEditor = await this.noteContext.getTextEditor(); @@ -302,4 +302,4 @@ class CloseTocButton extends OnClickButtonWidget { }) .class("icon-action close-toc"); } -} \ No newline at end of file +} From cc1f831a6a6481b457b081769f26da246bec6862 Mon Sep 17 00:00:00 2001 From: zadam Date: Tue, 9 May 2023 23:32:06 +0200 Subject: [PATCH 03/16] don't allow setting image quality to empty value, #3894 --- .../app/widgets/type_widgets/options/images/images.js | 2 +- src/services/image.js | 2 +- src/services/options.js | 10 +++++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/public/app/widgets/type_widgets/options/images/images.js b/src/public/app/widgets/type_widgets/options/images/images.js index 38eae0db8..c6ceb6e04 100644 --- a/src/public/app/widgets/type_widgets/options/images/images.js +++ b/src/public/app/widgets/type_widgets/options/images/images.js @@ -48,7 +48,7 @@ export default class ImageOptions extends OptionsWidget { this.updateOption('imageMaxWidthHeight', this.$imageMaxWidthHeight.val())); this.$imageJpegQuality.on('change', () => - this.updateOption('imageJpegQuality', this.$imageJpegQuality.val())); + this.updateOption('imageJpegQuality', this.$imageJpegQuality.val().trim() || "75")); this.$downloadImagesAutomatically = this.$widget.find(".download-images-automatically"); diff --git a/src/services/image.js b/src/services/image.js index ac9d9cfd1..1dc624e95 100644 --- a/src/services/image.js +++ b/src/services/image.js @@ -134,7 +134,7 @@ function saveImage(parentNoteId, uploadBuffer, originalName, shrinkImageSwitch, } async function shrinkImage(buffer, originalName) { - let jpegQuality = optionService.getOptionInt('imageJpegQuality'); + let jpegQuality = optionService.getOptionInt('imageJpegQuality', 0); if (jpegQuality < 10 || jpegQuality > 100) { jpegQuality = 75; diff --git a/src/services/options.js b/src/services/options.js index 9d227ec4c..d2b1404fd 100644 --- a/src/services/options.js +++ b/src/services/options.js @@ -10,7 +10,7 @@ function getOptionOrNull(name) { // e.g. in initial sync becca is not loaded because DB is not initialized option = sql.getRow("SELECT * FROM options WHERE name = ?", name); } - + return option ? option.value : null; } @@ -27,13 +27,17 @@ function getOption(name) { /** * @returns {number} */ -function getOptionInt(name) { +function getOptionInt(name, defaultValue = undefined) { const val = getOption(name); const intVal = parseInt(val); if (isNaN(intVal)) { - throw new Error(`Could not parse "${val}" into integer for option "${name}"`); + if (defaultValue === undefined) { + throw new Error(`Could not parse "${val}" into integer for option "${name}"`); + } else { + return defaultValue; + } } return intVal; From 04caba9f5b05121109ad848be283177e34d22da1 Mon Sep 17 00:00:00 2001 From: zadam Date: Tue, 9 May 2023 23:44:43 +0200 Subject: [PATCH 04/16] fix parsing the authentication header with password containing a colon, closes #3916 --- src/services/auth.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/auth.js b/src/services/auth.js index 331f1d252..8081cd34c 100644 --- a/src/services/auth.js +++ b/src/services/auth.js @@ -110,8 +110,8 @@ function checkCredentials(req, res, next) { const header = req.headers['trilium-cred'] || ''; const auth = new Buffer.from(header, 'base64').toString(); - const [username, password] = auth.split(/:/); - + const colonIndex = auth.indexOf(':'); + const password = colonIndex === -1 ? "" : auth.substr(colonIndex + 1); // username is ignored if (!passwordEncryptionService.verifyPassword(password)) { From 8eb0a4e1cbcebd8103f53084b999fe3b11e1b7ff Mon Sep 17 00:00:00 2001 From: baiyongjie <407221377@qq.com> Date: Wed, 10 May 2023 18:08:25 +0800 Subject: [PATCH 05/16] fix cursor position when Jumping from note to included note (cherry picked from commit 6a9aa5eedaf27d8b077d200cca659eef541b2143) --- src/public/app/widgets/type_widgets/editable_text.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/public/app/widgets/type_widgets/editable_text.js b/src/public/app/widgets/type_widgets/editable_text.js index aa1015242..1bae06696 100644 --- a/src/public/app/widgets/type_widgets/editable_text.js +++ b/src/public/app/widgets/type_widgets/editable_text.js @@ -187,6 +187,11 @@ export default class EditableTextTypeWidget extends AbstractTextTypeWidget { const noteComplement = await froca.getNoteComplement(note.noteId); await this.spacedUpdate.allowUpdateWithoutChange(() => { + // https://github.com/zadam/trilium/issues/3914 + // todo: quite hacky, but it works. remove it if ckeditor has fixed it. + this.$editor.trigger('focus'); + this.$editor.trigger('blur') + this.watchdog.editor.setData(noteComplement.content || ""); }); } From 239c14a5df027cbcbd0bb8256a72c6c1bad94134 Mon Sep 17 00:00:00 2001 From: zadam Date: Sat, 13 May 2023 15:58:32 +0200 Subject: [PATCH 06/16] fix search in "view source", closes #3929 --- src/public/app/components/note_context.js | 4 ++++ src/public/app/widgets/buttons/edit_button.js | 4 +++- src/public/app/widgets/toc.js | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/public/app/components/note_context.js b/src/public/app/components/note_context.js index 5bed983c7..3df6b206e 100644 --- a/src/public/app/components/note_context.js +++ b/src/public/app/components/note_context.js @@ -226,6 +226,10 @@ class NoteContext extends Component { return true; } + if (this.viewScope.viewMode === 'source') { + return true; + } + const noteComplement = await this.getNoteComplement(); const sizeLimit = this.note.type === 'text' diff --git a/src/public/app/widgets/buttons/edit_button.js b/src/public/app/widgets/buttons/edit_button.js index 112b3264c..a161f7540 100644 --- a/src/public/app/widgets/buttons/edit_button.js +++ b/src/public/app/widgets/buttons/edit_button.js @@ -5,7 +5,9 @@ import protectedSessionHolder from "../../services/protected_session_holder.js"; export default class EditButton extends OnClickButtonWidget { isEnabled() { - return super.isEnabled() && this.note; + return super.isEnabled() + && this.note + && this.noteContext.viewScope.viewMode === 'default'; } constructor() { diff --git a/src/public/app/widgets/toc.js b/src/public/app/widgets/toc.js index 3fbc29ee6..b35218b1b 100644 --- a/src/public/app/widgets/toc.js +++ b/src/public/app/widgets/toc.js @@ -69,7 +69,8 @@ export default class TocWidget extends RightPanelWidget { isEnabled() { return super.isEnabled() && this.note.type === 'text' - && !this.noteContext.viewScope.tocTemporarilyHidden; + && !this.noteContext.viewScope.tocTemporarilyHidden + && this.noteContext.viewScope.viewMode === 'default'; } async doRenderBody() { From 085c0e76cad410f944b11e6274bb5375b08da588 Mon Sep 17 00:00:00 2001 From: SnnBcd xt <1160925501@qq.com> Date: Wed, 17 May 2023 10:18:58 +0000 Subject: [PATCH 07/16] toc scrolls smoothly --- src/public/app/widgets/toc.js | 49 ++++------------------------------- 1 file changed, 5 insertions(+), 44 deletions(-) diff --git a/src/public/app/widgets/toc.js b/src/public/app/widgets/toc.js index 5e826cf1f..b4096a5df 100644 --- a/src/public/app/widgets/toc.js +++ b/src/public/app/widgets/toc.js @@ -176,7 +176,9 @@ export default class TocWidget extends RightPanelWidget { const headingElement = $container.find(":header")[headingIndex]; if (headingElement != null) { - headingElement.scrollIntoView(); + headingElement.scrollIntoView({ + behavior: 'smooth' + }); } } else { const textEditor = await this.noteContext.getTextEditor(); @@ -192,50 +194,9 @@ export default class TocWidget extends RightPanelWidget { // navigate (note that the TOC rendering and other TOC // entries' navigation could be wrong too) if (headingNode != null) { - // Setting the selection alone doesn't scroll to the - // caret, needs to be done explicitly and outside of - // the writer change callback so the scroll is - // guaranteed to happen after the selection is - // updated. - - // In addition, scrolling to a caret later in the - // document (ie "forward scrolls"), only scrolls - // barely enough to place the caret at the bottom of - // the screen, which is a usability issue, you would - // like the caret to be placed at the top or center - // of the screen. - - // To work around that issue, first scroll to the - // end of the document, then scroll to the desired - // point. This causes all the scrolls to be - // "backward scrolls" no matter the current caret - // position, which places the caret at the top of - // the screen. - - // XXX This could be fixed in another way by using - // the underlying CKEditor5 - // scrollViewportToShowTarget, which allows to - // provide a larger "viewportOffset", but that - // has coding complications (requires calling an - // internal CKEditor utils funcion and passing - // an HTML element, not a CKEditor node, and - // CKEditor5 doesn't seem to have a - // straightforward way to convert a node to an - // HTML element? (in CKEditor4 this was done - // with $(node.$) ) - - // Scroll to the end of the note to guarantee the - // next scroll is a backwards scroll that places the - // caret at the top of the screen - model.change(writer => { - writer.setSelection(root.getChild(root.childCount - 1), 0); + $(textEditor.editing.view.domRoots.values().next().value).find(':header')[headingIndex].scrollIntoView({ + behavior: 'smooth' }); - textEditor.editing.view.scrollToTheSelection(); - // Backwards scroll to the heading - model.change(writer => { - writer.setSelection(headingNode, 0); - }); - textEditor.editing.view.scrollToTheSelection(); } } } From d24d3af87d5491d2e03778a299fa528e79b01890 Mon Sep 17 00:00:00 2001 From: SnnBcd xt <1160925501@qq.com> Date: Wed, 17 May 2023 12:03:38 +0000 Subject: [PATCH 08/16] Other elements in the scroll-container (including text search) scroll smoothly --- src/public/app/widgets/containers/scrolling_container.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/public/app/widgets/containers/scrolling_container.js b/src/public/app/widgets/containers/scrolling_container.js index 78c9a243a..f13994353 100644 --- a/src/public/app/widgets/containers/scrolling_container.js +++ b/src/public/app/widgets/containers/scrolling_container.js @@ -6,6 +6,7 @@ export default class ScrollingContainer extends Container { this.class("scrolling-container"); this.css('overflow', 'auto'); + this.css('scroll-behavior', 'smooth'); this.css('position', 'relative'); } From 88a961180f34066f51a7cd219cfaaa4d236ff4f4 Mon Sep 17 00:00:00 2001 From: zadam Date: Wed, 17 May 2023 23:57:32 +0200 Subject: [PATCH 09/16] cleanup note open custom --- .../app/components/root_command_executor.js | 6 +- src/public/app/services/open.js | 89 ++++++++++--------- .../app/widgets/buttons/note_actions.js | 4 +- 3 files changed, 51 insertions(+), 48 deletions(-) diff --git a/src/public/app/components/root_command_executor.js b/src/public/app/components/root_command_executor.js index 63d86ae46..2f46e0bb7 100644 --- a/src/public/app/components/root_command_executor.js +++ b/src/public/app/components/root_command_executor.js @@ -54,13 +54,11 @@ export default class RootCommandExecutor extends Component { openService.openNoteExternally(noteId, mime); } } - + openNoteCustomCommand() { const noteId = appContext.tabManager.getActiveContextNoteId(); - const mime = appContext.tabManager.getActiveContextNoteMime() - if (noteId) { - openService.openNoteCustom(noteId, mime); + openService.openNoteCustom(noteId); } } diff --git a/src/public/app/services/open.js b/src/public/app/services/open.js index 9d6f3c931..177db6459 100644 --- a/src/public/app/services/open.js +++ b/src/public/app/services/open.js @@ -47,61 +47,66 @@ async function openNoteExternally(noteId, mime) { } } -async function openNoteCustom(noteId, mime) { - if (utils.isElectron()) { - const resp = await server.post(`notes/${noteId}/save-to-tmp-dir`); - const filePath = resp.tmpFilePath; - const { exec } = utils.dynamicRequire('child_process'); - const platform = process.platform; - if (platform === 'linux') { - const terminals = ['gnome-terminal', 'konsole', 'xterm', 'xfce4-terminal', 'mate-terminal', 'rxvt', 'terminator', 'terminology']; +async function openNoteCustom(noteId) { + if (!utils.isElectron() || utils.isMac()) { + return; + } + + const resp = await server.post(`notes/${noteId}/save-to-tmp-dir`); + let filePath = resp.tmpFilePath; + const {exec} = utils.dynamicRequire('child_process'); + const platform = process.platform; + + if (platform === 'linux') { + // we don't know which terminal is available, try in succession + const terminals = ['x-terminal-emulator', 'gnome-terminal', 'konsole', 'xterm', 'xfce4-terminal', 'mate-terminal', 'rxvt', 'terminator', 'terminology']; const openFileWithTerminal = (terminal) => { - const command = `${terminal} -e 'mimeopen -d "${filePath}"'`; - console.log(`Open Note custom: ${command} `); - exec(command, (error, stdout, stderr) => { - if (error) { - console.error(`Open Note custom: Failed to open file with ${terminal}: ${error}`); - searchTerminal(terminals.indexOf(terminal) + 1); - } else { - console.log(`Open Note custom: File opened with ${terminal}. ${stdout}`); - } - }); + const command = `${terminal} -e 'mimeopen -d "${filePath}"'`; + console.log(`Open Note custom: ${command} `); + exec(command, (error, stdout, stderr) => { + if (error) { + console.error(`Open Note custom: Failed to open file with ${terminal}: ${error}`); + searchTerminal(terminals.indexOf(terminal) + 1); + } else { + console.log(`Open Note custom: File opened with ${terminal}: ${stdout}`); + } + }); }; + const searchTerminal = (index) => { - const terminal = terminals[index]; - if (!terminal) { - console.error('Open Note custom: No terminal found!'); - open(getFileUrl(noteId), { url: true }); - return; - } - exec(`which ${terminal}`, (error, stdout, stderr) => { - if (stdout.trim()) { - openFileWithTerminal(terminal); - } else { - searchTerminal(index + 1); + const terminal = terminals[index]; + if (!terminal) { + console.error('Open Note custom: No terminal found!'); + open(getFileUrl(noteId), {url: true}); + return; } - }); + exec(`which ${terminal}`, (error, stdout, stderr) => { + if (stdout.trim()) { + openFileWithTerminal(terminal); + } else { + searchTerminal(index + 1); + } + }); }; searchTerminal(0); - } else if (platform === 'win32') { + } else if (platform === 'win32') { if (filePath.indexOf("/") !== -1) { - //Note that the path separator must be \ instead of / - filePath = filePath.replace(/\//g, "\\"); + // Note that the path separator must be \ instead of / + filePath = filePath.replace(/\//g, "\\"); } const command = `rundll32.exe shell32.dll,OpenAs_RunDLL ` + filePath; exec(command, (err, stdout, stderr) => { - if (err) { - console.error("Open Note custom: ", err); - open(getFileUrl(noteId), { url: true }); - return; - } + if (err) { + console.error("Open Note custom: ", err); + open(getFileUrl(noteId), {url: true}); + return; + } }); - } else { + } else { console.log('Currently "Open Note custom" only supports linux and windows systems'); - open(getFileUrl(noteId), { url: true }); - } + open(getFileUrl(noteId), {url: true}); } - } +} function downloadNoteRevision(noteId, noteRevisionId) { const url = getUrlForDownload(`api/notes/${noteId}/revisions/${noteRevisionId}/download`); diff --git a/src/public/app/widgets/buttons/note_actions.js b/src/public/app/widgets/buttons/note_actions.js index de2ad33f9..b660c7da2 100644 --- a/src/public/app/widgets/buttons/note_actions.js +++ b/src/public/app/widgets/buttons/note_actions.js @@ -29,7 +29,7 @@ const TPL = ` Search in note Note source Open note externally - Open note custom (beta) + Open note custom Import files Export note Delete note @@ -90,7 +90,7 @@ export default class NoteActionsWidget extends NoteContextAwareWidget { this.$renderNoteButton.toggle(note.type === 'render'); this.$openNoteExternallyButton.toggle(utils.isElectron()); - this.$openNoteCustomButton.toggle(utils.isElectron()); + this.$openNoteCustomButton.toggle(utils.isElectron() && !utils.isMac()); // no implementation for Mac yet } toggleDisabled($el, enable) { From 57aa0a0fe16773346b6a3175b5bf5401d2736059 Mon Sep 17 00:00:00 2001 From: SnnBcd xt <1160925501@qq.com> Date: Thu, 18 May 2023 07:29:21 +0000 Subject: [PATCH 10/16] findInText: Automatically search the selected text --- src/public/app/widgets/find.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/public/app/widgets/find.js b/src/public/app/widgets/find.js index 70116d0cb..bbead9d0e 100644 --- a/src/public/app/widgets/find.js +++ b/src/public/app/widgets/find.js @@ -145,19 +145,27 @@ export default class FindWidget extends NoteContextAwareWidget { if (!['text', 'code', 'render'].includes(this.note.type)) { return; } + + this.handler = await this.getHandler(); + var searchTerm = await this.handler.getInitialSearchTerm(); + searchTerm = searchTerm=="" ? window.getSelection().toString():searchTerm; this.$findBox.show(); this.$input.focus(); - this.handler = await this.getHandler(); const isAlreadyVisible = this.$findBox.is(":visible"); if (isAlreadyVisible) { + this.$input.val(searchTerm || ""); + if (searchTerm !== "") { + this.$input.select(); + await this.performFind(); + } this.$input.select(); } else { this.$totalFound.text(0); this.$currentFound.text(0); - const searchTerm = await this.handler.getInitialSearchTerm(); + searchTerm = await this.handler.getInitialSearchTerm(); this.$input.val(searchTerm || ""); if (searchTerm !== "") { this.$input.select(); From ed3d81ce623bb767b529a0547c237bfce3b2435c Mon Sep 17 00:00:00 2001 From: baiyongjie <407221377@qq.com> Date: Thu, 18 May 2023 16:41:07 +0800 Subject: [PATCH 11/16] normalize tooltip style --- src/public/stylesheets/style.css | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/public/stylesheets/style.css b/src/public/stylesheets/style.css index 90970b2c0..01ba2eb1f 100644 --- a/src/public/stylesheets/style.css +++ b/src/public/stylesheets/style.css @@ -391,6 +391,42 @@ table.promoted-attributes-in-tooltip td, table.promoted-attributes-in-tooltip th .bs-tooltip-left .arrow::before { border-left-color: var(--main-border-color) !important; } .bs-tooltip-right .arrow::before { border-right-color: var(--main-border-color) !important; } +.bs-tooltip-bottom .arrow::after { border-bottom-color: var(--tooltip-background-color) !important; } +.bs-tooltip-top .arrow::after { border-top-color: var(--tooltip-background-color) !important; } +.bs-tooltip-left .arrow::after { border-left-color: var(--tooltip-background-color) !important; } +.bs-tooltip-right .arrow::after { border-right-color: var(--tooltip-background-color) !important; } + +.tooltip .arrow::after { + position: absolute; + content: ''; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-auto[x-placement^='left'] .arrow::after, +.bs-tooltip-left .arrow::after { + left: -1px; + border-width: 0.4rem 0 0.4rem 0.4rem; +} + +.bs-tooltip-auto[x-placement^='bottom'] .arrow::after, +.bs-tooltip-bottom .arrow::after { + bottom: -1px; + border-width: 0 0.4rem 0.4rem; +} + +.bs-tooltip-auto[x-placement^='right'] .arrow::after, +.bs-tooltip-right .arrow::after { + right: -1px; + border-width: 0.4rem 0.4rem 0.4rem 0; +} + +.bs-tooltip-auto[x-placement^='top'] .arrow::after, +.bs-tooltip-top .arrow::after { + top: -1px; + border-width: 0.4rem 0.4rem 0; +} + .note-tooltip.tooltip .arrow { display: none; } From 074820dae55ccb1f766ea0f6bd03e30f9caea9f2 Mon Sep 17 00:00:00 2001 From: zadam Date: Thu, 18 May 2023 13:41:32 +0200 Subject: [PATCH 12/16] cleanup of find in text implementation --- src/public/app/widgets/find.js | 21 ++++++++++++--------- src/public/app/widgets/find_in_code.js | 17 ----------------- src/public/app/widgets/find_in_html.js | 4 ---- src/public/app/widgets/find_in_text.js | 13 ------------- 4 files changed, 12 insertions(+), 43 deletions(-) diff --git a/src/public/app/widgets/find.js b/src/public/app/widgets/find.js index bbead9d0e..7c46ccde6 100644 --- a/src/public/app/widgets/find.js +++ b/src/public/app/widgets/find.js @@ -145,10 +145,10 @@ export default class FindWidget extends NoteContextAwareWidget { if (!['text', 'code', 'render'].includes(this.note.type)) { return; } - + this.handler = await this.getHandler(); - var searchTerm = await this.handler.getInitialSearchTerm(); - searchTerm = searchTerm=="" ? window.getSelection().toString():searchTerm; + + const selectedText = window.getSelection().toString() || ""; this.$findBox.show(); this.$input.focus(); @@ -156,18 +156,21 @@ export default class FindWidget extends NoteContextAwareWidget { const isAlreadyVisible = this.$findBox.is(":visible"); if (isAlreadyVisible) { - this.$input.val(searchTerm || ""); - if (searchTerm !== "") { - this.$input.select(); + if (selectedText) { + this.$input.val(selectedText); + } + + if (this.$input.val()) { await this.performFind(); } + this.$input.select(); } else { this.$totalFound.text(0); this.$currentFound.text(0); - searchTerm = await this.handler.getInitialSearchTerm(); - this.$input.val(searchTerm || ""); - if (searchTerm !== "") { + this.$input.val(selectedText); + + if (selectedText) { this.$input.select(); await this.performFind(); } diff --git a/src/public/app/widgets/find_in_code.js b/src/public/app/widgets/find_in_code.js index 54784b754..87239eb09 100644 --- a/src/public/app/widgets/find_in_code.js +++ b/src/public/app/widgets/find_in_code.js @@ -16,23 +16,6 @@ export default class FindInCode { return this.parent.noteContext.getCodeEditor(); } - async getInitialSearchTerm() { - const codeEditor = await this.getCodeEditor(); - - // highlightSelectionMatches is the overlay that highlights - // the words under the cursor. This occludes the search - // markers style, save it, disable it. Will be restored when - // the focus is back into the note - this.oldHighlightSelectionMatches = codeEditor.getOption("highlightSelectionMatches"); - codeEditor.setOption("highlightSelectionMatches", false); - - // Fill in the findbox with the current selection if any - const selectedText = codeEditor.getSelection() - if (selectedText !== "") { - return selectedText; - } - } - async performFind(searchTerm, matchCase, wholeWord) { let findResult = null; let totalFound = 0; diff --git a/src/public/app/widgets/find_in_html.js b/src/public/app/widgets/find_in_html.js index 2feb3d5fe..349c70d51 100644 --- a/src/public/app/widgets/find_in_html.js +++ b/src/public/app/widgets/find_in_html.js @@ -16,10 +16,6 @@ export default class FindInHtml { this.$results = null; } - async getInitialSearchTerm() { - return ""; // FIXME - } - async performFind(searchTerm, matchCase, wholeWord) { await libraryLoader.requireLibrary(libraryLoader.MARKJS); diff --git a/src/public/app/widgets/find_in_text.js b/src/public/app/widgets/find_in_text.js index b45d4a990..66dbabe1e 100644 --- a/src/public/app/widgets/find_in_text.js +++ b/src/public/app/widgets/find_in_text.js @@ -8,19 +8,6 @@ export default class FindInText { return this.parent.noteContext.getTextEditor(); } - async getInitialSearchTerm() { - const textEditor = await this.getTextEditor(); - - const selection = textEditor.model.document.selection; - const range = selection.getFirstRange(); - - // FIXME - for (const item of range.getItems()) { - // Fill in the findbox with the current selection if any - return item.data; - } - } - async performFind(searchTerm, matchCase, wholeWord) { // Do this even if the searchTerm is empty so the markers are cleared and // the counters updated From 14dd2b882750ea5484d1aba1f2b57c931bc76e9c Mon Sep 17 00:00:00 2001 From: zadam Date: Thu, 18 May 2023 23:05:28 +0200 Subject: [PATCH 13/16] cleanup --- .../Montserrat-Light.ttf | Bin 109776 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .idea/shelf/Uncommitted_changes_before_Checkout_at_13_05_23,_16_28_[Changes]/Montserrat-Light.ttf diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_13_05_23,_16_28_[Changes]/Montserrat-Light.ttf b/.idea/shelf/Uncommitted_changes_before_Checkout_at_13_05_23,_16_28_[Changes]/Montserrat-Light.ttf deleted file mode 100644 index d1afa353e6b397ec7b616974277c9740ef4d7f5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109776 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 Date: Thu, 18 May 2023 23:31:57 +0200 Subject: [PATCH 14/16] release 0.60.0-beta --- package.json | 2 +- src/services/build.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3be963b57..45b634003 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "trilium", "productName": "Trilium Notes", "description": "Trilium Notes", - "version": "0.59.4", + "version": "0.60.0-beta", "license": "AGPL-3.0-only", "main": "electron.js", "bin": { diff --git a/src/services/build.js b/src/services/build.js index 42ec8bd89..f9256be1b 100644 --- a/src/services/build.js +++ b/src/services/build.js @@ -1 +1 @@ -module.exports = { buildDate:"2023-04-17T21:40:35+02:00", buildRevision: "1d3272e9f8c27106a66227fbb580677ae5d70427" }; +module.exports = { buildDate:"2023-05-18T23:31:57+02:00", buildRevision: "14dd2b882750ea5484d1aba1f2b57c931bc76e9c" }; From 0728f540abe86063603ba0f146bdd02e616e1e6c Mon Sep 17 00:00:00 2001 From: zadam Date: Thu, 18 May 2023 23:57:18 +0200 Subject: [PATCH 15/16] locked versions --- package-lock.json | 2809 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 26 +- 2 files changed, 2759 insertions(+), 76 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15866eec4..2cdeb9257 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "trilium", - "version": "0.59.4", + "version": "0.60.0-beta", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "trilium", - "version": "0.59.4", + "version": "0.60.0-beta", "hasInstallScript": true, "license": "AGPL-3.0-only", "dependencies": { @@ -24,13 +24,13 @@ "cookie-parser": "1.4.6", "csurf": "1.11.0", "dayjs": "1.11.7", - "dayjs-plugin-utc": "^0.1.2", - "debounce": "^1.2.1", + "dayjs-plugin-utc": "0.1.2", + "debounce": "1.2.1", "ejs": "3.1.9", "electron-debug": "3.2.0", "electron-dl": "3.5.0", "electron-window-state": "5.0.3", - "escape-html": "^1.0.3", + "escape-html": "1.0.3", "express": "4.18.2", "express-partial-content": "1.0.2", "express-rate-limit": "6.7.0", @@ -83,11 +83,21 @@ "electron-builder": "23.6.0", "electron-packager": "17.1.1", "electron-rebuild": "3.2.9", - "eslint": "^8.38.0", + "eslint": "8.38.0", + "eslint-config-airbnb-base": "15.0.0", + "eslint-config-prettier": "8.8.0", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-jsonc": "2.7.0", + "eslint-plugin-prettier": "4.2.1", "esm": "3.2.25", + "husky": "8.0.3", "jasmine": "4.6.0", "jsdoc": "4.0.2", + "jsonc-eslint-parser": "2.2.0", + "lint-staged": "13.2.1", "lorem-ipsum": "2.0.8", + "nodemon": "2.0.22", + "prettier": "2.8.7", "rcedit": "3.0.1", "webpack": "5.78.0", "webpack-cli": "5.0.1" @@ -1232,6 +1242,12 @@ "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, "node_modules/@types/keyv": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", @@ -1672,6 +1688,33 @@ "ajv": "^6.9.1" } }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1972,11 +2015,79 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/asar": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz", @@ -2049,7 +2160,6 @@ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, - "optional": true, "engines": { "node": ">=8" } @@ -2105,6 +2215,18 @@ "node": ">=0.8" } }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -2923,7 +3045,6 @@ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, - "optional": true, "dependencies": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" @@ -3039,9 +3160,9 @@ } }, "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "node_modules/combined-stream": { @@ -3201,6 +3322,12 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "optional": true }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -3615,10 +3742,10 @@ } }, "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "optional": true, + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "devOptional": true, "dependencies": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -3893,6 +4020,12 @@ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -4829,12 +4962,100 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -4950,6 +5171,222 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" + } + }, + "node_modules/eslint-config-airbnb-base/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsonc": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.7.0.tgz", + "integrity": "sha512-DZgC71h/hZ9t5k/OGAKOMdJCleg2neZLL7No+YYi2ZMroCN4X5huZdrLf1USbrc6UTHwYujd1EDwXHg1qJ6CYw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "jsonc-eslint-parser": "^2.0.4", + "natural-compare": "^1.4.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -5261,6 +5698,68 @@ "node": ">=0.8.x" } }, + "node_modules/execa": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/exif-parser": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", @@ -5531,6 +6030,12 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, "node_modules/fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -5835,6 +6340,15 @@ } } }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -5930,6 +6444,33 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/galactus": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz", @@ -6017,13 +6558,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6067,6 +6609,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -6197,7 +6755,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "optional": true, + "devOptional": true, "dependencies": { "define-properties": "^1.1.3" }, @@ -6208,6 +6766,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/got": { "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", @@ -6282,6 +6852,15 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6294,7 +6873,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "optional": true, + "devOptional": true, "dependencies": { "get-intrinsic": "^1.1.1" }, @@ -6302,6 +6881,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -6313,6 +6903,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -6492,6 +7097,15 @@ "node": ">= 6" } }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -6501,6 +7115,21 @@ "ms": "^2.0.0" } }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/iconv-corefoundation": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", @@ -6557,6 +7186,12 @@ "node": ">= 4" } }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true + }, "node_modules/image-q": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz", @@ -6675,6 +7310,20 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", @@ -6703,12 +7352,38 @@ "resolved": "https://registry.npmjs.org/is-animated/-/is-animated-2.0.2.tgz", "integrity": "sha512-+Hi3UdXHV/3ZgxdO9Ik45ciNhDlYrDOIdGz7Cj7ybddWnYBi4kwBuGMn79Xa2Js4VldgX5e3943Djsr/KYSPbA==" }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -6720,6 +7395,34 @@ "node": ">=8" } }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", @@ -6733,9 +7436,9 @@ } }, "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -6744,6 +7447,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-docker": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", @@ -6814,6 +7532,18 @@ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -6822,6 +7552,21 @@ "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -6852,6 +7597,61 @@ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-svg": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.2.tgz", @@ -6866,6 +7666,40 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -6883,6 +7717,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -7264,6 +8110,24 @@ "node": ">=6" } }, + "node_modules/jsonc-eslint-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.2.0.tgz", + "integrity": "sha512-x5QjzBOORd+T2EjErIxJnkOEbLVEdD1ILEeBbIJt8Eq/zUn7P7M8qdnWiNVBK5f8oxnJpc6SBHOeeIEl/swPjg==", + "dev": true, + "dependencies": { + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -7372,6 +8236,15 @@ "node": ">= 0.8.0" } }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/limiter": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", @@ -7386,6 +8259,207 @@ "uc.micro": "^1.0.1" } }, + "node_modules/lint-staged": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.2.1.tgz", + "integrity": "sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==", + "dev": true, + "dependencies": { + "chalk": "5.2.0", + "cli-truncate": "^3.1.0", + "commander": "^10.0.0", + "debug": "^4.3.4", + "execa": "^7.0.0", + "lilconfig": "2.1.0", + "listr2": "^5.0.7", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-inspect": "^1.12.3", + "pidtree": "^0.6.0", + "string-argv": "^0.3.1", + "yaml": "^2.2.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/lint-staged/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/lint-staged/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/load-bmfont": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", @@ -7497,6 +8571,41 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -7755,6 +8864,19 @@ "node": ">= 0.6" } }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -8193,6 +9315,91 @@ "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, + "node_modules/nodemon": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz", + "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/nodemon/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nodemon/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/nodemon/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", @@ -8276,6 +9483,33 @@ "node": ">=4" } }, + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/npmlog": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", @@ -8322,9 +9556,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8333,11 +9567,60 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "optional": true, + "devOptional": true, "engines": { "node": ">= 0.4" } }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/omggif": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", @@ -8769,6 +10052,18 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -8902,6 +10197,33 @@ "node": ">=4" } }, + "node_modules/prettier": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/printj": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", @@ -8981,6 +10303,12 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -9316,6 +10644,23 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -9397,12 +10742,12 @@ } }, "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "dependencies": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -9483,6 +10828,12 @@ "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, "node_modules/rimraf": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.0.tgz", @@ -9597,6 +10948,15 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -9610,6 +10970,20 @@ "buffer-alloc": "^1.2.0" } }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -10064,7 +11438,6 @@ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, - "optional": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -10293,6 +11666,15 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -10312,6 +11694,51 @@ "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz", "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=" }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -10333,6 +11760,18 @@ "node": ">=4" } }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -10626,6 +12065,12 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, "node_modules/timm": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", @@ -10719,6 +12164,33 @@ "url": "https://github.com/sponsors/Borewit" } }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/touch/node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, "node_modules/tough-cookie": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", @@ -10772,6 +12244,30 @@ "utf8-byte-length": "^1.0.1" } }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/tslib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", @@ -10853,6 +12349,20 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -10883,6 +12393,27 @@ "node": ">= 0.8" } }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, "node_modules/underscore": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", @@ -11263,12 +12794,48 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "optional": true }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -11296,7 +12863,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "optional": true, + "devOptional": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -11416,6 +12983,15 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, "node_modules/yargs": { "version": "17.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", @@ -12394,6 +13970,12 @@ "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, "@types/keyv": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", @@ -12780,6 +14362,23 @@ "dev": true, "requires": {} }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -13030,11 +14629,58 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, "asar": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz", @@ -13092,8 +14738,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "optional": true + "dev": true }, "async-exit-hook": { "version": "2.0.1", @@ -13134,6 +14779,12 @@ "integrity": "sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=", "devOptional": true }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -13781,7 +15432,6 @@ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, - "optional": true, "requires": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" @@ -13871,9 +15521,9 @@ "devOptional": true }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "combined-stream": { @@ -14008,6 +15658,12 @@ } } }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -14306,10 +15962,10 @@ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" }, "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "optional": true, + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "devOptional": true, "requires": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -14514,6 +16170,12 @@ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -15250,12 +16912,85 @@ "is-arrayish": "^0.2.1" } }, + "es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, "es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -15468,6 +17203,171 @@ } } }, + "eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-jsonc": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.7.0.tgz", + "integrity": "sha512-DZgC71h/hZ9t5k/OGAKOMdJCleg2neZLL7No+YYi2ZMroCN4X5huZdrLf1USbrc6UTHwYujd1EDwXHg1qJ6CYw==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "jsonc-eslint-parser": "^2.0.4", + "natural-compare": "^1.4.0" + } + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -15553,6 +17453,46 @@ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, + "execa": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + } + } + }, "exif-parser": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", @@ -15745,6 +17685,12 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -15981,6 +17927,15 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -16055,6 +18010,24 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, "galactus": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz", @@ -16135,13 +18108,14 @@ } }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" } }, "get-package-info": { @@ -16175,6 +18149,16 @@ "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -16280,11 +18264,20 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "optional": true, + "devOptional": true, "requires": { "define-properties": "^1.1.3" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "got": { "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", @@ -16343,6 +18336,12 @@ "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -16352,16 +18351,30 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "optional": true, + "devOptional": true, "requires": { "get-intrinsic": "^1.1.1" } }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -16499,6 +18512,12 @@ "debug": "4" } }, + "human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true + }, "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -16508,6 +18527,12 @@ "ms": "^2.0.0" } }, + "husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true + }, "iconv-corefoundation": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", @@ -16538,6 +18563,12 @@ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true + }, "image-q": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz", @@ -16632,6 +18663,17 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==" }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, "interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", @@ -16654,12 +18696,32 @@ "resolved": "https://registry.npmjs.org/is-animated/-/is-animated-2.0.2.tgz", "integrity": "sha512-+Hi3UdXHV/3ZgxdO9Ik45ciNhDlYrDOIdGz7Cj7ybddWnYBi4kwBuGMn79Xa2Js4VldgX5e3943Djsr/KYSPbA==" }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -16668,6 +18730,22 @@ "binary-extensions": "^2.0.0" } }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, "is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", @@ -16678,14 +18756,23 @@ } }, "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "requires": { "has": "^1.0.3" } }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-docker": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", @@ -16732,11 +18819,26 @@ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -16758,6 +18860,40 @@ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-svg": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.2.tgz", @@ -16766,6 +18902,28 @@ "fast-xml-parser": "^3.19.0" } }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -16777,6 +18935,15 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -17079,6 +19246,18 @@ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true }, + "jsonc-eslint-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.2.0.tgz", + "integrity": "sha512-x5QjzBOORd+T2EjErIxJnkOEbLVEdD1ILEeBbIJt8Eq/zUn7P7M8qdnWiNVBK5f8oxnJpc6SBHOeeIEl/swPjg==", + "dev": true, + "requires": { + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" + } + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -17169,6 +19348,12 @@ "type-check": "~0.3.2" } }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true + }, "limiter": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", @@ -17183,6 +19368,134 @@ "uc.micro": "^1.0.1" } }, + "lint-staged": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.2.1.tgz", + "integrity": "sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==", + "dev": true, + "requires": { + "chalk": "5.2.0", + "cli-truncate": "^3.1.0", + "commander": "^10.0.0", + "debug": "^4.3.4", + "execa": "^7.0.0", + "lilconfig": "2.1.0", + "listr2": "^5.0.7", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-inspect": "^1.12.3", + "pidtree": "^0.6.0", + "string-argv": "^0.3.1", + "yaml": "^2.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "dev": true + }, + "cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "requires": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + } + }, + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true + }, + "slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + } + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, "load-bmfont": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", @@ -17279,6 +19592,31 @@ "is-unicode-supported": "^0.1.0" } }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + } + } + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -17475,6 +19813,16 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -17809,6 +20157,71 @@ "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, + "nodemon": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz", + "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==", + "dev": true, + "requires": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", @@ -17872,6 +20285,23 @@ } } }, + "npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + }, + "dependencies": { + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + } + } + }, "npmlog": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", @@ -17909,15 +20339,49 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "optional": true + "devOptional": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } }, "omggif": { "version": "1.0.10", @@ -18252,6 +20716,12 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, + "pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -18349,6 +20819,21 @@ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" }, + "prettier": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, "printj": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", @@ -18410,6 +20895,12 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -18665,6 +21156,17 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, + "regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -18735,12 +21237,12 @@ } }, "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "requires": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -18796,6 +21298,12 @@ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, "rimraf": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.0.tgz", @@ -18871,6 +21379,15 @@ "queue-microtask": "^1.2.2" } }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -18884,6 +21401,17 @@ "buffer-alloc": "^1.2.0" } }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -19230,7 +21758,6 @@ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, - "optional": true, "requires": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -19409,6 +21936,12 @@ "safe-buffer": "~5.1.0" } }, + "string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -19425,6 +21958,39 @@ "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz", "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=" }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -19440,6 +22006,12 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -19649,6 +22221,12 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, "timm": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", @@ -19719,6 +22297,26 @@ "ieee754": "^1.2.1" } }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + }, + "dependencies": { + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "requires": { + "abbrev": "1" + } + } + } + }, "tough-cookie": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", @@ -19762,6 +22360,29 @@ "utf8-byte-length": "^1.0.1" } }, + "tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, "tslib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", @@ -19822,6 +22443,17 @@ "mime-types": "~2.1.24" } }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -19849,6 +22481,24 @@ "random-bytes": "~1.0.0" } }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, "underscore": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", @@ -20130,12 +22780,39 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "optional": true }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, "wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -20160,7 +22837,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "optional": true, + "devOptional": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -20251,6 +22928,12 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "dev": true + }, "yargs": { "version": "17.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", diff --git a/package.json b/package.json index 45b634003..a486b0937 100644 --- a/package.json +++ b/package.json @@ -45,13 +45,13 @@ "cookie-parser": "1.4.6", "csurf": "1.11.0", "dayjs": "1.11.7", - "dayjs-plugin-utc": "^0.1.2", - "debounce": "^1.2.1", + "dayjs-plugin-utc": "0.1.2", + "debounce": "1.2.1", "ejs": "3.1.9", "electron-debug": "3.2.0", "electron-dl": "3.5.0", "electron-window-state": "5.0.3", - "escape-html": "^1.0.3", + "escape-html": "1.0.3", "express": "4.18.2", "express-partial-content": "1.0.2", "express-rate-limit": "6.7.0", @@ -101,21 +101,21 @@ "electron-builder": "23.6.0", "electron-packager": "17.1.1", "electron-rebuild": "3.2.9", - "eslint": "^8.38.0", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsonc": "^2.7.0", - "eslint-plugin-prettier": "^4.2.1", + "eslint": "8.38.0", + "eslint-config-airbnb-base": "15.0.0", + "eslint-config-prettier": "8.8.0", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-jsonc": "2.7.0", + "eslint-plugin-prettier": "4.2.1", "esm": "3.2.25", - "husky": "^8.0.3", - "jsonc-eslint-parser": "^2.2.0", - "lint-staged": "^13.2.1", + "husky": "8.0.3", + "jsonc-eslint-parser": "2.2.0", + "lint-staged": "13.2.1", "jasmine": "4.6.0", "jsdoc": "4.0.2", "lorem-ipsum": "2.0.8", "prettier": "2.8.7", - "nodemon": "^2.0.22", + "nodemon": "2.0.22", "rcedit": "3.0.1", "webpack": "5.78.0", "webpack-cli": "5.0.1" From 7fc2824325f6a6bcbbd2e18179d69dbd4ac65d09 Mon Sep 17 00:00:00 2001 From: zadam Date: Sat, 20 May 2023 14:23:22 +0200 Subject: [PATCH 16/16] ignore husky install error --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2cdeb9257..dca71a6c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6031,9 +6031,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, "node_modules/fast-json-stable-stringify": { @@ -17686,9 +17686,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, "fast-json-stable-stringify": { diff --git a/package.json b/package.json index a486b0937..1ae717db3 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "test": "npm run test-jasmine && npm run test-es6", "postinstall": "rimraf ./node_modules/canvas", "lint": "eslint . --cache", - "prepare": "husky install" + "prepare": "husky install || echo 'Husky install failed, expected on flatpak build'" }, "dependencies": { "@braintree/sanitize-url": "6.0.2",