From ad7f6547a1f1775fefef9567a9021c1f28aeea08 Mon Sep 17 00:00:00 2001
From: trickypr <23250792+trickypr@users.noreply.github.com>
Date: Tue, 2 Jan 2024 13:59:40 +1100
Subject: [PATCH 01/10] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Move=20a=20lot=20of?=
=?UTF-8?q?=20files=20around=20(this=20is=20broken)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../actors/lib/ClickHandlerChild.sys.mjs | 29 +-
.../actors/lib/ClickHandlerParent.sys.mjs | 10 +-
.../actors/lib/ContextMenuChild.sys.mjs | 74 +-
.../actors/lib/ContextMenuParent.sys.mjs | 11 +-
.../actors/lib/LinkHandlerChild.sys.mjs | 49 +-
.../actors/lib/LinkHandlerParent.sys.mjs | 6 +-
apps/actors/package.json | 9 +
apps/content/package.json | 41 +
.../patches}/@melt-ui__svelte@0.64.5.patch | 0
.../content/patches}/svelte@4.2.1.patch | 0
.../webpack-license-plugin@4.4.2.patch | 0
apps/content/pnpm-lock.yaml | 3356 ++++++++++++++++
.../content/src}/bookmarks/Bookmarks.svelte | 0
.../content/src}/bookmarks/bookmarks.css | 0
.../content/src}/bookmarks/bookmarks.ts | 0
.../components/BookmarkEditor.svelte | 0
.../bookmarks/components/BookmarkItem.svelte | 0
.../bookmarks/components/BookmarkTree.svelte | 0
.../content/src}/browser/Browser.svelte | 0
.../content/src}/browser/browser.css | 0
.../content/src}/browser/browser.ts | 0
.../src}/browser/components/Browser.svelte | 0
.../components/customizableUI/Block.svelte | 0
.../customizableUI/BrowserView.svelte | 0
.../customizableUI/CustomizableUI.svelte | 0
.../customizableUI/IconButton.svelte | 0
.../customizableUI/OmniboxContainer.svelte | 0
.../components/customizableUI/Spacer.svelte | 0
.../components/customizableUI/Tabs.svelte | 0
.../customizableUI/UIItemBase.svelte | 0
.../components/customizableUI/index.ts | 0
.../components/keybindings/Keybinding.svelte | 0
.../components/keybindings/Keybindings.svelte | 0
.../menus/BrowserContextMenu.svelte | 0
.../menus/HamburgerMenu/HamburgerMenu.svelte | 0
.../HamburgerMenu/HamburgerMenuItem.svelte | 0
.../src}/browser/components/menus/index.ts | 0
.../components/omnibox/Bookmarks.svelte | 0
.../browser/components/omnibox/Omnibox.svelte | 0
.../components/omnibox/PageAction.svelte | 0
.../src}/browser/components/tabs/Tab.svelte | 0
.../src}/browser/components/tabs/tabDrag.ts | 0
.../content/src}/browser/lib/binaryEnums.ts | 0
.../content/src}/browser/lib/devtools.ts | 0
.../content/src}/browser/lib/fp.ts | 0
.../content/src}/browser/lib/keybinds.ts | 0
.../lib/modules/EPageActionsBindings.ts | 0
.../content/src}/browser/lib/resources.ts | 0
.../content/src}/browser/lib/shortcuts.ts | 0
.../content/src}/browser/lib/spinlock.ts | 0
.../content/src}/browser/lib/window/api.ts | 0
.../src}/browser/lib/window/arguments.ts | 0
.../src}/browser/lib/window/contextMenu.ts | 0
.../content/src}/browser/lib/window/index.ts | 0
.../src}/browser/lib/window/initialize.ts | 0
.../content/src}/browser/lib/window/tab.ts | 0
.../content/src}/browser/lib/window/tabs.ts | 0
.../content/src}/browser/lib/window/window.ts | 0
.../src}/browser/lib/xul/NSBrowserAccess.ts | 0
.../src}/browser/lib/xul/XULBrowserWindow.ts | 0
.../content/src}/browser/lib/xul/browser.ts | 0
.../content/src}/browser/lib/xul/ccWrapper.ts | 0
.../content/src}/browser/lib/xul/domevents.ts | 0
.../content/src}/contentAreaUtils.d.ts | 0
.../content/src}/credits/Credits.svelte | 0
.../content/src}/credits/credits.ts | 0
.../content/src}/globalOverlay.d.ts | 0
.../content/src}/history/History.svelte | 0
.../src}/history/component/Entry.svelte | 0
.../component/HistoryContainerNode.svelte | 0
.../history/component/HistoryItemNode.svelte | 0
.../src}/history/component/HistoryNode.svelte | 0
.../content/src}/history/history.ts | 0
{src/content => apps/content/src}/index.html | 0
{src/content => apps/content/src}/reset.d.ts | 0
.../content/src}/settings/Settings.svelte | 0
.../src}/settings/components/Category.svelte | 0
.../settings/components/SubCategory.svelte | 0
.../ContextMenuPref/ContextMenuPref.svelte | 0
.../ContextMenuPref/ContextMenuPreview.svelte | 0
.../pref/ContextMenuPref/InsertItem.svelte | 0
.../pref/ContextMenuPref/PreviewItem.svelte | 0
.../components/pref/ContextMenuPref/index.ts | 0
.../pref/ContextMenuPref/prefWrapper.ts | 0
.../pref/CustomizableUI/Component.svelte | 0
.../CustomizableUI/Components/Block.svelte | 0
.../CustomizableUI/Components/Browser.svelte | 0
.../Components/IconButton.svelte | 0
.../CustomizableUI/Components/Omnibox.svelte | 0
.../CustomizableUI/Components/Spacer.svelte | 0
.../CustomizableUI/Components/Tabs.svelte | 0
.../Components/TempDropTarget.svelte | 0
.../pref/CustomizableUI/Components/index.ts | 0
.../pref/CustomizableUI/Configure.svelte | 0
.../CustomizableUI/CustomizableUIPref.svelte | 0
.../components/pref/CustomizableUI/index.ts | 0
.../components/pref/SelectPref.svelte | 0
.../components/pref/StringPref.svelte | 0
.../src}/settings/components/pref/index.ts | 0
.../components/sidebar/Sidebar.svelte | 0
.../src}/settings/components/sidebar/index.ts | 0
.../settings/components/sidebar/sidebar.ts | 0
.../content/src}/settings/settings.css | 0
.../content/src}/settings/settings.ts | 0
.../content/src}/shared/Deferred.ts | 0
.../content/src}/shared/ExtBookmarkAPI.ts | 0
.../content/src}/shared/ExtHistoryAPI.ts | 0
.../src}/shared/TypedImportUtilities.ts | 0
.../src}/shared/components/Button.svelte | 0
.../src}/shared/components/FancySelect.svelte | 0
.../src}/shared/components/Spinner.svelte | 0
.../src}/shared/components/TextInput.svelte | 0
.../shared/components/ToolbarButton.svelte | 0
.../shared/components/Tree/TreeView.svelte | 0
.../src}/shared/components/Tree/index.ts | 0
.../content/src}/shared/components/index.ts | 0
.../src}/shared/contextMenus/MenuItem.ts | 0
.../content/src}/shared/contextMenus/index.ts | 0
.../src}/shared/contextMenus/menuItems.ts | 0
.../src}/shared/customizableUI/helpers.ts | 0
.../src}/shared/customizableUI/index.ts | 0
.../src}/shared/customizableUI/items.ts | 0
.../src}/shared/customizableUI/style.ts | 0
.../src}/shared/customizableUI/types.ts | 0
.../content/src}/shared/domUtils.ts | 0
.../content/src}/shared/lazy.ts | 0
.../content/src}/shared/mittUtils.ts | 0
.../content/src}/shared/search/constants.ts | 0
.../content/src}/shared/search/engine.ts | 0
.../content/src}/shared/search/provider.ts | 0
.../shared/search/providers/EngineProvider.ts | 0
.../shared/search/providers/URLProvider.ts | 0
.../src}/shared/search/providers/data/tld.txt | 0
.../src}/shared/search/providers/index.ts | 0
.../content/src}/shared/search/resources.ts | 0
.../content/src}/shared/search/suggestions.ts | 0
.../content/src}/shared/styles/global.css | 0
.../content/src}/shared/styles/window.css | 0
.../src}/shared/svelteUtils.svelte.license.md | 0
.../content/src}/shared/svelteUtils.ts | 0
.../content/src}/shared/xul/PlacesModel.ts | 0
.../content/src}/shared/xul/messageReciver.ts | 0
.../content/src}/shared/xul/observable.ts | 0
.../content/src}/tests/manager.ts | 0
.../src}/tests/shared/ExtHistoryAPI.ts | 0
.../tests/shared/contextMenus/MenuItem.ts | 0
.../src}/tests/shared/contextMenus/index.ts | 0
.../content/src}/tests/shared/index.ts | 0
.../content/src}/tests/shared/search/index.ts | 0
.../shared/search/providers/EngineProvider.ts | 0
.../shared/search/providers/URLProvider.ts | 0
.../tests/shared/search/providers/index.ts | 0
.../src}/tests/shared/search/suggestions.ts | 0
.../content/src}/tests/tests.ts | 0
{src/content => apps/content/src}/types.d.ts | 0
.../static}/search-extensions/README.md | 0
.../static}/search-extensions/ddg/favicon.ico | Bin
.../search-extensions/ddg/manifest.json | 0
.../search-extensions/google/favicon.ico | Bin
.../search-extensions/google/manifest.json | 0
.../extensions/lib}/ext-browser.json | 0
.../extensions/lib}/parent/ext-browser.js | 1 -
.../extensions/lib}/parent/ext-pageAction.js | 6 +-
.../extensions/lib}/sharedTypes.d.ts | 0
.../extensions/lib}/types/ConduitChild.d.ts | 0
.../extensions/lib}/types/index.d.ts | 2 +-
.../extensions/lib}/types/utils.d.ts | 0
apps/extensions/package.json | 8 +
apps/misc/package.json | 12 +
.../misc/static/defaults/pref}/prefs.js | 0
.../localization/en-US/branding/brand.ftl | 0
.../en-US/browser/appExtensionFields.ftl | 0
.../browser/components/mozSupportLink.ftl | 0
.../misc/static}/localization/link.json | 0
.../modules/lib/BrowserGlue.sys.mjs | 30 +-
apps/modules/lib/BrowserWindowTracker.sys.mjs | 52 +
apps/modules/lib/EPageActions.sys.mjs | 108 +
.../modules/lib}/FaviconLoader.sys.mjs | 0
apps/modules/lib/TypedImportUtils.sys.mjs | 10 +
.../modules => apps/modules/lib}/mitt.sys.mjs | 0
.../lib}/sessionstore/SessionStore.sys.mjs | 0
apps/modules/package.json | 8 +
lib/link/package.json | 13 +
lib/link/types/_link.d.ts | 20 +
lib/link/types/globals/ChromeUtils.d.ts | 4 +
lib/link/types/globals/Cr.d.ts | 1 +
lib/link/types/globals/Elements.d.ts | 78 +
.../link/types/globals}/MatchPattern.d.ts | 0
.../link/types/globals}/MessageManager.d.ts | 0
lib/link/types/interfaces/ClickHandler.d.ts | 4 +
lib/link/types/interfaces/ContextMenu.d.ts | 29 +
.../types/interfaces/GenericDeferred.d.ts | 28 +
.../link/types/modules}/AppConstants.d.ts | 8 +
.../types/modules/BrowserWindowTracker.d.ts | 50 +
lib/link/types/modules/EPageActions.d.ts | 96 +
.../link/types/modules/PlacesUtils.d.ts | 164 +-
lib/link/types/modules/mitt.d.ts | 6 +
lib/link/types/modules/typedImport.d.ts | 16 +
lib/shared/package.json | 22 +
lib/shared/src/index.ts | 6 +
.../shared/src/lazy.ts | 11 +-
lib/shared/src/utilities/deferred.ts | 33 +
lib/shared/src/utilities/index.ts | 2 +
lib/shared/src/utilities/mitt.ts | 17 +
lib/shared/src/utilities/svelte.license.md | 9 +
lib/shared/src/utilities/svelte.ts | 119 +
lib/shared/src/xul/PlacesModel.ts | 199 +
lib/shared/src/xul/index.ts | 3 +
lib/shared/src/xul/messageReceiver.ts | 14 +
lib/shared/src/xul/observable.ts | 22 +
lib/shared/tsconfig.json | 10 +
package.json | 41 +-
pnpm-lock.yaml | 3566 +++++++++++++++--
pnpm-workspace.yaml | 3 +
src/actors/ContextMenu.types.ts | 30 -
src/actors/link.json | 8 -
src/modules/BrowserWindowTracker.ts | 68 -
src/modules/EPageActions.ts | 133 -
src/modules/link.json | 1 -
.../en-US/locale/branding/brand.properties | 7 -
static/chrome/link.json | 1 -
static/modules/link.json | 1 -
222 files changed, 7797 insertions(+), 868 deletions(-)
rename src/actors/ClickHandlerChild.ts => apps/actors/lib/ClickHandlerChild.sys.mjs (58%)
rename src/actors/ClickHandlerParent.ts => apps/actors/lib/ClickHandlerParent.sys.mjs (77%)
rename src/actors/ContextMenuChild.ts => apps/actors/lib/ContextMenuChild.sys.mjs (60%)
rename src/actors/ContextMenuParent.ts => apps/actors/lib/ContextMenuParent.sys.mjs (69%)
rename src/actors/LinkHandlerChild.ts => apps/actors/lib/LinkHandlerChild.sys.mjs (84%)
rename src/actors/LinkHandlerParent.ts => apps/actors/lib/LinkHandlerParent.sys.mjs (77%)
create mode 100644 apps/actors/package.json
create mode 100644 apps/content/package.json
rename {patches => apps/content/patches}/@melt-ui__svelte@0.64.5.patch (100%)
rename {patches => apps/content/patches}/svelte@4.2.1.patch (100%)
rename {patches => apps/content/patches}/webpack-license-plugin@4.4.2.patch (100%)
create mode 100644 apps/content/pnpm-lock.yaml
rename {src/content => apps/content/src}/bookmarks/Bookmarks.svelte (100%)
rename {src/content => apps/content/src}/bookmarks/bookmarks.css (100%)
rename {src/content => apps/content/src}/bookmarks/bookmarks.ts (100%)
rename {src/content => apps/content/src}/bookmarks/components/BookmarkEditor.svelte (100%)
rename {src/content => apps/content/src}/bookmarks/components/BookmarkItem.svelte (100%)
rename {src/content => apps/content/src}/bookmarks/components/BookmarkTree.svelte (100%)
rename {src/content => apps/content/src}/browser/Browser.svelte (100%)
rename {src/content => apps/content/src}/browser/browser.css (100%)
rename {src/content => apps/content/src}/browser/browser.ts (100%)
rename {src/content => apps/content/src}/browser/components/Browser.svelte (100%)
rename {src/content => apps/content/src}/browser/components/customizableUI/Block.svelte (100%)
rename {src/content => apps/content/src}/browser/components/customizableUI/BrowserView.svelte (100%)
rename {src/content => apps/content/src}/browser/components/customizableUI/CustomizableUI.svelte (100%)
rename {src/content => apps/content/src}/browser/components/customizableUI/IconButton.svelte (100%)
rename {src/content => apps/content/src}/browser/components/customizableUI/OmniboxContainer.svelte (100%)
rename {src/content => apps/content/src}/browser/components/customizableUI/Spacer.svelte (100%)
rename {src/content => apps/content/src}/browser/components/customizableUI/Tabs.svelte (100%)
rename {src/content => apps/content/src}/browser/components/customizableUI/UIItemBase.svelte (100%)
rename {src/content => apps/content/src}/browser/components/customizableUI/index.ts (100%)
rename {src/content => apps/content/src}/browser/components/keybindings/Keybinding.svelte (100%)
rename {src/content => apps/content/src}/browser/components/keybindings/Keybindings.svelte (100%)
rename {src/content => apps/content/src}/browser/components/menus/BrowserContextMenu.svelte (100%)
rename {src/content => apps/content/src}/browser/components/menus/HamburgerMenu/HamburgerMenu.svelte (100%)
rename {src/content => apps/content/src}/browser/components/menus/HamburgerMenu/HamburgerMenuItem.svelte (100%)
rename {src/content => apps/content/src}/browser/components/menus/index.ts (100%)
rename {src/content => apps/content/src}/browser/components/omnibox/Bookmarks.svelte (100%)
rename {src/content => apps/content/src}/browser/components/omnibox/Omnibox.svelte (100%)
rename {src/content => apps/content/src}/browser/components/omnibox/PageAction.svelte (100%)
rename {src/content => apps/content/src}/browser/components/tabs/Tab.svelte (100%)
rename {src/content => apps/content/src}/browser/components/tabs/tabDrag.ts (100%)
rename {src/content => apps/content/src}/browser/lib/binaryEnums.ts (100%)
rename {src/content => apps/content/src}/browser/lib/devtools.ts (100%)
rename {src/content => apps/content/src}/browser/lib/fp.ts (100%)
rename {src/content => apps/content/src}/browser/lib/keybinds.ts (100%)
rename {src/content => apps/content/src}/browser/lib/modules/EPageActionsBindings.ts (100%)
rename {src/content => apps/content/src}/browser/lib/resources.ts (100%)
rename {src/content => apps/content/src}/browser/lib/shortcuts.ts (100%)
rename {src/content => apps/content/src}/browser/lib/spinlock.ts (100%)
rename {src/content => apps/content/src}/browser/lib/window/api.ts (100%)
rename {src/content => apps/content/src}/browser/lib/window/arguments.ts (100%)
rename {src/content => apps/content/src}/browser/lib/window/contextMenu.ts (100%)
rename {src/content => apps/content/src}/browser/lib/window/index.ts (100%)
rename {src/content => apps/content/src}/browser/lib/window/initialize.ts (100%)
rename {src/content => apps/content/src}/browser/lib/window/tab.ts (100%)
rename {src/content => apps/content/src}/browser/lib/window/tabs.ts (100%)
rename {src/content => apps/content/src}/browser/lib/window/window.ts (100%)
rename {src/content => apps/content/src}/browser/lib/xul/NSBrowserAccess.ts (100%)
rename {src/content => apps/content/src}/browser/lib/xul/XULBrowserWindow.ts (100%)
rename {src/content => apps/content/src}/browser/lib/xul/browser.ts (100%)
rename {src/content => apps/content/src}/browser/lib/xul/ccWrapper.ts (100%)
rename {src/content => apps/content/src}/browser/lib/xul/domevents.ts (100%)
rename {src/content => apps/content/src}/contentAreaUtils.d.ts (100%)
rename {src/content => apps/content/src}/credits/Credits.svelte (100%)
rename {src/content => apps/content/src}/credits/credits.ts (100%)
rename {src/content => apps/content/src}/globalOverlay.d.ts (100%)
rename {src/content => apps/content/src}/history/History.svelte (100%)
rename {src/content => apps/content/src}/history/component/Entry.svelte (100%)
rename {src/content => apps/content/src}/history/component/HistoryContainerNode.svelte (100%)
rename {src/content => apps/content/src}/history/component/HistoryItemNode.svelte (100%)
rename {src/content => apps/content/src}/history/component/HistoryNode.svelte (100%)
rename {src/content => apps/content/src}/history/history.ts (100%)
rename {src/content => apps/content/src}/index.html (100%)
rename {src/content => apps/content/src}/reset.d.ts (100%)
rename {src/content => apps/content/src}/settings/Settings.svelte (100%)
rename {src/content => apps/content/src}/settings/components/Category.svelte (100%)
rename {src/content => apps/content/src}/settings/components/SubCategory.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/ContextMenuPref/ContextMenuPref.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/ContextMenuPref/ContextMenuPreview.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/ContextMenuPref/InsertItem.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/ContextMenuPref/PreviewItem.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/ContextMenuPref/index.ts (100%)
rename {src/content => apps/content/src}/settings/components/pref/ContextMenuPref/prefWrapper.ts (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Component.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Components/Block.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Components/Browser.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Components/IconButton.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Components/Omnibox.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Components/Spacer.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Components/Tabs.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Components/TempDropTarget.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Components/index.ts (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/Configure.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/CustomizableUIPref.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/CustomizableUI/index.ts (100%)
rename {src/content => apps/content/src}/settings/components/pref/SelectPref.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/StringPref.svelte (100%)
rename {src/content => apps/content/src}/settings/components/pref/index.ts (100%)
rename {src/content => apps/content/src}/settings/components/sidebar/Sidebar.svelte (100%)
rename {src/content => apps/content/src}/settings/components/sidebar/index.ts (100%)
rename {src/content => apps/content/src}/settings/components/sidebar/sidebar.ts (100%)
rename {src/content => apps/content/src}/settings/settings.css (100%)
rename {src/content => apps/content/src}/settings/settings.ts (100%)
rename {src/content => apps/content/src}/shared/Deferred.ts (100%)
rename {src/content => apps/content/src}/shared/ExtBookmarkAPI.ts (100%)
rename {src/content => apps/content/src}/shared/ExtHistoryAPI.ts (100%)
rename {src/content => apps/content/src}/shared/TypedImportUtilities.ts (100%)
rename {src/content => apps/content/src}/shared/components/Button.svelte (100%)
rename {src/content => apps/content/src}/shared/components/FancySelect.svelte (100%)
rename {src/content => apps/content/src}/shared/components/Spinner.svelte (100%)
rename {src/content => apps/content/src}/shared/components/TextInput.svelte (100%)
rename {src/content => apps/content/src}/shared/components/ToolbarButton.svelte (100%)
rename {src/content => apps/content/src}/shared/components/Tree/TreeView.svelte (100%)
rename {src/content => apps/content/src}/shared/components/Tree/index.ts (100%)
rename {src/content => apps/content/src}/shared/components/index.ts (100%)
rename {src/content => apps/content/src}/shared/contextMenus/MenuItem.ts (100%)
rename {src/content => apps/content/src}/shared/contextMenus/index.ts (100%)
rename {src/content => apps/content/src}/shared/contextMenus/menuItems.ts (100%)
rename {src/content => apps/content/src}/shared/customizableUI/helpers.ts (100%)
rename {src/content => apps/content/src}/shared/customizableUI/index.ts (100%)
rename {src/content => apps/content/src}/shared/customizableUI/items.ts (100%)
rename {src/content => apps/content/src}/shared/customizableUI/style.ts (100%)
rename {src/content => apps/content/src}/shared/customizableUI/types.ts (100%)
rename {src/content => apps/content/src}/shared/domUtils.ts (100%)
rename {src/content => apps/content/src}/shared/lazy.ts (100%)
rename {src/content => apps/content/src}/shared/mittUtils.ts (100%)
rename {src/content => apps/content/src}/shared/search/constants.ts (100%)
rename {src/content => apps/content/src}/shared/search/engine.ts (100%)
rename {src/content => apps/content/src}/shared/search/provider.ts (100%)
rename {src/content => apps/content/src}/shared/search/providers/EngineProvider.ts (100%)
rename {src/content => apps/content/src}/shared/search/providers/URLProvider.ts (100%)
rename {src/content => apps/content/src}/shared/search/providers/data/tld.txt (100%)
rename {src/content => apps/content/src}/shared/search/providers/index.ts (100%)
rename {src/content => apps/content/src}/shared/search/resources.ts (100%)
rename {src/content => apps/content/src}/shared/search/suggestions.ts (100%)
rename {src/content => apps/content/src}/shared/styles/global.css (100%)
rename {src/content => apps/content/src}/shared/styles/window.css (100%)
rename {src/content => apps/content/src}/shared/svelteUtils.svelte.license.md (100%)
rename {src/content => apps/content/src}/shared/svelteUtils.ts (100%)
rename {src/content => apps/content/src}/shared/xul/PlacesModel.ts (100%)
rename {src/content => apps/content/src}/shared/xul/messageReciver.ts (100%)
rename {src/content => apps/content/src}/shared/xul/observable.ts (100%)
rename {src/content => apps/content/src}/tests/manager.ts (100%)
rename {src/content => apps/content/src}/tests/shared/ExtHistoryAPI.ts (100%)
rename {src/content => apps/content/src}/tests/shared/contextMenus/MenuItem.ts (100%)
rename {src/content => apps/content/src}/tests/shared/contextMenus/index.ts (100%)
rename {src/content => apps/content/src}/tests/shared/index.ts (100%)
rename {src/content => apps/content/src}/tests/shared/search/index.ts (100%)
rename {src/content => apps/content/src}/tests/shared/search/providers/EngineProvider.ts (100%)
rename {src/content => apps/content/src}/tests/shared/search/providers/URLProvider.ts (100%)
rename {src/content => apps/content/src}/tests/shared/search/providers/index.ts (100%)
rename {src/content => apps/content/src}/tests/shared/search/suggestions.ts (100%)
rename {src/content => apps/content/src}/tests/tests.ts (100%)
rename {src/content => apps/content/src}/types.d.ts (100%)
rename {static => apps/content/static}/search-extensions/README.md (100%)
rename {static => apps/content/static}/search-extensions/ddg/favicon.ico (100%)
rename {static => apps/content/static}/search-extensions/ddg/manifest.json (100%)
rename {static => apps/content/static}/search-extensions/google/favicon.ico (100%)
rename {static => apps/content/static}/search-extensions/google/manifest.json (100%)
rename {static/extensions => apps/extensions/lib}/ext-browser.json (100%)
rename {static/extensions => apps/extensions/lib}/parent/ext-browser.js (98%)
rename {static/extensions => apps/extensions/lib}/parent/ext-pageAction.js (96%)
rename {static/extensions => apps/extensions/lib}/sharedTypes.d.ts (100%)
rename {static/extensions => apps/extensions/lib}/types/ConduitChild.d.ts (100%)
rename {static/extensions => apps/extensions/lib}/types/index.d.ts (85%)
rename {static/extensions => apps/extensions/lib}/types/utils.d.ts (100%)
create mode 100644 apps/extensions/package.json
create mode 100644 apps/misc/package.json
rename {src => apps/misc/static/defaults/pref}/prefs.js (100%)
rename {static => apps/misc/static}/localization/en-US/branding/brand.ftl (100%)
rename {static => apps/misc/static}/localization/en-US/browser/appExtensionFields.ftl (100%)
rename {static => apps/misc/static}/localization/en-US/browser/components/mozSupportLink.ftl (100%)
rename {static => apps/misc/static}/localization/link.json (100%)
rename src/modules/BrowserGlue.ts => apps/modules/lib/BrowserGlue.sys.mjs (59%)
create mode 100644 apps/modules/lib/BrowserWindowTracker.sys.mjs
create mode 100644 apps/modules/lib/EPageActions.sys.mjs
rename {static/modules => apps/modules/lib}/FaviconLoader.sys.mjs (100%)
create mode 100644 apps/modules/lib/TypedImportUtils.sys.mjs
rename {static/modules => apps/modules/lib}/mitt.sys.mjs (100%)
rename {static/modules => apps/modules/lib}/sessionstore/SessionStore.sys.mjs (100%)
create mode 100644 apps/modules/package.json
create mode 100644 lib/link/package.json
create mode 100644 lib/link/types/_link.d.ts
create mode 100644 lib/link/types/globals/ChromeUtils.d.ts
create mode 100644 lib/link/types/globals/Cr.d.ts
create mode 100644 lib/link/types/globals/Elements.d.ts
rename {src/types => lib/link/types/globals}/MatchPattern.d.ts (100%)
rename {src/types => lib/link/types/globals}/MessageManager.d.ts (100%)
create mode 100644 lib/link/types/interfaces/ClickHandler.d.ts
create mode 100644 lib/link/types/interfaces/ContextMenu.d.ts
create mode 100644 lib/link/types/interfaces/GenericDeferred.d.ts
rename {src/types => lib/link/types/modules}/AppConstants.d.ts (93%)
create mode 100644 lib/link/types/modules/BrowserWindowTracker.d.ts
create mode 100644 lib/link/types/modules/EPageActions.d.ts
rename src/link.d.ts => lib/link/types/modules/PlacesUtils.d.ts (79%)
create mode 100644 lib/link/types/modules/mitt.d.ts
create mode 100644 lib/link/types/modules/typedImport.d.ts
create mode 100644 lib/shared/package.json
create mode 100644 lib/shared/src/index.ts
rename src/modules/TypedImportUtils.ts => lib/shared/src/lazy.ts (60%)
create mode 100644 lib/shared/src/utilities/deferred.ts
create mode 100644 lib/shared/src/utilities/index.ts
create mode 100644 lib/shared/src/utilities/mitt.ts
create mode 100644 lib/shared/src/utilities/svelte.license.md
create mode 100644 lib/shared/src/utilities/svelte.ts
create mode 100644 lib/shared/src/xul/PlacesModel.ts
create mode 100644 lib/shared/src/xul/index.ts
create mode 100644 lib/shared/src/xul/messageReceiver.ts
create mode 100644 lib/shared/src/xul/observable.ts
create mode 100644 lib/shared/tsconfig.json
create mode 100644 pnpm-workspace.yaml
delete mode 100644 src/actors/ContextMenu.types.ts
delete mode 100644 src/actors/link.json
delete mode 100644 src/modules/BrowserWindowTracker.ts
delete mode 100644 src/modules/EPageActions.ts
delete mode 100644 src/modules/link.json
delete mode 100644 static/chrome/en-US/locale/branding/brand.properties
delete mode 100644 static/chrome/link.json
delete mode 100644 static/modules/link.json
diff --git a/src/actors/ClickHandlerChild.ts b/apps/actors/lib/ClickHandlerChild.sys.mjs
similarity index 58%
rename from src/actors/ClickHandlerChild.ts
rename to apps/actors/lib/ClickHandlerChild.sys.mjs
index aa368fd..cddf8f5 100644
--- a/src/actors/ClickHandlerChild.ts
+++ b/apps/actors/lib/ClickHandlerChild.sys.mjs
@@ -2,17 +2,21 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-///
-
-export type ClickHandlerMessage = {
- name: 'openlink'
- data: { href: string }
-} & { target: JSWindowActorParent }
+// @ts-check
+///
export class ClickHandlerChild extends JSWindowActorChild {
- getHrefIfExists(target: Node): string | undefined {
- if ((target as HTMLAnchorElement).href) {
- return (target as HTMLAnchorElement).href
+ /**
+ * @param {Node} target
+ * @returns {string | undefined}
+ */
+ getHrefIfExists(target) {
+ /** @type {HTMLAnchorElement} */
+ // @ts-expect-error We cant cast with as, so this is how I am casting :/
+ const asAnchor = target
+
+ if (asAnchor.href) {
+ return asAnchor.href
}
if (target.parentElement) {
@@ -20,10 +24,13 @@ export class ClickHandlerChild extends JSWindowActorChild {
}
}
- handleEvent(event: MouseEvent) {
+ /**
+ * @param {MouseEvent & { target: Node }} event
+ */
+ handleEvent(event) {
if (event.defaultPrevented || !event.target) return
- const href = this.getHrefIfExists(event.target as Node)
+ const href = this.getHrefIfExists(event.target)
const ctrlClick = event.button === 0 && event.ctrlKey
const middleClick = event.button === 1
diff --git a/src/actors/ClickHandlerParent.ts b/apps/actors/lib/ClickHandlerParent.sys.mjs
similarity index 77%
rename from src/actors/ClickHandlerParent.ts
rename to apps/actors/lib/ClickHandlerParent.sys.mjs
index fbc003c..b50a973 100644
--- a/src/actors/ClickHandlerParent.ts
+++ b/apps/actors/lib/ClickHandlerParent.sys.mjs
@@ -1,11 +1,15 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-///
-import { ClickHandlerMessage } from './ClickHandlerChild'
+
+// @ts-check
+///
export class ClickHandlerParent extends JSWindowActorParent {
- receiveMessage(event: ClickHandlerMessage) {
+ /**
+ * @param {ClickHandlerMessage} event
+ */
+ receiveMessage(event) {
if (event.name == 'openlink') {
const win = event.target.browsingContext.embedderElement.ownerGlobal
const uri = Services.io.newURI(event.data.href)
diff --git a/src/actors/ContextMenuChild.ts b/apps/actors/lib/ContextMenuChild.sys.mjs
similarity index 60%
rename from src/actors/ContextMenuChild.ts
rename to apps/actors/lib/ContextMenuChild.sys.mjs
index cde566b..aa7398f 100644
--- a/src/actors/ContextMenuChild.ts
+++ b/apps/actors/lib/ContextMenuChild.sys.mjs
@@ -1,20 +1,26 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-///
+// @ts-check
+///
import { lazyESModuleGetters } from 'resource://app/modules/TypedImportUtils.sys.mjs'
-import type { ContextMenuInfo, MediaInfo } from './ContextMenu.types'
-
const lazy = lazyESModuleGetters({
SelectionUtils: 'resource://gre/modules/SelectionUtils.sys.mjs',
E10SUtils: 'resource://gre/modules/E10SUtils.sys.mjs',
})
export class ContextMenuChild extends JSWindowActorChild {
- getHrefIfExists(target: Node): string | undefined {
- if ((target as HTMLAnchorElement).href) {
- return (target as HTMLAnchorElement).href
+ /**
+ * @param {Node} target
+ * @returns {string | undefined}
+ */
+ getHrefIfExists(target) {
+ /** @type {HTMLAnchorElement} */
+ // @ts-expect-error We cant cast with as, so this is how I am casting :/
+ const asAnchor = target
+ if (asAnchor.href) {
+ return asAnchor.href
}
if (target.parentElement) {
@@ -22,22 +28,31 @@ export class ContextMenuChild extends JSWindowActorChild {
}
}
- getImageSrcIfExists(target: Node): string | undefined {
- if ((target as HTMLImageElement).src) {
- return (target as HTMLImageElement).src
+ /**
+ * @param {Node} target
+ * @returns {string | undefined}
+ */
+ getImageSrcIfExists(target) {
+ /** @type {HTMLImageElement} */
+ // @ts-expect-error We cant cast with as, so this is how I am casting :/
+ const asImg = target
+ if (asImg.src) {
+ return asImg.src
}
}
/**
* This code was based on the code from here: https://searchfox.org/mozilla-central/source/browser/actors/ContextMenuChild.sys.mjs#568
+ * @param {Node & nsIImageLoadingContentType} target
*/
- getMediaInfo(target: Node & nsIImageLoadingContentType) {
+ getMediaInfo(target) {
// @ts-expect-error - Ci interfaces are not instanceofable
if (!(target instanceof Ci.nsIImageLoadingContent && target.currentURI)) {
return
}
- const mediaInfo: MediaInfo = {}
+ /** @type {ContextMenuMediaInfo} */
+ const mediaInfo = {}
try {
const imageCache = Cc['@mozilla.org/image/tools;1']
@@ -72,21 +87,23 @@ export class ContextMenuChild extends JSWindowActorChild {
return mediaInfo
}
- getReferrerInfo(target: Element) {
+ /** @param {Element} target */
+ getReferrerInfo(target) {
+ /** @type {nsIReferrerInfoType} */
+ // @ts-expect-error - Ci interfaces are really poorly typed at the moment
const referrerInfo = Cc['@mozilla.org/referrer-info;1'].createInstance(
Ci.nsIReferrerInfo,
- ) as nsIReferrerInfoType
+ )
referrerInfo.initWithElement(target)
return lazy.E10SUtils.serializeReferrerInfo(referrerInfo)
}
- handleEvent(
- event: MouseEvent & { inputSource: number; composedTarget?: EventTarget },
- ) {
- const data: {
- position: ContextMenuInfo['position']
- context: ContextMenuInfo['context']
- } & Partial = {
+ /**
+ * @param {MouseEvent & { inputSource: number; composedTarget?: EventTarget & Node; target?: Node }} event
+ */
+ handleEvent(event) {
+ /** @type {{ position: ContextMenuInfo['position']; context: ContextMenuInfo['context']} & Partial} */
+ const data = {
position: {
screenX: event.screenX,
screenY: event.screenY,
@@ -95,8 +112,7 @@ export class ContextMenuChild extends JSWindowActorChild {
context: {
principal:
- (event.target &&
- (event.target as Node).ownerDocument?.nodePrincipal) ||
+ (event.target && event.target.ownerDocument?.nodePrincipal) ||
undefined,
},
}
@@ -111,18 +127,18 @@ export class ContextMenuChild extends JSWindowActorChild {
if (
event.composedTarget &&
- (event.composedTarget as Node).nodeType === Node.ELEMENT_NODE
+ event.composedTarget.nodeType === Node.ELEMENT_NODE
) {
- const node = event.composedTarget as Node
+ /** @type {Element & nsIImageLoadingContentType} */
+ // @ts-expect-error - Ci interfaces are a pain
+ const node = event.composedTarget
data.href = this.getHrefIfExists(node)
data.imageSrc = this.getImageSrcIfExists(node)
- data.mediaInfo = this.getMediaInfo(
- node as Node & nsIImageLoadingContentType,
- )
- data.context.referrerInfo = this.getReferrerInfo(node as Element)
+ data.mediaInfo = this.getMediaInfo(node)
+ data.context.referrerInfo = this.getReferrerInfo(node)
}
- this.sendAsyncMessage('contextmenu', data satisfies ContextMenuInfo)
+ this.sendAsyncMessage('contextmenu', data)
}
}
diff --git a/src/actors/ContextMenuParent.ts b/apps/actors/lib/ContextMenuParent.sys.mjs
similarity index 69%
rename from src/actors/ContextMenuParent.ts
rename to apps/actors/lib/ContextMenuParent.sys.mjs
index 9340bff..e2a0e2b 100644
--- a/src/actors/ContextMenuParent.ts
+++ b/apps/actors/lib/ContextMenuParent.sys.mjs
@@ -1,16 +1,13 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-import type { ContextMenuInfo } from './ContextMenu.types'
-type ContextMenuEvent = {
- name: 'contextmenu'
- data: ContextMenuInfo
- target: ContextMenuParent
-}
+// @ts-check
+///
export class ContextMenuParent extends JSWindowActorParent {
- receiveMessage(event: ContextMenuEvent) {
+ /** @param {ContextMenuEvent} event */
+ receiveMessage(event) {
if (event.name == 'contextmenu') {
const win = event.target.browsingContext.embedderElement.ownerGlobal
win.windowApi.contextMenu.showContextMenu(event.data, this)
diff --git a/src/actors/LinkHandlerChild.ts b/apps/actors/lib/LinkHandlerChild.sys.mjs
similarity index 84%
rename from src/actors/LinkHandlerChild.ts
rename to apps/actors/lib/LinkHandlerChild.sys.mjs
index 155ded6..b0288a5 100644
--- a/src/actors/LinkHandlerChild.ts
+++ b/apps/actors/lib/LinkHandlerChild.sys.mjs
@@ -1,27 +1,10 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-///
+// @ts-check
+///
import { FaviconLoader } from 'resource://app/modules/FaviconLoader.sys.mjs'
-declare global {
- interface Document {
- documentURIObject: nsIURIType
- }
-
- interface HTMLElement {
- ownerGlobal: Window
- }
-}
-
-type DOMLinkAdded = Event & { target: HTMLLinkElement; type: 'DOMLinkAdded' }
-type DOMHeadParsed = Event & {
- target: HTMLHeadElement
- type: 'DOMHeadElementParsed'
-}
-type PageShow = PageTransitionEvent & { type: 'pageshow' }
-type PageHide = PageTransitionEvent & { type: 'pagehide' }
-
export class LinkHandlerChild extends JSWindowActorChild {
iconLoader = new FaviconLoader(this)
loadedTabIcon = false
@@ -40,25 +23,37 @@ export class LinkHandlerChild extends JSWindowActorChild {
}
}
- onPageShow(event: PageShow) {
+ /**
+ * @param {PageShowEvent} event
+ */
+ onPageShow(event) {
if (event.target != this.document) return
this.fetchRootFavicon()
if (this.iconLoader) this.iconLoader.onPageShow()
}
- onPageHide(event: PageHide) {
+ /**
+ * @param {PageHideEvent} event
+ */
+ onPageHide(event) {
if (event.target != this.document) return
if (this.iconLoader) this.iconLoader.onPageHide()
this.loadedTabIcon = false
}
- onHeadParsed(event: DOMHeadParsed) {
+ /**
+ * @param {DOMHeadParsedEvent} event
+ */
+ onHeadParsed(event) {
if (event.target.ownerDocument != this.document) return
this.fetchRootFavicon()
if (this.iconLoader) this.iconLoader.onPageShow()
}
- onLinkEvent(event: DOMLinkAdded) {
+ /**
+ * @param {DOMLinkAddedEvent} event
+ */
+ onLinkEvent(event) {
const link = event.target
// Ignore sub-frames (bugs 305472, 479408).
if (link.ownerGlobal != this.contentWindow) {
@@ -76,7 +71,8 @@ export class LinkHandlerChild extends JSWindowActorChild {
// whole content
let iconAdded = false
let searchAdded = false
- const rels: Record = {}
+ /** @type {Record} */
+ const rels = {}
for (const relString of rel.split(/\s+/)) {
rels[relString] = true
}
@@ -139,7 +135,10 @@ export class LinkHandlerChild extends JSWindowActorChild {
}
}
- handleEvent(event: PageShow | PageHide | DOMHeadParsed | DOMLinkAdded) {
+ /**
+ * @param {PageShowEvent | PageHideEvent | DOMHeadParsedEvent | DOMLinkAddedEvent} event
+ */
+ handleEvent(event) {
switch (event.type) {
case 'pageshow':
return this.onPageShow(event)
diff --git a/src/actors/LinkHandlerParent.ts b/apps/actors/lib/LinkHandlerParent.sys.mjs
similarity index 77%
rename from src/actors/LinkHandlerParent.ts
rename to apps/actors/lib/LinkHandlerParent.sys.mjs
index 911912f..1c0ba31 100644
--- a/src/actors/LinkHandlerParent.ts
+++ b/apps/actors/lib/LinkHandlerParent.sys.mjs
@@ -2,10 +2,12 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-///
+// @ts-check
+///
export class LinkHandlerParent extends JSWindowActorParent {
- receiveMessage(aMsg: { name: 'Link:SetIcon'; data: { iconURL: string } }) {
+ /** @param {{ name: 'Link:SetIcon'; data: { iconURL: string } }} aMsg */
+ receiveMessage(aMsg) {
const win = this.browsingContext.topChromeWindow
switch (aMsg.name) {
diff --git a/apps/actors/package.json b/apps/actors/package.json
new file mode 100644
index 0000000..ab1c84d
--- /dev/null
+++ b/apps/actors/package.json
@@ -0,0 +1,9 @@
+{
+ "name": "actors",
+ "version": "1.0.0",
+ "description": "",
+ "dependencies": {
+ "@browser/link": "workspace:*"
+ },
+ "license": "ISC"
+}
diff --git a/apps/content/package.json b/apps/content/package.json
new file mode 100644
index 0000000..2fd54f3
--- /dev/null
+++ b/apps/content/package.json
@@ -0,0 +1,41 @@
+{
+ "name": "content",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "devDependencies": {
+ "@melt-ui/pp": "^0.3.0",
+ "@tsconfig/svelte": "^5.0.2",
+ "copy-webpack-plugin": "^11.0.0",
+ "css-loader": "^6.8.1",
+ "html-webpack-plugin": "^5.6.0",
+ "mini-css-extract-plugin": "^2.7.6",
+ "postcss-loader": "^7.3.4",
+ "style-loader": "^3.3.3",
+ "svelte": "^4.2.8",
+ "svelte-loader": "^3.1.9",
+ "svelte-preprocess": "^5.1.3",
+ "svelte-sequential-preprocessor": "^2.0.1",
+ "ts-loader": "^9.5.1",
+ "typescript": "^5.3.3",
+ "webpack": "^5.89.0",
+ "webpack-cli": "^5.1.4",
+ "webpack-dev-server": "^4.15.1",
+ "webpack-license-plugin": "^4.4.2"
+ },
+ "dependencies": {
+ "@catppuccin/palette": "^1.0.1",
+ "@melt-ui/svelte": "^0.67.0",
+ "fnts": "^2.1.0",
+ "mitt": "^3.0.1",
+ "nanoid": "^5.0.4",
+ "remixicon": "^4.0.1",
+ "snarkdown": "^2.0.0"
+ }
+}
diff --git a/patches/@melt-ui__svelte@0.64.5.patch b/apps/content/patches/@melt-ui__svelte@0.64.5.patch
similarity index 100%
rename from patches/@melt-ui__svelte@0.64.5.patch
rename to apps/content/patches/@melt-ui__svelte@0.64.5.patch
diff --git a/patches/svelte@4.2.1.patch b/apps/content/patches/svelte@4.2.1.patch
similarity index 100%
rename from patches/svelte@4.2.1.patch
rename to apps/content/patches/svelte@4.2.1.patch
diff --git a/patches/webpack-license-plugin@4.4.2.patch b/apps/content/patches/webpack-license-plugin@4.4.2.patch
similarity index 100%
rename from patches/webpack-license-plugin@4.4.2.patch
rename to apps/content/patches/webpack-license-plugin@4.4.2.patch
diff --git a/apps/content/pnpm-lock.yaml b/apps/content/pnpm-lock.yaml
new file mode 100644
index 0000000..1ca4d37
--- /dev/null
+++ b/apps/content/pnpm-lock.yaml
@@ -0,0 +1,3356 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+patchedDependencies:
+ '@melt-ui/svelte@0.67.0':
+ hash: aeypykqddydgtdgxoo44wxfeey
+ path: patches/@melt-ui__svelte@0.64.5.patch
+ svelte@4.2.8:
+ hash: cm43hmf4gczhssi3isoosy53r4
+ path: patches/svelte@4.2.1.patch
+ webpack-license-plugin@4.4.2:
+ hash: j2giecj6dvolnysmkqbx73rnua
+ path: patches/webpack-license-plugin@4.4.2.patch
+
+dependencies:
+ '@catppuccin/palette':
+ specifier: ^1.0.1
+ version: 1.0.1
+ '@melt-ui/svelte':
+ specifier: ^0.67.0
+ version: 0.67.0(patch_hash=aeypykqddydgtdgxoo44wxfeey)(svelte@4.2.8)
+ fnts:
+ specifier: ^2.1.0
+ version: 2.1.0(typescript@5.3.3)
+ mitt:
+ specifier: ^3.0.1
+ version: 3.0.1
+ nanoid:
+ specifier: ^5.0.4
+ version: 5.0.4
+ remixicon:
+ specifier: ^4.0.1
+ version: 4.0.1
+ snarkdown:
+ specifier: ^2.0.0
+ version: 2.0.0
+
+devDependencies:
+ '@melt-ui/pp':
+ specifier: ^0.3.0
+ version: 0.3.0(@melt-ui/svelte@0.67.0)(svelte@4.2.8)
+ '@tsconfig/svelte':
+ specifier: ^5.0.2
+ version: 5.0.2
+ copy-webpack-plugin:
+ specifier: ^11.0.0
+ version: 11.0.0(webpack@5.89.0)
+ css-loader:
+ specifier: ^6.8.1
+ version: 6.8.1(webpack@5.89.0)
+ html-webpack-plugin:
+ specifier: ^5.6.0
+ version: 5.6.0(webpack@5.89.0)
+ mini-css-extract-plugin:
+ specifier: ^2.7.6
+ version: 2.7.6(webpack@5.89.0)
+ postcss-loader:
+ specifier: ^7.3.4
+ version: 7.3.4(postcss@8.4.32)(typescript@5.3.3)(webpack@5.89.0)
+ style-loader:
+ specifier: ^3.3.3
+ version: 3.3.3(webpack@5.89.0)
+ svelte:
+ specifier: ^4.2.8
+ version: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
+ svelte-loader:
+ specifier: ^3.1.9
+ version: 3.1.9(svelte@4.2.8)
+ svelte-preprocess:
+ specifier: ^5.1.3
+ version: 5.1.3(postcss@8.4.32)(svelte@4.2.8)(typescript@5.3.3)
+ svelte-sequential-preprocessor:
+ specifier: ^2.0.1
+ version: 2.0.1
+ ts-loader:
+ specifier: ^9.5.1
+ version: 9.5.1(typescript@5.3.3)(webpack@5.89.0)
+ typescript:
+ specifier: ^5.3.3
+ version: 5.3.3
+ webpack:
+ specifier: ^5.89.0
+ version: 5.89.0(webpack-cli@5.1.4)
+ webpack-cli:
+ specifier: ^5.1.4
+ version: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-dev-server:
+ specifier: ^4.15.1
+ version: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0)
+ webpack-license-plugin:
+ specifier: ^4.4.2
+ version: 4.4.2(patch_hash=j2giecj6dvolnysmkqbx73rnua)(webpack@5.89.0)
+
+packages:
+
+ /@ampproject/remapping@2.2.1:
+ resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.20
+
+ /@babel/code-frame@7.23.5:
+ resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+ dev: true
+
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/highlight@7.23.4:
+ resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+
+ /@catppuccin/palette@1.0.1:
+ resolution: {integrity: sha512-aCVFn6j2HnN6M/yk4co67rF/EWrXhZO2qpJUJd6Xsz8t1BF6PbmftM8Gz3wFHPfUdTogU0dUiKs+YsW19hJ8mQ==}
+ dev: false
+
+ /@discoveryjs/json-ext@0.5.7:
+ resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
+ engines: {node: '>=10.0.0'}
+ dev: true
+
+ /@floating-ui/core@1.5.2:
+ resolution: {integrity: sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==}
+ dependencies:
+ '@floating-ui/utils': 0.1.6
+
+ /@floating-ui/dom@1.5.3:
+ resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==}
+ dependencies:
+ '@floating-ui/core': 1.5.2
+ '@floating-ui/utils': 0.1.6
+
+ /@floating-ui/utils@0.1.6:
+ resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==}
+
+ /@internationalized/date@3.5.1:
+ resolution: {integrity: sha512-LUQIfwU9e+Fmutc/DpRTGXSdgYZLBegi4wygCWDSVmUdLTaMHsQyASDiJtREwanwKuQLq0hY76fCJ9J/9I2xOQ==}
+ dependencies:
+ '@swc/helpers': 0.5.3
+
+ /@jridgewell/gen-mapping@0.3.3:
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.20
+
+ /@jridgewell/resolve-uri@3.1.1:
+ resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/set-array@1.1.2:
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/source-map@0.3.5:
+ resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.20
+ dev: true
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+
+ /@jridgewell/trace-mapping@0.3.20:
+ resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /@leichtgewicht/ip-codec@2.0.4:
+ resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==}
+ dev: true
+
+ /@melt-ui/pp@0.3.0(@melt-ui/svelte@0.67.0)(svelte@4.2.8):
+ resolution: {integrity: sha512-b07Bdh8l2KcwKVCXOY+SoBw1dk9eWvQfMSi6SoacpRVyVmmfpi0kV4oGt3HYF0tUCB3sEmVicxse50ZzZxEzEA==}
+ engines: {pnpm: '>=8.6.3'}
+ peerDependencies:
+ '@melt-ui/svelte': '>= 0.29.0'
+ svelte: ^3.55.0 || ^4.0.0 || ^5.0.0-next.1
+ dependencies:
+ '@melt-ui/svelte': 0.67.0(patch_hash=aeypykqddydgtdgxoo44wxfeey)(svelte@4.2.8)
+ estree-walker: 3.0.3
+ magic-string: 0.30.5
+ svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
+ dev: true
+
+ /@melt-ui/svelte@0.67.0(patch_hash=aeypykqddydgtdgxoo44wxfeey)(svelte@4.2.8):
+ resolution: {integrity: sha512-fd9PsDE6sKbeyExagqH0nOpZEnDqyr2efbkjfmCRRYXVW5vlDEOPaSB+mg4Tjch121102sFH1Od+MlXwmeHy3A==}
+ peerDependencies:
+ svelte: '>=3 <5'
+ dependencies:
+ '@floating-ui/core': 1.5.2
+ '@floating-ui/dom': 1.5.3
+ '@internationalized/date': 3.5.1
+ dequal: 2.0.3
+ focus-trap: 7.5.4
+ nanoid: 4.0.2
+ svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
+ patched: true
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+ dev: true
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.16.0
+ dev: true
+
+ /@swc/helpers@0.5.3:
+ resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==}
+ dependencies:
+ tslib: 2.6.2
+
+ /@tsconfig/svelte@5.0.2:
+ resolution: {integrity: sha512-BRbo1fOtyVbhfLyuCWw6wAWp+U8UQle+ZXu84MYYWzYSEB28dyfnRBIE99eoG+qdAC0po6L2ScIEivcT07UaMA==}
+ dev: true
+
+ /@types/body-parser@1.19.5:
+ resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
+ dependencies:
+ '@types/connect': 3.4.38
+ '@types/node': 20.10.6
+ dev: true
+
+ /@types/bonjour@3.5.13:
+ resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
+ dependencies:
+ '@types/node': 20.10.6
+ dev: true
+
+ /@types/connect-history-api-fallback@1.5.4:
+ resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
+ dependencies:
+ '@types/express-serve-static-core': 4.17.41
+ '@types/node': 20.10.6
+ dev: true
+
+ /@types/connect@3.4.38:
+ resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+ dependencies:
+ '@types/node': 20.10.6
+ dev: true
+
+ /@types/eslint-scope@3.7.7:
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+ dependencies:
+ '@types/eslint': 8.56.0
+ '@types/estree': 1.0.5
+ dev: true
+
+ /@types/eslint@8.56.0:
+ resolution: {integrity: sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==}
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.15
+ dev: true
+
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+
+ /@types/express-serve-static-core@4.17.41:
+ resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==}
+ dependencies:
+ '@types/node': 20.10.6
+ '@types/qs': 6.9.11
+ '@types/range-parser': 1.2.7
+ '@types/send': 0.17.4
+ dev: true
+
+ /@types/express@4.17.21:
+ resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
+ dependencies:
+ '@types/body-parser': 1.19.5
+ '@types/express-serve-static-core': 4.17.41
+ '@types/qs': 6.9.11
+ '@types/serve-static': 1.15.5
+ dev: true
+
+ /@types/html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
+ dev: true
+
+ /@types/http-errors@2.0.4:
+ resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
+ dev: true
+
+ /@types/http-proxy@1.17.14:
+ resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==}
+ dependencies:
+ '@types/node': 20.10.6
+ dev: true
+
+ /@types/json-schema@7.0.15:
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ dev: true
+
+ /@types/mime@1.3.5:
+ resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
+ dev: true
+
+ /@types/mime@3.0.4:
+ resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==}
+ dev: true
+
+ /@types/node-forge@1.3.10:
+ resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==}
+ dependencies:
+ '@types/node': 20.10.6
+ dev: true
+
+ /@types/node@20.10.6:
+ resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==}
+ dependencies:
+ undici-types: 5.26.5
+ dev: true
+
+ /@types/pug@2.0.10:
+ resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
+ dev: true
+
+ /@types/qs@6.9.11:
+ resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==}
+ dev: true
+
+ /@types/range-parser@1.2.7:
+ resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
+ dev: true
+
+ /@types/retry@0.12.0:
+ resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
+ dev: true
+
+ /@types/send@0.17.4:
+ resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
+ dependencies:
+ '@types/mime': 1.3.5
+ '@types/node': 20.10.6
+ dev: true
+
+ /@types/serve-index@1.9.4:
+ resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
+ dependencies:
+ '@types/express': 4.17.21
+ dev: true
+
+ /@types/serve-static@1.15.5:
+ resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==}
+ dependencies:
+ '@types/http-errors': 2.0.4
+ '@types/mime': 3.0.4
+ '@types/node': 20.10.6
+ dev: true
+
+ /@types/sockjs@0.3.36:
+ resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
+ dependencies:
+ '@types/node': 20.10.6
+ dev: true
+
+ /@types/ws@8.5.10:
+ resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
+ dependencies:
+ '@types/node': 20.10.6
+ dev: true
+
+ /@webassemblyjs/ast@1.11.6:
+ resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==}
+ dependencies:
+ '@webassemblyjs/helper-numbers': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ dev: true
+
+ /@webassemblyjs/floating-point-hex-parser@1.11.6:
+ resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
+ dev: true
+
+ /@webassemblyjs/helper-api-error@1.11.6:
+ resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
+ dev: true
+
+ /@webassemblyjs/helper-buffer@1.11.6:
+ resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==}
+ dev: true
+
+ /@webassemblyjs/helper-numbers@1.11.6:
+ resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
+ dependencies:
+ '@webassemblyjs/floating-point-hex-parser': 1.11.6
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@xtuc/long': 4.2.2
+ dev: true
+
+ /@webassemblyjs/helper-wasm-bytecode@1.11.6:
+ resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
+ dev: true
+
+ /@webassemblyjs/helper-wasm-section@1.11.6:
+ resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ dev: true
+
+ /@webassemblyjs/ieee754@1.11.6:
+ resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+ dev: true
+
+ /@webassemblyjs/leb128@1.11.6:
+ resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
+ dependencies:
+ '@xtuc/long': 4.2.2
+ dev: true
+
+ /@webassemblyjs/utf8@1.11.6:
+ resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
+ dev: true
+
+ /@webassemblyjs/wasm-edit@1.11.6:
+ resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/helper-wasm-section': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ '@webassemblyjs/wasm-opt': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ '@webassemblyjs/wast-printer': 1.11.6
+ dev: true
+
+ /@webassemblyjs/wasm-gen@1.11.6:
+ resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+ dev: true
+
+ /@webassemblyjs/wasm-opt@1.11.6:
+ resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ dev: true
+
+ /@webassemblyjs/wasm-parser@1.11.6:
+ resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+ dev: true
+
+ /@webassemblyjs/wast-printer@1.11.6:
+ resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@xtuc/long': 4.2.2
+ dev: true
+
+ /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.89.0):
+ resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==}
+ engines: {node: '>=14.15.0'}
+ peerDependencies:
+ webpack: 5.x.x
+ webpack-cli: 5.x.x
+ dependencies:
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ dev: true
+
+ /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.89.0):
+ resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==}
+ engines: {node: '>=14.15.0'}
+ peerDependencies:
+ webpack: 5.x.x
+ webpack-cli: 5.x.x
+ dependencies:
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ dev: true
+
+ /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.1)(webpack@5.89.0):
+ resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==}
+ engines: {node: '>=14.15.0'}
+ peerDependencies:
+ webpack: 5.x.x
+ webpack-cli: 5.x.x
+ webpack-dev-server: '*'
+ peerDependenciesMeta:
+ webpack-dev-server:
+ optional: true
+ dependencies:
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0)
+ dev: true
+
+ /@xtuc/ieee754@1.2.0:
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+ dev: true
+
+ /@xtuc/long@4.2.2:
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+ dev: true
+
+ /accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+ dev: true
+
+ /acorn-import-assertions@1.9.0(acorn@8.11.3):
+ resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
+ peerDependencies:
+ acorn: ^8
+ dependencies:
+ acorn: 8.11.3
+ dev: true
+
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ /ajv-formats@2.1.1(ajv@8.12.0):
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+ dependencies:
+ ajv: 8.12.0
+ dev: true
+
+ /ajv-keywords@3.5.2(ajv@6.12.6):
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+ dependencies:
+ ajv: 6.12.6
+ dev: true
+
+ /ajv-keywords@5.1.0(ajv@8.12.0):
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
+ dependencies:
+ ajv: 8.12.0
+ fast-deep-equal: 3.1.3
+ dev: true
+
+ /ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+ dev: true
+
+ /ajv@8.12.0:
+ resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+ dev: true
+
+ /ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+ dev: true
+
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+ dev: true
+
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ dev: true
+
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ dev: true
+
+ /aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+ dependencies:
+ dequal: 2.0.3
+
+ /array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+ dev: true
+
+ /array-flatten@2.1.2:
+ resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==}
+ dev: true
+
+ /axobject-query@3.2.1:
+ resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
+ dependencies:
+ dequal: 2.0.3
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ dev: true
+
+ /batch@0.6.1:
+ resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
+ dev: true
+
+ /big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+ dev: true
+
+ /binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /body-parser@1.20.1:
+ resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.11.0
+ raw-body: 2.5.1
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /bonjour-service@1.1.1:
+ resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==}
+ dependencies:
+ array-flatten: 2.1.2
+ dns-equal: 1.0.0
+ fast-deep-equal: 3.1.3
+ multicast-dns: 7.2.5
+ dev: true
+
+ /boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+ dev: true
+
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
+
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+
+ /browserslist@4.22.2:
+ resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001572
+ electron-to-chromium: 1.4.616
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.2)
+ dev: true
+
+ /buffer-crc32@0.2.13:
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
+ dev: true
+
+ /buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+ dev: true
+
+ /bytes@3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /call-bind@1.0.5:
+ resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
+ dependencies:
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.2
+ set-function-length: 1.1.1
+ dev: true
+
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /camel-case@4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+ dependencies:
+ pascal-case: 3.1.2
+ tslib: 2.6.2
+ dev: true
+
+ /caniuse-lite@1.0.30001572:
+ resolution: {integrity: sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==}
+ dev: true
+
+ /chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ dev: true
+
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /chalk@5.3.0:
+ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ dev: true
+
+ /chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /chrome-trace-event@1.0.3:
+ resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
+ engines: {node: '>=6.0'}
+ dev: true
+
+ /clean-css@5.3.3:
+ resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
+ engines: {node: '>= 10.0'}
+ dependencies:
+ source-map: 0.6.1
+ dev: true
+
+ /clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ is-plain-object: 2.0.4
+ kind-of: 6.0.3
+ shallow-clone: 3.0.1
+ dev: true
+
+ /code-red@1.0.4:
+ resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@types/estree': 1.0.5
+ acorn: 8.11.3
+ estree-walker: 3.0.3
+ periscopic: 3.1.0
+
+ /color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+ dev: true
+
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+ dev: true
+
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ dev: true
+
+ /colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+ dev: true
+
+ /commander@10.0.1:
+ resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ dev: true
+
+ /commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+ dev: true
+
+ /compressible@2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: true
+
+ /compression@1.7.4:
+ resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ accepts: 1.3.8
+ bytes: 3.0.0
+ compressible: 2.0.18
+ debug: 2.6.9
+ on-headers: 1.0.2
+ safe-buffer: 5.1.2
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ dev: true
+
+ /connect-history-api-fallback@2.0.0:
+ resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
+ engines: {node: '>=0.8'}
+ dev: true
+
+ /content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /cookie-signature@1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+ dev: true
+
+ /cookie@0.5.0:
+ resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /copy-webpack-plugin@11.0.0(webpack@5.89.0):
+ resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ webpack: ^5.1.0
+ dependencies:
+ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ globby: 13.2.2
+ normalize-path: 3.0.0
+ schema-utils: 4.2.0
+ serialize-javascript: 6.0.1
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ dev: true
+
+ /core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ dev: true
+
+ /cosmiconfig@8.3.6(typescript@5.3.3):
+ resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ typescript: 5.3.3
+ dev: true
+
+ /cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+
+ /css-loader@6.8.1(webpack@5.89.0):
+ resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ postcss-modules-extract-imports: 3.0.0(postcss@8.4.32)
+ postcss-modules-local-by-default: 4.0.3(postcss@8.4.32)
+ postcss-modules-scope: 3.1.0(postcss@8.4.32)
+ postcss-modules-values: 4.0.0(postcss@8.4.32)
+ postcss-value-parser: 4.2.0
+ semver: 7.5.4
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ dev: true
+
+ /css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+ dev: true
+
+ /css-tree@2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.0.2
+
+ /css-what@6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+ dev: true
+
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+
+ /default-gateway@6.0.3:
+ resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
+ engines: {node: '>= 10'}
+ dependencies:
+ execa: 5.1.1
+ dev: true
+
+ /define-data-property@1.1.1:
+ resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.2
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ dev: true
+
+ /define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /depd@1.1.2:
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ /destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dev: true
+
+ /detect-indent@6.1.0:
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /detect-node@2.1.0:
+ resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
+ dev: true
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+
+ /dns-equal@1.0.0:
+ resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==}
+ dev: true
+
+ /dns-packet@5.6.1:
+ resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
+ engines: {node: '>=6'}
+ dependencies:
+ '@leichtgewicht/ip-codec': 2.0.4
+ dev: true
+
+ /dom-converter@0.2.0:
+ resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+ dependencies:
+ utila: 0.4.0
+ dev: true
+
+ /dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+ dev: true
+
+ /domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+ dev: true
+
+ /domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+ dev: true
+
+ /domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ dev: true
+
+ /dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+ dev: true
+
+ /electron-to-chromium@1.4.616:
+ resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==}
+ dev: true
+
+ /emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /enhanced-resolve@5.15.0:
+ resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+ dev: true
+
+ /entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+ dev: true
+
+ /envinfo@7.11.0:
+ resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: true
+
+ /es-module-lexer@1.4.1:
+ resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
+ dev: true
+
+ /es6-promise@3.3.1:
+ resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
+ dev: true
+
+ /escalade@3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+ dev: true
+
+ /escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+ dev: true
+
+ /eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+ dev: true
+
+ /esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ dependencies:
+ '@types/estree': 1.0.5
+
+ /etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+ dev: true
+
+ /events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+ dev: true
+
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
+ /express@4.18.2:
+ resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.1
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.5.0
+ cookie-signature: 1.0.6
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.2.0
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ merge-descriptors: 1.0.1
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.7
+ proxy-addr: 2.0.7
+ qs: 6.11.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.18.0
+ serve-static: 1.15.0
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ dev: true
+
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ dev: true
+
+ /fastest-levenshtein@1.0.16:
+ resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
+ engines: {node: '>= 4.9.1'}
+ dev: true
+
+ /fastq@1.16.0:
+ resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /faye-websocket@0.11.4:
+ resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
+ engines: {node: '>=0.8.0'}
+ dependencies:
+ websocket-driver: 0.7.4
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+
+ /finalhandler@1.2.0:
+ resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.1
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /flat@5.0.2:
+ resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
+ hasBin: true
+ dev: true
+
+ /fnts@2.1.0(typescript@5.3.3):
+ resolution: {integrity: sha512-+KFw3//Dbxw3R5xCzP+3BMsjhNiRaJ8w1Al/1aCzI7OqrqzIHCpNZShY1nUFPciqHqe8Z3URo+aA595ePa7Kqw==}
+ peerDependencies:
+ typescript: '>=4.7'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ typescript: 5.3.3
+ dev: false
+
+ /focus-trap@7.5.4:
+ resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
+ dependencies:
+ tabbable: 6.2.0
+
+ /follow-redirects@1.15.4:
+ resolution: {integrity: sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+ dev: true
+
+ /forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /fs-monkey@1.0.5:
+ resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==}
+ dev: true
+
+ /fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ dev: true
+
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ dev: true
+
+ /get-intrinsic@1.2.2:
+ resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==}
+ dependencies:
+ function-bind: 1.1.2
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ hasown: 2.0.0
+ dev: true
+
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+ dev: true
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /globby@13.2.2:
+ resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.0
+ merge2: 1.4.1
+ slash: 4.0.0
+ dev: true
+
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.2
+ dev: true
+
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ dev: true
+
+ /handle-thing@2.0.1:
+ resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
+ dev: true
+
+ /has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /has-property-descriptors@1.0.1:
+ resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==}
+ dependencies:
+ get-intrinsic: 1.2.2
+ dev: true
+
+ /has-proto@1.0.1:
+ resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /hasown@2.0.0:
+ resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+ dev: true
+
+ /he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+ dev: true
+
+ /hpack.js@2.1.6:
+ resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
+ dependencies:
+ inherits: 2.0.4
+ obuf: 1.1.2
+ readable-stream: 2.3.8
+ wbuf: 1.7.3
+ dev: true
+
+ /html-entities@2.4.0:
+ resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
+ dev: true
+
+ /html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
+ engines: {node: '>=12'}
+ hasBin: true
+ dependencies:
+ camel-case: 4.1.2
+ clean-css: 5.3.3
+ commander: 8.3.0
+ he: 1.2.0
+ param-case: 3.0.4
+ relateurl: 0.2.7
+ terser: 5.26.0
+ dev: true
+
+ /html-webpack-plugin@5.6.0(webpack@5.89.0):
+ resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.20.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+ dependencies:
+ '@types/html-minifier-terser': 6.1.0
+ html-minifier-terser: 6.1.0
+ lodash: 4.17.21
+ pretty-error: 4.0.0
+ tapable: 2.2.1
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ dev: true
+
+ /htmlparser2@6.1.0:
+ resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ entities: 2.2.0
+ dev: true
+
+ /http-deceiver@1.2.7:
+ resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
+ dev: true
+
+ /http-errors@1.6.3:
+ resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.3
+ setprototypeof: 1.1.0
+ statuses: 1.5.0
+ dev: true
+
+ /http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+ dev: true
+
+ /http-parser-js@0.5.8:
+ resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
+ dev: true
+
+ /http-proxy-middleware@2.0.6(@types/express@4.17.21):
+ resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/express': ^4.17.13
+ peerDependenciesMeta:
+ '@types/express':
+ optional: true
+ dependencies:
+ '@types/express': 4.17.21
+ '@types/http-proxy': 1.17.14
+ http-proxy: 1.18.1
+ is-glob: 4.0.3
+ is-plain-obj: 3.0.0
+ micromatch: 4.0.5
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /http-proxy@1.18.1:
+ resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ eventemitter3: 4.0.7
+ follow-redirects: 1.15.4
+ requires-port: 1.0.0
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: true
+
+ /iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: true
+
+ /iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: true
+
+ /icss-utils@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.32
+ dev: true
+
+ /ignore@5.3.0:
+ resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+
+ /import-local@3.1.0:
+ resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
+ dev: true
+
+ /inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits@2.0.3:
+ resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
+ dev: true
+
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ dev: true
+
+ /interpret@3.1.1:
+ resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
+ engines: {node: '>=10.13.0'}
+ dev: true
+
+ /ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+ dev: true
+
+ /ipaddr.js@2.1.0:
+ resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==}
+ engines: {node: '>= 10'}
+ dev: true
+
+ /is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ dev: true
+
+ /is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: true
+
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ dependencies:
+ hasown: 2.0.0
+ dev: true
+
+ /is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dev: true
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+ dev: true
+
+ /is-plain-obj@3.0.0:
+ resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /is-plain-object@2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: true
+
+ /is-reference@3.0.2:
+ resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
+ dependencies:
+ '@types/estree': 1.0.5
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+
+ /isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+ dev: true
+
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ dev: true
+
+ /isobject@3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/node': 20.10.6
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+ dev: true
+
+ /jiti@1.21.0:
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
+ hasBin: true
+ dev: true
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ dev: true
+
+ /js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ dev: true
+
+ /json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ dev: true
+
+ /json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+ dev: true
+
+ /json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dev: true
+
+ /kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /launch-editor@2.6.1:
+ resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==}
+ dependencies:
+ picocolors: 1.0.0
+ shell-quote: 1.8.1
+ dev: true
+
+ /lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ dev: true
+
+ /loader-runner@4.3.0:
+ resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
+ engines: {node: '>=6.11.5'}
+ dev: true
+
+ /loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 2.2.3
+ dev: true
+
+ /locate-character@3.0.0:
+ resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
+
+ /locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-locate: 4.1.0
+ dev: true
+
+ /lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ dev: true
+
+ /lower-case@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /magic-string@0.30.5:
+ resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /mdn-data@2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+
+ /media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /memfs@3.5.3:
+ resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
+ engines: {node: '>= 4.0.0'}
+ dependencies:
+ fs-monkey: 1.0.5
+ dev: true
+
+ /merge-descriptors@1.0.1:
+ resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
+ dev: true
+
+ /merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ dev: true
+
+ /merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: true
+
+ /mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /mini-css-extract-plugin@2.7.6(webpack@5.89.0):
+ resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ schema-utils: 4.2.0
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ dev: true
+
+ /minimalistic-assert@1.0.1:
+ resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+ dev: true
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ dev: true
+
+ /mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+ dev: false
+
+ /mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: true
+
+ /ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ dev: true
+
+ /ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ dev: true
+
+ /ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ dev: true
+
+ /multicast-dns@7.2.5:
+ resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
+ hasBin: true
+ dependencies:
+ dns-packet: 5.6.1
+ thunky: 1.1.0
+ dev: true
+
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: true
+
+ /nanoid@4.0.2:
+ resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==}
+ engines: {node: ^14 || ^16 || >=18}
+ hasBin: true
+
+ /nanoid@5.0.4:
+ resolution: {integrity: sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+ dev: false
+
+ /needle@3.3.1:
+ resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==}
+ engines: {node: '>= 4.4.x'}
+ hasBin: true
+ dependencies:
+ iconv-lite: 0.6.3
+ sax: 1.3.0
+ dev: true
+
+ /negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+ dev: true
+
+ /no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ dependencies:
+ lower-case: 2.0.2
+ tslib: 2.6.2
+ dev: true
+
+ /node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+ dev: true
+
+ /node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+ dev: true
+
+ /normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
+ /nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ dependencies:
+ boolbase: 1.0.0
+ dev: true
+
+ /object-inspect@1.13.1:
+ resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
+ dev: true
+
+ /obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+ dev: true
+
+ /on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: true
+
+ /on-headers@1.0.2:
+ resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+ dependencies:
+ mimic-fn: 2.1.0
+ dev: true
+
+ /open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: true
+
+ /p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-try: 2.2.0
+ dev: true
+
+ /p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+
+ /p-retry@4.6.2:
+ resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@types/retry': 0.12.0
+ retry: 0.13.1
+ dev: true
+
+ /p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /param-case@3.0.4:
+ resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+
+ /parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: true
+
+ /parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /pascal-case@3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ dev: true
+
+ /path-to-regexp@0.1.7:
+ resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
+ dev: true
+
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /periscopic@3.1.0:
+ resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 3.0.3
+ is-reference: 3.0.2
+
+ /picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ dev: true
+
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+ dev: true
+
+ /pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 4.1.0
+ dev: true
+
+ /postcss-loader@7.3.4(postcss@8.4.32)(typescript@5.3.3)(webpack@5.89.0):
+ resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ postcss: ^7.0.0 || ^8.0.1
+ webpack: ^5.0.0
+ dependencies:
+ cosmiconfig: 8.3.6(typescript@5.3.3)
+ jiti: 1.21.0
+ postcss: 8.4.32
+ semver: 7.5.4
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
+ /postcss-modules-extract-imports@3.0.0(postcss@8.4.32):
+ resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.32
+ dev: true
+
+ /postcss-modules-local-by-default@4.0.3(postcss@8.4.32):
+ resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ postcss-selector-parser: 6.0.15
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-modules-scope@3.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.32
+ postcss-selector-parser: 6.0.15
+ dev: true
+
+ /postcss-modules-values@4.0.0(postcss@8.4.32):
+ resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ dev: true
+
+ /postcss-selector-parser@6.0.15:
+ resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ dev: true
+
+ /postcss@8.4.32:
+ resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: true
+
+ /pretty-error@4.0.0:
+ resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
+ dependencies:
+ lodash: 4.17.21
+ renderkid: 3.0.0
+ dev: true
+
+ /process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ dev: true
+
+ /proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+ dev: true
+
+ /punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /qs@6.11.0:
+ resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
+ engines: {node: '>=0.6'}
+ dependencies:
+ side-channel: 1.0.4
+ dev: true
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
+
+ /randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /raw-body@2.5.1:
+ resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+ dev: true
+
+ /readable-stream@2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+ dev: true
+
+ /readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: true
+
+ /rechoir@0.8.0:
+ resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ resolve: 1.22.8
+ dev: true
+
+ /relateurl@0.2.7:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+ dev: true
+
+ /remixicon@4.0.1:
+ resolution: {integrity: sha512-Apa13Q01mFIuQEMvSVni8NnF9cV0vud9YXb2prQ+g3jmWpxKoFCL+yIiQ+9JCeLptdGKyoqVjCYOwwBQVHdciQ==}
+ dev: false
+
+ /renderkid@3.0.0:
+ resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
+ dependencies:
+ css-select: 4.3.0
+ dom-converter: 0.2.0
+ htmlparser2: 6.1.0
+ lodash: 4.17.21
+ strip-ansi: 6.0.1
+ dev: true
+
+ /require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ dev: true
+
+ /resolve-cwd@3.0.0:
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ resolve-from: 5.0.0
+ dev: true
+
+ /resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /retry@0.13.1:
+ resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
+
+ /rimraf@2.7.1:
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ dev: true
+
+ /safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ dev: true
+
+ /safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ dev: true
+
+ /sander@0.5.1:
+ resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
+ dependencies:
+ es6-promise: 3.3.1
+ graceful-fs: 4.2.11
+ mkdirp: 0.5.6
+ rimraf: 2.7.1
+ dev: true
+
+ /sax@1.3.0:
+ resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
+ dev: true
+
+ /schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+ dev: true
+
+ /schema-utils@4.2.0:
+ resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
+ engines: {node: '>= 12.13.0'}
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 8.12.0
+ ajv-formats: 2.1.1(ajv@8.12.0)
+ ajv-keywords: 5.1.0(ajv@8.12.0)
+ dev: true
+
+ /select-hose@2.0.0:
+ resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
+ dev: true
+
+ /selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/node-forge': 1.3.10
+ node-forge: 1.3.1
+ dev: true
+
+ /semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /send@0.18.0:
+ resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /serialize-javascript@6.0.1:
+ resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==}
+ dependencies:
+ randombytes: 2.1.0
+ dev: true
+
+ /serve-index@1.9.1:
+ resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ accepts: 1.3.8
+ batch: 0.6.1
+ debug: 2.6.9
+ escape-html: 1.0.3
+ http-errors: 1.6.3
+ mime-types: 2.1.35
+ parseurl: 1.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /serve-static@1.15.0:
+ resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.18.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /set-function-length@1.1.1:
+ resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ get-intrinsic: 1.2.2
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ dev: true
+
+ /setprototypeof@1.1.0:
+ resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
+ dev: true
+
+ /setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ dev: true
+
+ /shallow-clone@3.0.1:
+ resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
+ engines: {node: '>=8'}
+ dependencies:
+ kind-of: 6.0.3
+ dev: true
+
+ /shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+
+ /shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /shell-quote@1.8.1:
+ resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ dev: true
+
+ /side-channel@1.0.4:
+ resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ object-inspect: 1.13.1
+ dev: true
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: true
+
+ /slash@4.0.0:
+ resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /snarkdown@2.0.0:
+ resolution: {integrity: sha512-MgL/7k/AZdXCTJiNgrO7chgDqaB9FGM/1Tvlcenenb7div6obaDATzs16JhFyHHBGodHT3B7RzRc5qk8pFhg3A==}
+ dev: false
+
+ /sockjs@0.3.24:
+ resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
+ dependencies:
+ faye-websocket: 0.11.4
+ uuid: 8.3.2
+ websocket-driver: 0.7.4
+ dev: true
+
+ /sorcery@0.11.0:
+ resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
+ hasBin: true
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ buffer-crc32: 0.2.13
+ minimist: 1.2.8
+ sander: 0.5.1
+ dev: true
+
+ /source-map-js@1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+
+ /source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+ dev: true
+
+ /source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /spdx-exceptions@2.3.0:
+ resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
+ dev: true
+
+ /spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+ dependencies:
+ spdx-exceptions: 2.3.0
+ spdx-license-ids: 3.0.16
+ dev: true
+
+ /spdx-expression-validate@2.0.0:
+ resolution: {integrity: sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==}
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ dev: true
+
+ /spdx-license-ids@3.0.16:
+ resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
+ dev: true
+
+ /spdy-transport@3.0.0:
+ resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
+ dependencies:
+ debug: 4.3.4
+ detect-node: 2.1.0
+ hpack.js: 2.1.6
+ obuf: 1.1.2
+ readable-stream: 3.6.2
+ wbuf: 1.7.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /spdy@4.0.2:
+ resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ debug: 4.3.4
+ handle-thing: 2.0.1
+ http-deceiver: 1.2.7
+ select-hose: 2.0.0
+ spdy-transport: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: true
+
+ /string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+ dev: true
+
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ min-indent: 1.0.1
+ dev: true
+
+ /style-loader@3.3.3(webpack@5.89.0):
+ resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ dev: true
+
+ /supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+ dependencies:
+ has-flag: 3.0.0
+ dev: true
+
+ /supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /svelte-dev-helper@1.1.9:
+ resolution: {integrity: sha512-oU+Xv7Dl4kRU2kdFjsoPLfJfnt5hUhsFUZtuzI3Ku/f2iAFZqBoEuXOqK3N9ngD4dxQOmN4OKWPHVi3NeAeAfQ==}
+ dev: true
+
+ /svelte-hmr@0.14.12(svelte@4.2.8):
+ resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==}
+ engines: {node: ^12.20 || ^14.13.1 || >= 16}
+ peerDependencies:
+ svelte: '>=3.19.0'
+ dependencies:
+ svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
+ dev: true
+
+ /svelte-loader@3.1.9(svelte@4.2.8):
+ resolution: {integrity: sha512-RITPqze3TppOhaZF8SEFTDTwFHov17k3UkOjpxyL/No/YVrvckKmXWOEj7QEpsZZZSNQPb28tMZbHEI2xLhJMQ==}
+ peerDependencies:
+ svelte: ^3.0.0 || ^4.0.0-next.0
+ dependencies:
+ loader-utils: 2.0.4
+ svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
+ svelte-dev-helper: 1.1.9
+ svelte-hmr: 0.14.12(svelte@4.2.8)
+ dev: true
+
+ /svelte-preprocess@5.1.3(postcss@8.4.32)(svelte@4.2.8)(typescript@5.3.3):
+ resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==}
+ engines: {node: '>= 16.0.0', pnpm: ^8.0.0}
+ requiresBuild: true
+ peerDependencies:
+ '@babel/core': ^7.10.2
+ coffeescript: ^2.5.1
+ less: ^3.11.3 || ^4.0.0
+ postcss: ^7 || ^8
+ postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
+ pug: ^3.0.0
+ sass: ^1.26.8
+ stylus: ^0.55.0
+ sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
+ svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
+ typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ coffeescript:
+ optional: true
+ less:
+ optional: true
+ postcss:
+ optional: true
+ postcss-load-config:
+ optional: true
+ pug:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@types/pug': 2.0.10
+ detect-indent: 6.1.0
+ magic-string: 0.30.5
+ postcss: 8.4.32
+ sorcery: 0.11.0
+ strip-indent: 3.0.0
+ svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
+ typescript: 5.3.3
+ dev: true
+
+ /svelte-sequential-preprocessor@2.0.1:
+ resolution: {integrity: sha512-N5JqlBni6BzElxmuFrOPxOJnjsxh1cFDACLEVKs8OHBcx8ZNRO1p5SxuQex1m3qbLzAC8G99EHeWcxGkjyKjLQ==}
+ engines: {node: '>=16'}
+ dependencies:
+ svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
+ tslib: 2.6.2
+ dev: true
+
+ /svelte@4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4):
+ resolution: {integrity: sha512-hU6dh1MPl8gh6klQZwK/n73GiAHiR95IkFsesLPbMeEZi36ydaXL/ZAb4g9sayT0MXzpxyZjR28yderJHxcmYA==}
+ engines: {node: '>=16'}
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.20
+ acorn: 8.11.3
+ aria-query: 5.3.0
+ axobject-query: 3.2.1
+ code-red: 1.0.4
+ css-tree: 2.3.1
+ estree-walker: 3.0.3
+ is-reference: 3.0.2
+ locate-character: 3.0.0
+ magic-string: 0.30.5
+ periscopic: 3.1.0
+ patched: true
+
+ /tabbable@6.2.0:
+ resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+
+ /tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /terser-webpack-plugin@5.3.10(webpack@5.89.0):
+ resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.20
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.1
+ terser: 5.26.0
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ dev: true
+
+ /terser@5.26.0:
+ resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.5
+ acorn: 8.11.3
+ commander: 2.20.3
+ source-map-support: 0.5.21
+ dev: true
+
+ /thunky@1.1.0:
+ resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
+ dev: true
+
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+ dev: true
+
+ /toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+ dev: true
+
+ /ts-loader@9.5.1(typescript@5.3.3)(webpack@5.89.0):
+ resolution: {integrity: sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ typescript: '*'
+ webpack: ^5.0.0
+ dependencies:
+ chalk: 4.1.2
+ enhanced-resolve: 5.15.0
+ micromatch: 4.0.5
+ semver: 7.5.4
+ source-map: 0.7.4
+ typescript: 5.3.3
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ dev: true
+
+ /tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+
+ /type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+ dev: true
+
+ /typescript@5.3.3:
+ resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ /undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ dev: true
+
+ /unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /update-browserslist-db@1.0.13(browserslist@4.22.2):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.22.2
+ escalade: 3.1.1
+ picocolors: 1.0.0
+ dev: true
+
+ /uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.3.1
+ dev: true
+
+ /util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ dev: true
+
+ /utila@0.4.0:
+ resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
+ dev: true
+
+ /utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+ dev: true
+
+ /uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ hasBin: true
+ dev: true
+
+ /vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /watchpack@2.4.0:
+ resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ dev: true
+
+ /wbuf@1.7.3:
+ resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
+ dependencies:
+ minimalistic-assert: 1.0.1
+ dev: true
+
+ /webpack-cli@5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0):
+ resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==}
+ engines: {node: '>=14.15.0'}
+ hasBin: true
+ peerDependencies:
+ '@webpack-cli/generators': '*'
+ webpack: 5.x.x
+ webpack-bundle-analyzer: '*'
+ webpack-dev-server: '*'
+ peerDependenciesMeta:
+ '@webpack-cli/generators':
+ optional: true
+ webpack-bundle-analyzer:
+ optional: true
+ webpack-dev-server:
+ optional: true
+ dependencies:
+ '@discoveryjs/json-ext': 0.5.7
+ '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.89.0)
+ '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.89.0)
+ '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ colorette: 2.0.20
+ commander: 10.0.1
+ cross-spawn: 7.0.3
+ envinfo: 7.11.0
+ fastest-levenshtein: 1.0.16
+ import-local: 3.1.0
+ interpret: 3.1.1
+ rechoir: 0.8.0
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0)
+ webpack-merge: 5.10.0
+ dev: true
+
+ /webpack-dev-middleware@5.3.3(webpack@5.89.0):
+ resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+ dependencies:
+ colorette: 2.0.20
+ memfs: 3.5.3
+ mime-types: 2.1.35
+ range-parser: 1.2.1
+ schema-utils: 4.2.0
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ dev: true
+
+ /webpack-dev-server@4.15.1(webpack-cli@5.1.4)(webpack@5.89.0):
+ resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==}
+ engines: {node: '>= 12.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack: ^4.37.0 || ^5.0.0
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/bonjour': 3.5.13
+ '@types/connect-history-api-fallback': 1.5.4
+ '@types/express': 4.17.21
+ '@types/serve-index': 1.9.4
+ '@types/serve-static': 1.15.5
+ '@types/sockjs': 0.3.36
+ '@types/ws': 8.5.10
+ ansi-html-community: 0.0.8
+ bonjour-service: 1.1.1
+ chokidar: 3.5.3
+ colorette: 2.0.20
+ compression: 1.7.4
+ connect-history-api-fallback: 2.0.0
+ default-gateway: 6.0.3
+ express: 4.18.2
+ graceful-fs: 4.2.11
+ html-entities: 2.4.0
+ http-proxy-middleware: 2.0.6(@types/express@4.17.21)
+ ipaddr.js: 2.1.0
+ launch-editor: 2.6.1
+ open: 8.4.2
+ p-retry: 4.6.2
+ rimraf: 3.0.2
+ schema-utils: 4.2.0
+ selfsigned: 2.4.1
+ serve-index: 1.9.1
+ sockjs: 0.3.24
+ spdy: 4.0.2
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-dev-middleware: 5.3.3(webpack@5.89.0)
+ ws: 8.16.0
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /webpack-license-plugin@4.4.2(patch_hash=j2giecj6dvolnysmkqbx73rnua)(webpack@5.89.0):
+ resolution: {integrity: sha512-n6BWea7g/ogWF/Nd3eOXVj9NLThaa5XYUNENNu4/0kPzxU6kPAKBe5XtQ2uKrrzM6OBOAyjkzzorZ8dAjHOycw==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ webpack: '>=4.0.0 < 6.0.0'
+ dependencies:
+ chalk: 5.3.0
+ lodash: 4.17.21
+ needle: 3.3.1
+ spdx-expression-validate: 2.0.0
+ webpack: 5.89.0(webpack-cli@5.1.4)
+ webpack-sources: 3.2.3
+ dev: true
+ patched: true
+
+ /webpack-merge@5.10.0:
+ resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ clone-deep: 4.0.1
+ flat: 5.0.2
+ wildcard: 2.0.1
+ dev: true
+
+ /webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+ dev: true
+
+ /webpack@5.89.0(webpack-cli@5.1.4):
+ resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/eslint-scope': 3.7.7
+ '@types/estree': 1.0.5
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/wasm-edit': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ acorn: 8.11.3
+ acorn-import-assertions: 1.9.0(acorn@8.11.3)
+ browserslist: 4.22.2
+ chrome-trace-event: 1.0.3
+ enhanced-resolve: 5.15.0
+ es-module-lexer: 1.4.1
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ tapable: 2.2.1
+ terser-webpack-plugin: 5.3.10(webpack@5.89.0)
+ watchpack: 2.4.0
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+ dev: true
+
+ /websocket-driver@0.7.4:
+ resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
+ engines: {node: '>=0.8.0'}
+ dependencies:
+ http-parser-js: 0.5.8
+ safe-buffer: 5.2.1
+ websocket-extensions: 0.1.4
+ dev: true
+
+ /websocket-extensions@0.1.4:
+ resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
+ engines: {node: '>=0.8.0'}
+ dev: true
+
+ /which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /wildcard@2.0.1:
+ resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
+ dev: true
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ dev: true
+
+ /ws@8.16.0:
+ resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: true
+
+ /yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ dev: true
diff --git a/src/content/bookmarks/Bookmarks.svelte b/apps/content/src/bookmarks/Bookmarks.svelte
similarity index 100%
rename from src/content/bookmarks/Bookmarks.svelte
rename to apps/content/src/bookmarks/Bookmarks.svelte
diff --git a/src/content/bookmarks/bookmarks.css b/apps/content/src/bookmarks/bookmarks.css
similarity index 100%
rename from src/content/bookmarks/bookmarks.css
rename to apps/content/src/bookmarks/bookmarks.css
diff --git a/src/content/bookmarks/bookmarks.ts b/apps/content/src/bookmarks/bookmarks.ts
similarity index 100%
rename from src/content/bookmarks/bookmarks.ts
rename to apps/content/src/bookmarks/bookmarks.ts
diff --git a/src/content/bookmarks/components/BookmarkEditor.svelte b/apps/content/src/bookmarks/components/BookmarkEditor.svelte
similarity index 100%
rename from src/content/bookmarks/components/BookmarkEditor.svelte
rename to apps/content/src/bookmarks/components/BookmarkEditor.svelte
diff --git a/src/content/bookmarks/components/BookmarkItem.svelte b/apps/content/src/bookmarks/components/BookmarkItem.svelte
similarity index 100%
rename from src/content/bookmarks/components/BookmarkItem.svelte
rename to apps/content/src/bookmarks/components/BookmarkItem.svelte
diff --git a/src/content/bookmarks/components/BookmarkTree.svelte b/apps/content/src/bookmarks/components/BookmarkTree.svelte
similarity index 100%
rename from src/content/bookmarks/components/BookmarkTree.svelte
rename to apps/content/src/bookmarks/components/BookmarkTree.svelte
diff --git a/src/content/browser/Browser.svelte b/apps/content/src/browser/Browser.svelte
similarity index 100%
rename from src/content/browser/Browser.svelte
rename to apps/content/src/browser/Browser.svelte
diff --git a/src/content/browser/browser.css b/apps/content/src/browser/browser.css
similarity index 100%
rename from src/content/browser/browser.css
rename to apps/content/src/browser/browser.css
diff --git a/src/content/browser/browser.ts b/apps/content/src/browser/browser.ts
similarity index 100%
rename from src/content/browser/browser.ts
rename to apps/content/src/browser/browser.ts
diff --git a/src/content/browser/components/Browser.svelte b/apps/content/src/browser/components/Browser.svelte
similarity index 100%
rename from src/content/browser/components/Browser.svelte
rename to apps/content/src/browser/components/Browser.svelte
diff --git a/src/content/browser/components/customizableUI/Block.svelte b/apps/content/src/browser/components/customizableUI/Block.svelte
similarity index 100%
rename from src/content/browser/components/customizableUI/Block.svelte
rename to apps/content/src/browser/components/customizableUI/Block.svelte
diff --git a/src/content/browser/components/customizableUI/BrowserView.svelte b/apps/content/src/browser/components/customizableUI/BrowserView.svelte
similarity index 100%
rename from src/content/browser/components/customizableUI/BrowserView.svelte
rename to apps/content/src/browser/components/customizableUI/BrowserView.svelte
diff --git a/src/content/browser/components/customizableUI/CustomizableUI.svelte b/apps/content/src/browser/components/customizableUI/CustomizableUI.svelte
similarity index 100%
rename from src/content/browser/components/customizableUI/CustomizableUI.svelte
rename to apps/content/src/browser/components/customizableUI/CustomizableUI.svelte
diff --git a/src/content/browser/components/customizableUI/IconButton.svelte b/apps/content/src/browser/components/customizableUI/IconButton.svelte
similarity index 100%
rename from src/content/browser/components/customizableUI/IconButton.svelte
rename to apps/content/src/browser/components/customizableUI/IconButton.svelte
diff --git a/src/content/browser/components/customizableUI/OmniboxContainer.svelte b/apps/content/src/browser/components/customizableUI/OmniboxContainer.svelte
similarity index 100%
rename from src/content/browser/components/customizableUI/OmniboxContainer.svelte
rename to apps/content/src/browser/components/customizableUI/OmniboxContainer.svelte
diff --git a/src/content/browser/components/customizableUI/Spacer.svelte b/apps/content/src/browser/components/customizableUI/Spacer.svelte
similarity index 100%
rename from src/content/browser/components/customizableUI/Spacer.svelte
rename to apps/content/src/browser/components/customizableUI/Spacer.svelte
diff --git a/src/content/browser/components/customizableUI/Tabs.svelte b/apps/content/src/browser/components/customizableUI/Tabs.svelte
similarity index 100%
rename from src/content/browser/components/customizableUI/Tabs.svelte
rename to apps/content/src/browser/components/customizableUI/Tabs.svelte
diff --git a/src/content/browser/components/customizableUI/UIItemBase.svelte b/apps/content/src/browser/components/customizableUI/UIItemBase.svelte
similarity index 100%
rename from src/content/browser/components/customizableUI/UIItemBase.svelte
rename to apps/content/src/browser/components/customizableUI/UIItemBase.svelte
diff --git a/src/content/browser/components/customizableUI/index.ts b/apps/content/src/browser/components/customizableUI/index.ts
similarity index 100%
rename from src/content/browser/components/customizableUI/index.ts
rename to apps/content/src/browser/components/customizableUI/index.ts
diff --git a/src/content/browser/components/keybindings/Keybinding.svelte b/apps/content/src/browser/components/keybindings/Keybinding.svelte
similarity index 100%
rename from src/content/browser/components/keybindings/Keybinding.svelte
rename to apps/content/src/browser/components/keybindings/Keybinding.svelte
diff --git a/src/content/browser/components/keybindings/Keybindings.svelte b/apps/content/src/browser/components/keybindings/Keybindings.svelte
similarity index 100%
rename from src/content/browser/components/keybindings/Keybindings.svelte
rename to apps/content/src/browser/components/keybindings/Keybindings.svelte
diff --git a/src/content/browser/components/menus/BrowserContextMenu.svelte b/apps/content/src/browser/components/menus/BrowserContextMenu.svelte
similarity index 100%
rename from src/content/browser/components/menus/BrowserContextMenu.svelte
rename to apps/content/src/browser/components/menus/BrowserContextMenu.svelte
diff --git a/src/content/browser/components/menus/HamburgerMenu/HamburgerMenu.svelte b/apps/content/src/browser/components/menus/HamburgerMenu/HamburgerMenu.svelte
similarity index 100%
rename from src/content/browser/components/menus/HamburgerMenu/HamburgerMenu.svelte
rename to apps/content/src/browser/components/menus/HamburgerMenu/HamburgerMenu.svelte
diff --git a/src/content/browser/components/menus/HamburgerMenu/HamburgerMenuItem.svelte b/apps/content/src/browser/components/menus/HamburgerMenu/HamburgerMenuItem.svelte
similarity index 100%
rename from src/content/browser/components/menus/HamburgerMenu/HamburgerMenuItem.svelte
rename to apps/content/src/browser/components/menus/HamburgerMenu/HamburgerMenuItem.svelte
diff --git a/src/content/browser/components/menus/index.ts b/apps/content/src/browser/components/menus/index.ts
similarity index 100%
rename from src/content/browser/components/menus/index.ts
rename to apps/content/src/browser/components/menus/index.ts
diff --git a/src/content/browser/components/omnibox/Bookmarks.svelte b/apps/content/src/browser/components/omnibox/Bookmarks.svelte
similarity index 100%
rename from src/content/browser/components/omnibox/Bookmarks.svelte
rename to apps/content/src/browser/components/omnibox/Bookmarks.svelte
diff --git a/src/content/browser/components/omnibox/Omnibox.svelte b/apps/content/src/browser/components/omnibox/Omnibox.svelte
similarity index 100%
rename from src/content/browser/components/omnibox/Omnibox.svelte
rename to apps/content/src/browser/components/omnibox/Omnibox.svelte
diff --git a/src/content/browser/components/omnibox/PageAction.svelte b/apps/content/src/browser/components/omnibox/PageAction.svelte
similarity index 100%
rename from src/content/browser/components/omnibox/PageAction.svelte
rename to apps/content/src/browser/components/omnibox/PageAction.svelte
diff --git a/src/content/browser/components/tabs/Tab.svelte b/apps/content/src/browser/components/tabs/Tab.svelte
similarity index 100%
rename from src/content/browser/components/tabs/Tab.svelte
rename to apps/content/src/browser/components/tabs/Tab.svelte
diff --git a/src/content/browser/components/tabs/tabDrag.ts b/apps/content/src/browser/components/tabs/tabDrag.ts
similarity index 100%
rename from src/content/browser/components/tabs/tabDrag.ts
rename to apps/content/src/browser/components/tabs/tabDrag.ts
diff --git a/src/content/browser/lib/binaryEnums.ts b/apps/content/src/browser/lib/binaryEnums.ts
similarity index 100%
rename from src/content/browser/lib/binaryEnums.ts
rename to apps/content/src/browser/lib/binaryEnums.ts
diff --git a/src/content/browser/lib/devtools.ts b/apps/content/src/browser/lib/devtools.ts
similarity index 100%
rename from src/content/browser/lib/devtools.ts
rename to apps/content/src/browser/lib/devtools.ts
diff --git a/src/content/browser/lib/fp.ts b/apps/content/src/browser/lib/fp.ts
similarity index 100%
rename from src/content/browser/lib/fp.ts
rename to apps/content/src/browser/lib/fp.ts
diff --git a/src/content/browser/lib/keybinds.ts b/apps/content/src/browser/lib/keybinds.ts
similarity index 100%
rename from src/content/browser/lib/keybinds.ts
rename to apps/content/src/browser/lib/keybinds.ts
diff --git a/src/content/browser/lib/modules/EPageActionsBindings.ts b/apps/content/src/browser/lib/modules/EPageActionsBindings.ts
similarity index 100%
rename from src/content/browser/lib/modules/EPageActionsBindings.ts
rename to apps/content/src/browser/lib/modules/EPageActionsBindings.ts
diff --git a/src/content/browser/lib/resources.ts b/apps/content/src/browser/lib/resources.ts
similarity index 100%
rename from src/content/browser/lib/resources.ts
rename to apps/content/src/browser/lib/resources.ts
diff --git a/src/content/browser/lib/shortcuts.ts b/apps/content/src/browser/lib/shortcuts.ts
similarity index 100%
rename from src/content/browser/lib/shortcuts.ts
rename to apps/content/src/browser/lib/shortcuts.ts
diff --git a/src/content/browser/lib/spinlock.ts b/apps/content/src/browser/lib/spinlock.ts
similarity index 100%
rename from src/content/browser/lib/spinlock.ts
rename to apps/content/src/browser/lib/spinlock.ts
diff --git a/src/content/browser/lib/window/api.ts b/apps/content/src/browser/lib/window/api.ts
similarity index 100%
rename from src/content/browser/lib/window/api.ts
rename to apps/content/src/browser/lib/window/api.ts
diff --git a/src/content/browser/lib/window/arguments.ts b/apps/content/src/browser/lib/window/arguments.ts
similarity index 100%
rename from src/content/browser/lib/window/arguments.ts
rename to apps/content/src/browser/lib/window/arguments.ts
diff --git a/src/content/browser/lib/window/contextMenu.ts b/apps/content/src/browser/lib/window/contextMenu.ts
similarity index 100%
rename from src/content/browser/lib/window/contextMenu.ts
rename to apps/content/src/browser/lib/window/contextMenu.ts
diff --git a/src/content/browser/lib/window/index.ts b/apps/content/src/browser/lib/window/index.ts
similarity index 100%
rename from src/content/browser/lib/window/index.ts
rename to apps/content/src/browser/lib/window/index.ts
diff --git a/src/content/browser/lib/window/initialize.ts b/apps/content/src/browser/lib/window/initialize.ts
similarity index 100%
rename from src/content/browser/lib/window/initialize.ts
rename to apps/content/src/browser/lib/window/initialize.ts
diff --git a/src/content/browser/lib/window/tab.ts b/apps/content/src/browser/lib/window/tab.ts
similarity index 100%
rename from src/content/browser/lib/window/tab.ts
rename to apps/content/src/browser/lib/window/tab.ts
diff --git a/src/content/browser/lib/window/tabs.ts b/apps/content/src/browser/lib/window/tabs.ts
similarity index 100%
rename from src/content/browser/lib/window/tabs.ts
rename to apps/content/src/browser/lib/window/tabs.ts
diff --git a/src/content/browser/lib/window/window.ts b/apps/content/src/browser/lib/window/window.ts
similarity index 100%
rename from src/content/browser/lib/window/window.ts
rename to apps/content/src/browser/lib/window/window.ts
diff --git a/src/content/browser/lib/xul/NSBrowserAccess.ts b/apps/content/src/browser/lib/xul/NSBrowserAccess.ts
similarity index 100%
rename from src/content/browser/lib/xul/NSBrowserAccess.ts
rename to apps/content/src/browser/lib/xul/NSBrowserAccess.ts
diff --git a/src/content/browser/lib/xul/XULBrowserWindow.ts b/apps/content/src/browser/lib/xul/XULBrowserWindow.ts
similarity index 100%
rename from src/content/browser/lib/xul/XULBrowserWindow.ts
rename to apps/content/src/browser/lib/xul/XULBrowserWindow.ts
diff --git a/src/content/browser/lib/xul/browser.ts b/apps/content/src/browser/lib/xul/browser.ts
similarity index 100%
rename from src/content/browser/lib/xul/browser.ts
rename to apps/content/src/browser/lib/xul/browser.ts
diff --git a/src/content/browser/lib/xul/ccWrapper.ts b/apps/content/src/browser/lib/xul/ccWrapper.ts
similarity index 100%
rename from src/content/browser/lib/xul/ccWrapper.ts
rename to apps/content/src/browser/lib/xul/ccWrapper.ts
diff --git a/src/content/browser/lib/xul/domevents.ts b/apps/content/src/browser/lib/xul/domevents.ts
similarity index 100%
rename from src/content/browser/lib/xul/domevents.ts
rename to apps/content/src/browser/lib/xul/domevents.ts
diff --git a/src/content/contentAreaUtils.d.ts b/apps/content/src/contentAreaUtils.d.ts
similarity index 100%
rename from src/content/contentAreaUtils.d.ts
rename to apps/content/src/contentAreaUtils.d.ts
diff --git a/src/content/credits/Credits.svelte b/apps/content/src/credits/Credits.svelte
similarity index 100%
rename from src/content/credits/Credits.svelte
rename to apps/content/src/credits/Credits.svelte
diff --git a/src/content/credits/credits.ts b/apps/content/src/credits/credits.ts
similarity index 100%
rename from src/content/credits/credits.ts
rename to apps/content/src/credits/credits.ts
diff --git a/src/content/globalOverlay.d.ts b/apps/content/src/globalOverlay.d.ts
similarity index 100%
rename from src/content/globalOverlay.d.ts
rename to apps/content/src/globalOverlay.d.ts
diff --git a/src/content/history/History.svelte b/apps/content/src/history/History.svelte
similarity index 100%
rename from src/content/history/History.svelte
rename to apps/content/src/history/History.svelte
diff --git a/src/content/history/component/Entry.svelte b/apps/content/src/history/component/Entry.svelte
similarity index 100%
rename from src/content/history/component/Entry.svelte
rename to apps/content/src/history/component/Entry.svelte
diff --git a/src/content/history/component/HistoryContainerNode.svelte b/apps/content/src/history/component/HistoryContainerNode.svelte
similarity index 100%
rename from src/content/history/component/HistoryContainerNode.svelte
rename to apps/content/src/history/component/HistoryContainerNode.svelte
diff --git a/src/content/history/component/HistoryItemNode.svelte b/apps/content/src/history/component/HistoryItemNode.svelte
similarity index 100%
rename from src/content/history/component/HistoryItemNode.svelte
rename to apps/content/src/history/component/HistoryItemNode.svelte
diff --git a/src/content/history/component/HistoryNode.svelte b/apps/content/src/history/component/HistoryNode.svelte
similarity index 100%
rename from src/content/history/component/HistoryNode.svelte
rename to apps/content/src/history/component/HistoryNode.svelte
diff --git a/src/content/history/history.ts b/apps/content/src/history/history.ts
similarity index 100%
rename from src/content/history/history.ts
rename to apps/content/src/history/history.ts
diff --git a/src/content/index.html b/apps/content/src/index.html
similarity index 100%
rename from src/content/index.html
rename to apps/content/src/index.html
diff --git a/src/content/reset.d.ts b/apps/content/src/reset.d.ts
similarity index 100%
rename from src/content/reset.d.ts
rename to apps/content/src/reset.d.ts
diff --git a/src/content/settings/Settings.svelte b/apps/content/src/settings/Settings.svelte
similarity index 100%
rename from src/content/settings/Settings.svelte
rename to apps/content/src/settings/Settings.svelte
diff --git a/src/content/settings/components/Category.svelte b/apps/content/src/settings/components/Category.svelte
similarity index 100%
rename from src/content/settings/components/Category.svelte
rename to apps/content/src/settings/components/Category.svelte
diff --git a/src/content/settings/components/SubCategory.svelte b/apps/content/src/settings/components/SubCategory.svelte
similarity index 100%
rename from src/content/settings/components/SubCategory.svelte
rename to apps/content/src/settings/components/SubCategory.svelte
diff --git a/src/content/settings/components/pref/ContextMenuPref/ContextMenuPref.svelte b/apps/content/src/settings/components/pref/ContextMenuPref/ContextMenuPref.svelte
similarity index 100%
rename from src/content/settings/components/pref/ContextMenuPref/ContextMenuPref.svelte
rename to apps/content/src/settings/components/pref/ContextMenuPref/ContextMenuPref.svelte
diff --git a/src/content/settings/components/pref/ContextMenuPref/ContextMenuPreview.svelte b/apps/content/src/settings/components/pref/ContextMenuPref/ContextMenuPreview.svelte
similarity index 100%
rename from src/content/settings/components/pref/ContextMenuPref/ContextMenuPreview.svelte
rename to apps/content/src/settings/components/pref/ContextMenuPref/ContextMenuPreview.svelte
diff --git a/src/content/settings/components/pref/ContextMenuPref/InsertItem.svelte b/apps/content/src/settings/components/pref/ContextMenuPref/InsertItem.svelte
similarity index 100%
rename from src/content/settings/components/pref/ContextMenuPref/InsertItem.svelte
rename to apps/content/src/settings/components/pref/ContextMenuPref/InsertItem.svelte
diff --git a/src/content/settings/components/pref/ContextMenuPref/PreviewItem.svelte b/apps/content/src/settings/components/pref/ContextMenuPref/PreviewItem.svelte
similarity index 100%
rename from src/content/settings/components/pref/ContextMenuPref/PreviewItem.svelte
rename to apps/content/src/settings/components/pref/ContextMenuPref/PreviewItem.svelte
diff --git a/src/content/settings/components/pref/ContextMenuPref/index.ts b/apps/content/src/settings/components/pref/ContextMenuPref/index.ts
similarity index 100%
rename from src/content/settings/components/pref/ContextMenuPref/index.ts
rename to apps/content/src/settings/components/pref/ContextMenuPref/index.ts
diff --git a/src/content/settings/components/pref/ContextMenuPref/prefWrapper.ts b/apps/content/src/settings/components/pref/ContextMenuPref/prefWrapper.ts
similarity index 100%
rename from src/content/settings/components/pref/ContextMenuPref/prefWrapper.ts
rename to apps/content/src/settings/components/pref/ContextMenuPref/prefWrapper.ts
diff --git a/src/content/settings/components/pref/CustomizableUI/Component.svelte b/apps/content/src/settings/components/pref/CustomizableUI/Component.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Component.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/Component.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/Components/Block.svelte b/apps/content/src/settings/components/pref/CustomizableUI/Components/Block.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Components/Block.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/Components/Block.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/Components/Browser.svelte b/apps/content/src/settings/components/pref/CustomizableUI/Components/Browser.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Components/Browser.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/Components/Browser.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/Components/IconButton.svelte b/apps/content/src/settings/components/pref/CustomizableUI/Components/IconButton.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Components/IconButton.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/Components/IconButton.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/Components/Omnibox.svelte b/apps/content/src/settings/components/pref/CustomizableUI/Components/Omnibox.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Components/Omnibox.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/Components/Omnibox.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/Components/Spacer.svelte b/apps/content/src/settings/components/pref/CustomizableUI/Components/Spacer.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Components/Spacer.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/Components/Spacer.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/Components/Tabs.svelte b/apps/content/src/settings/components/pref/CustomizableUI/Components/Tabs.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Components/Tabs.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/Components/Tabs.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/Components/TempDropTarget.svelte b/apps/content/src/settings/components/pref/CustomizableUI/Components/TempDropTarget.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Components/TempDropTarget.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/Components/TempDropTarget.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/Components/index.ts b/apps/content/src/settings/components/pref/CustomizableUI/Components/index.ts
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Components/index.ts
rename to apps/content/src/settings/components/pref/CustomizableUI/Components/index.ts
diff --git a/src/content/settings/components/pref/CustomizableUI/Configure.svelte b/apps/content/src/settings/components/pref/CustomizableUI/Configure.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/Configure.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/Configure.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/CustomizableUIPref.svelte b/apps/content/src/settings/components/pref/CustomizableUI/CustomizableUIPref.svelte
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/CustomizableUIPref.svelte
rename to apps/content/src/settings/components/pref/CustomizableUI/CustomizableUIPref.svelte
diff --git a/src/content/settings/components/pref/CustomizableUI/index.ts b/apps/content/src/settings/components/pref/CustomizableUI/index.ts
similarity index 100%
rename from src/content/settings/components/pref/CustomizableUI/index.ts
rename to apps/content/src/settings/components/pref/CustomizableUI/index.ts
diff --git a/src/content/settings/components/pref/SelectPref.svelte b/apps/content/src/settings/components/pref/SelectPref.svelte
similarity index 100%
rename from src/content/settings/components/pref/SelectPref.svelte
rename to apps/content/src/settings/components/pref/SelectPref.svelte
diff --git a/src/content/settings/components/pref/StringPref.svelte b/apps/content/src/settings/components/pref/StringPref.svelte
similarity index 100%
rename from src/content/settings/components/pref/StringPref.svelte
rename to apps/content/src/settings/components/pref/StringPref.svelte
diff --git a/src/content/settings/components/pref/index.ts b/apps/content/src/settings/components/pref/index.ts
similarity index 100%
rename from src/content/settings/components/pref/index.ts
rename to apps/content/src/settings/components/pref/index.ts
diff --git a/src/content/settings/components/sidebar/Sidebar.svelte b/apps/content/src/settings/components/sidebar/Sidebar.svelte
similarity index 100%
rename from src/content/settings/components/sidebar/Sidebar.svelte
rename to apps/content/src/settings/components/sidebar/Sidebar.svelte
diff --git a/src/content/settings/components/sidebar/index.ts b/apps/content/src/settings/components/sidebar/index.ts
similarity index 100%
rename from src/content/settings/components/sidebar/index.ts
rename to apps/content/src/settings/components/sidebar/index.ts
diff --git a/src/content/settings/components/sidebar/sidebar.ts b/apps/content/src/settings/components/sidebar/sidebar.ts
similarity index 100%
rename from src/content/settings/components/sidebar/sidebar.ts
rename to apps/content/src/settings/components/sidebar/sidebar.ts
diff --git a/src/content/settings/settings.css b/apps/content/src/settings/settings.css
similarity index 100%
rename from src/content/settings/settings.css
rename to apps/content/src/settings/settings.css
diff --git a/src/content/settings/settings.ts b/apps/content/src/settings/settings.ts
similarity index 100%
rename from src/content/settings/settings.ts
rename to apps/content/src/settings/settings.ts
diff --git a/src/content/shared/Deferred.ts b/apps/content/src/shared/Deferred.ts
similarity index 100%
rename from src/content/shared/Deferred.ts
rename to apps/content/src/shared/Deferred.ts
diff --git a/src/content/shared/ExtBookmarkAPI.ts b/apps/content/src/shared/ExtBookmarkAPI.ts
similarity index 100%
rename from src/content/shared/ExtBookmarkAPI.ts
rename to apps/content/src/shared/ExtBookmarkAPI.ts
diff --git a/src/content/shared/ExtHistoryAPI.ts b/apps/content/src/shared/ExtHistoryAPI.ts
similarity index 100%
rename from src/content/shared/ExtHistoryAPI.ts
rename to apps/content/src/shared/ExtHistoryAPI.ts
diff --git a/src/content/shared/TypedImportUtilities.ts b/apps/content/src/shared/TypedImportUtilities.ts
similarity index 100%
rename from src/content/shared/TypedImportUtilities.ts
rename to apps/content/src/shared/TypedImportUtilities.ts
diff --git a/src/content/shared/components/Button.svelte b/apps/content/src/shared/components/Button.svelte
similarity index 100%
rename from src/content/shared/components/Button.svelte
rename to apps/content/src/shared/components/Button.svelte
diff --git a/src/content/shared/components/FancySelect.svelte b/apps/content/src/shared/components/FancySelect.svelte
similarity index 100%
rename from src/content/shared/components/FancySelect.svelte
rename to apps/content/src/shared/components/FancySelect.svelte
diff --git a/src/content/shared/components/Spinner.svelte b/apps/content/src/shared/components/Spinner.svelte
similarity index 100%
rename from src/content/shared/components/Spinner.svelte
rename to apps/content/src/shared/components/Spinner.svelte
diff --git a/src/content/shared/components/TextInput.svelte b/apps/content/src/shared/components/TextInput.svelte
similarity index 100%
rename from src/content/shared/components/TextInput.svelte
rename to apps/content/src/shared/components/TextInput.svelte
diff --git a/src/content/shared/components/ToolbarButton.svelte b/apps/content/src/shared/components/ToolbarButton.svelte
similarity index 100%
rename from src/content/shared/components/ToolbarButton.svelte
rename to apps/content/src/shared/components/ToolbarButton.svelte
diff --git a/src/content/shared/components/Tree/TreeView.svelte b/apps/content/src/shared/components/Tree/TreeView.svelte
similarity index 100%
rename from src/content/shared/components/Tree/TreeView.svelte
rename to apps/content/src/shared/components/Tree/TreeView.svelte
diff --git a/src/content/shared/components/Tree/index.ts b/apps/content/src/shared/components/Tree/index.ts
similarity index 100%
rename from src/content/shared/components/Tree/index.ts
rename to apps/content/src/shared/components/Tree/index.ts
diff --git a/src/content/shared/components/index.ts b/apps/content/src/shared/components/index.ts
similarity index 100%
rename from src/content/shared/components/index.ts
rename to apps/content/src/shared/components/index.ts
diff --git a/src/content/shared/contextMenus/MenuItem.ts b/apps/content/src/shared/contextMenus/MenuItem.ts
similarity index 100%
rename from src/content/shared/contextMenus/MenuItem.ts
rename to apps/content/src/shared/contextMenus/MenuItem.ts
diff --git a/src/content/shared/contextMenus/index.ts b/apps/content/src/shared/contextMenus/index.ts
similarity index 100%
rename from src/content/shared/contextMenus/index.ts
rename to apps/content/src/shared/contextMenus/index.ts
diff --git a/src/content/shared/contextMenus/menuItems.ts b/apps/content/src/shared/contextMenus/menuItems.ts
similarity index 100%
rename from src/content/shared/contextMenus/menuItems.ts
rename to apps/content/src/shared/contextMenus/menuItems.ts
diff --git a/src/content/shared/customizableUI/helpers.ts b/apps/content/src/shared/customizableUI/helpers.ts
similarity index 100%
rename from src/content/shared/customizableUI/helpers.ts
rename to apps/content/src/shared/customizableUI/helpers.ts
diff --git a/src/content/shared/customizableUI/index.ts b/apps/content/src/shared/customizableUI/index.ts
similarity index 100%
rename from src/content/shared/customizableUI/index.ts
rename to apps/content/src/shared/customizableUI/index.ts
diff --git a/src/content/shared/customizableUI/items.ts b/apps/content/src/shared/customizableUI/items.ts
similarity index 100%
rename from src/content/shared/customizableUI/items.ts
rename to apps/content/src/shared/customizableUI/items.ts
diff --git a/src/content/shared/customizableUI/style.ts b/apps/content/src/shared/customizableUI/style.ts
similarity index 100%
rename from src/content/shared/customizableUI/style.ts
rename to apps/content/src/shared/customizableUI/style.ts
diff --git a/src/content/shared/customizableUI/types.ts b/apps/content/src/shared/customizableUI/types.ts
similarity index 100%
rename from src/content/shared/customizableUI/types.ts
rename to apps/content/src/shared/customizableUI/types.ts
diff --git a/src/content/shared/domUtils.ts b/apps/content/src/shared/domUtils.ts
similarity index 100%
rename from src/content/shared/domUtils.ts
rename to apps/content/src/shared/domUtils.ts
diff --git a/src/content/shared/lazy.ts b/apps/content/src/shared/lazy.ts
similarity index 100%
rename from src/content/shared/lazy.ts
rename to apps/content/src/shared/lazy.ts
diff --git a/src/content/shared/mittUtils.ts b/apps/content/src/shared/mittUtils.ts
similarity index 100%
rename from src/content/shared/mittUtils.ts
rename to apps/content/src/shared/mittUtils.ts
diff --git a/src/content/shared/search/constants.ts b/apps/content/src/shared/search/constants.ts
similarity index 100%
rename from src/content/shared/search/constants.ts
rename to apps/content/src/shared/search/constants.ts
diff --git a/src/content/shared/search/engine.ts b/apps/content/src/shared/search/engine.ts
similarity index 100%
rename from src/content/shared/search/engine.ts
rename to apps/content/src/shared/search/engine.ts
diff --git a/src/content/shared/search/provider.ts b/apps/content/src/shared/search/provider.ts
similarity index 100%
rename from src/content/shared/search/provider.ts
rename to apps/content/src/shared/search/provider.ts
diff --git a/src/content/shared/search/providers/EngineProvider.ts b/apps/content/src/shared/search/providers/EngineProvider.ts
similarity index 100%
rename from src/content/shared/search/providers/EngineProvider.ts
rename to apps/content/src/shared/search/providers/EngineProvider.ts
diff --git a/src/content/shared/search/providers/URLProvider.ts b/apps/content/src/shared/search/providers/URLProvider.ts
similarity index 100%
rename from src/content/shared/search/providers/URLProvider.ts
rename to apps/content/src/shared/search/providers/URLProvider.ts
diff --git a/src/content/shared/search/providers/data/tld.txt b/apps/content/src/shared/search/providers/data/tld.txt
similarity index 100%
rename from src/content/shared/search/providers/data/tld.txt
rename to apps/content/src/shared/search/providers/data/tld.txt
diff --git a/src/content/shared/search/providers/index.ts b/apps/content/src/shared/search/providers/index.ts
similarity index 100%
rename from src/content/shared/search/providers/index.ts
rename to apps/content/src/shared/search/providers/index.ts
diff --git a/src/content/shared/search/resources.ts b/apps/content/src/shared/search/resources.ts
similarity index 100%
rename from src/content/shared/search/resources.ts
rename to apps/content/src/shared/search/resources.ts
diff --git a/src/content/shared/search/suggestions.ts b/apps/content/src/shared/search/suggestions.ts
similarity index 100%
rename from src/content/shared/search/suggestions.ts
rename to apps/content/src/shared/search/suggestions.ts
diff --git a/src/content/shared/styles/global.css b/apps/content/src/shared/styles/global.css
similarity index 100%
rename from src/content/shared/styles/global.css
rename to apps/content/src/shared/styles/global.css
diff --git a/src/content/shared/styles/window.css b/apps/content/src/shared/styles/window.css
similarity index 100%
rename from src/content/shared/styles/window.css
rename to apps/content/src/shared/styles/window.css
diff --git a/src/content/shared/svelteUtils.svelte.license.md b/apps/content/src/shared/svelteUtils.svelte.license.md
similarity index 100%
rename from src/content/shared/svelteUtils.svelte.license.md
rename to apps/content/src/shared/svelteUtils.svelte.license.md
diff --git a/src/content/shared/svelteUtils.ts b/apps/content/src/shared/svelteUtils.ts
similarity index 100%
rename from src/content/shared/svelteUtils.ts
rename to apps/content/src/shared/svelteUtils.ts
diff --git a/src/content/shared/xul/PlacesModel.ts b/apps/content/src/shared/xul/PlacesModel.ts
similarity index 100%
rename from src/content/shared/xul/PlacesModel.ts
rename to apps/content/src/shared/xul/PlacesModel.ts
diff --git a/src/content/shared/xul/messageReciver.ts b/apps/content/src/shared/xul/messageReciver.ts
similarity index 100%
rename from src/content/shared/xul/messageReciver.ts
rename to apps/content/src/shared/xul/messageReciver.ts
diff --git a/src/content/shared/xul/observable.ts b/apps/content/src/shared/xul/observable.ts
similarity index 100%
rename from src/content/shared/xul/observable.ts
rename to apps/content/src/shared/xul/observable.ts
diff --git a/src/content/tests/manager.ts b/apps/content/src/tests/manager.ts
similarity index 100%
rename from src/content/tests/manager.ts
rename to apps/content/src/tests/manager.ts
diff --git a/src/content/tests/shared/ExtHistoryAPI.ts b/apps/content/src/tests/shared/ExtHistoryAPI.ts
similarity index 100%
rename from src/content/tests/shared/ExtHistoryAPI.ts
rename to apps/content/src/tests/shared/ExtHistoryAPI.ts
diff --git a/src/content/tests/shared/contextMenus/MenuItem.ts b/apps/content/src/tests/shared/contextMenus/MenuItem.ts
similarity index 100%
rename from src/content/tests/shared/contextMenus/MenuItem.ts
rename to apps/content/src/tests/shared/contextMenus/MenuItem.ts
diff --git a/src/content/tests/shared/contextMenus/index.ts b/apps/content/src/tests/shared/contextMenus/index.ts
similarity index 100%
rename from src/content/tests/shared/contextMenus/index.ts
rename to apps/content/src/tests/shared/contextMenus/index.ts
diff --git a/src/content/tests/shared/index.ts b/apps/content/src/tests/shared/index.ts
similarity index 100%
rename from src/content/tests/shared/index.ts
rename to apps/content/src/tests/shared/index.ts
diff --git a/src/content/tests/shared/search/index.ts b/apps/content/src/tests/shared/search/index.ts
similarity index 100%
rename from src/content/tests/shared/search/index.ts
rename to apps/content/src/tests/shared/search/index.ts
diff --git a/src/content/tests/shared/search/providers/EngineProvider.ts b/apps/content/src/tests/shared/search/providers/EngineProvider.ts
similarity index 100%
rename from src/content/tests/shared/search/providers/EngineProvider.ts
rename to apps/content/src/tests/shared/search/providers/EngineProvider.ts
diff --git a/src/content/tests/shared/search/providers/URLProvider.ts b/apps/content/src/tests/shared/search/providers/URLProvider.ts
similarity index 100%
rename from src/content/tests/shared/search/providers/URLProvider.ts
rename to apps/content/src/tests/shared/search/providers/URLProvider.ts
diff --git a/src/content/tests/shared/search/providers/index.ts b/apps/content/src/tests/shared/search/providers/index.ts
similarity index 100%
rename from src/content/tests/shared/search/providers/index.ts
rename to apps/content/src/tests/shared/search/providers/index.ts
diff --git a/src/content/tests/shared/search/suggestions.ts b/apps/content/src/tests/shared/search/suggestions.ts
similarity index 100%
rename from src/content/tests/shared/search/suggestions.ts
rename to apps/content/src/tests/shared/search/suggestions.ts
diff --git a/src/content/tests/tests.ts b/apps/content/src/tests/tests.ts
similarity index 100%
rename from src/content/tests/tests.ts
rename to apps/content/src/tests/tests.ts
diff --git a/src/content/types.d.ts b/apps/content/src/types.d.ts
similarity index 100%
rename from src/content/types.d.ts
rename to apps/content/src/types.d.ts
diff --git a/static/search-extensions/README.md b/apps/content/static/search-extensions/README.md
similarity index 100%
rename from static/search-extensions/README.md
rename to apps/content/static/search-extensions/README.md
diff --git a/static/search-extensions/ddg/favicon.ico b/apps/content/static/search-extensions/ddg/favicon.ico
similarity index 100%
rename from static/search-extensions/ddg/favicon.ico
rename to apps/content/static/search-extensions/ddg/favicon.ico
diff --git a/static/search-extensions/ddg/manifest.json b/apps/content/static/search-extensions/ddg/manifest.json
similarity index 100%
rename from static/search-extensions/ddg/manifest.json
rename to apps/content/static/search-extensions/ddg/manifest.json
diff --git a/static/search-extensions/google/favicon.ico b/apps/content/static/search-extensions/google/favicon.ico
similarity index 100%
rename from static/search-extensions/google/favicon.ico
rename to apps/content/static/search-extensions/google/favicon.ico
diff --git a/static/search-extensions/google/manifest.json b/apps/content/static/search-extensions/google/manifest.json
similarity index 100%
rename from static/search-extensions/google/manifest.json
rename to apps/content/static/search-extensions/google/manifest.json
diff --git a/static/extensions/ext-browser.json b/apps/extensions/lib/ext-browser.json
similarity index 100%
rename from static/extensions/ext-browser.json
rename to apps/extensions/lib/ext-browser.json
diff --git a/static/extensions/parent/ext-browser.js b/apps/extensions/lib/parent/ext-browser.js
similarity index 98%
rename from static/extensions/parent/ext-browser.js
rename to apps/extensions/lib/parent/ext-browser.js
index 5c7b0b5..2fd48cc 100644
--- a/static/extensions/parent/ext-browser.js
+++ b/apps/extensions/lib/parent/ext-browser.js
@@ -3,7 +3,6 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// @ts-check
-/* eslint-disable no-undef */
///
/** @type {typeof import('resource://app/modules/TypedImportUtils.sys.mjs')} */
diff --git a/static/extensions/parent/ext-pageAction.js b/apps/extensions/lib/parent/ext-pageAction.js
similarity index 96%
rename from static/extensions/parent/ext-pageAction.js
rename to apps/extensions/lib/parent/ext-pageAction.js
index 2cf4cdb..c0ebab0 100644
--- a/static/extensions/parent/ext-pageAction.js
+++ b/apps/extensions/lib/parent/ext-pageAction.js
@@ -4,9 +4,7 @@
// @ts-check
///
-
-/* eslint-disable no-undef */
-// Imports are pulled from ext-browser
+///
this.pageAction = class extends ExtensionAPIPersistent {
/** @type {import('resource://app/modules/EPageActions.sys.mjs').PageAction | null} */
@@ -104,5 +102,3 @@ this.pageAction = class extends ExtensionAPIPersistent {
}
}
}
-
-// global.pageActionFor = this.pageAction.for
diff --git a/static/extensions/sharedTypes.d.ts b/apps/extensions/lib/sharedTypes.d.ts
similarity index 100%
rename from static/extensions/sharedTypes.d.ts
rename to apps/extensions/lib/sharedTypes.d.ts
diff --git a/static/extensions/types/ConduitChild.d.ts b/apps/extensions/lib/types/ConduitChild.d.ts
similarity index 100%
rename from static/extensions/types/ConduitChild.d.ts
rename to apps/extensions/lib/types/ConduitChild.d.ts
diff --git a/static/extensions/types/index.d.ts b/apps/extensions/lib/types/index.d.ts
similarity index 85%
rename from static/extensions/types/index.d.ts
rename to apps/extensions/lib/types/index.d.ts
index 42b3819..89b7fb8 100644
--- a/static/extensions/types/index.d.ts
+++ b/apps/extensions/lib/types/index.d.ts
@@ -2,7 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-///
+///
///
///
diff --git a/static/extensions/types/utils.d.ts b/apps/extensions/lib/types/utils.d.ts
similarity index 100%
rename from static/extensions/types/utils.d.ts
rename to apps/extensions/lib/types/utils.d.ts
diff --git a/apps/extensions/package.json b/apps/extensions/package.json
new file mode 100644
index 0000000..ef75707
--- /dev/null
+++ b/apps/extensions/package.json
@@ -0,0 +1,8 @@
+{
+ "name": "extensions",
+ "version": "1.0.0",
+ "dependencies": {
+ "@browser/link": "workspace:*"
+ },
+ "license": "ISC"
+}
diff --git a/apps/misc/package.json b/apps/misc/package.json
new file mode 100644
index 0000000..f56a18f
--- /dev/null
+++ b/apps/misc/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "misc",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC"
+}
diff --git a/src/prefs.js b/apps/misc/static/defaults/pref/prefs.js
similarity index 100%
rename from src/prefs.js
rename to apps/misc/static/defaults/pref/prefs.js
diff --git a/static/localization/en-US/branding/brand.ftl b/apps/misc/static/localization/en-US/branding/brand.ftl
similarity index 100%
rename from static/localization/en-US/branding/brand.ftl
rename to apps/misc/static/localization/en-US/branding/brand.ftl
diff --git a/static/localization/en-US/browser/appExtensionFields.ftl b/apps/misc/static/localization/en-US/browser/appExtensionFields.ftl
similarity index 100%
rename from static/localization/en-US/browser/appExtensionFields.ftl
rename to apps/misc/static/localization/en-US/browser/appExtensionFields.ftl
diff --git a/static/localization/en-US/browser/components/mozSupportLink.ftl b/apps/misc/static/localization/en-US/browser/components/mozSupportLink.ftl
similarity index 100%
rename from static/localization/en-US/browser/components/mozSupportLink.ftl
rename to apps/misc/static/localization/en-US/browser/components/mozSupportLink.ftl
diff --git a/static/localization/link.json b/apps/misc/static/localization/link.json
similarity index 100%
rename from static/localization/link.json
rename to apps/misc/static/localization/link.json
diff --git a/src/modules/BrowserGlue.ts b/apps/modules/lib/BrowserGlue.sys.mjs
similarity index 59%
rename from src/modules/BrowserGlue.ts
rename to apps/modules/lib/BrowserGlue.sys.mjs
index de848ac..70fad5d 100644
--- a/src/modules/BrowserGlue.ts
+++ b/apps/modules/lib/BrowserGlue.sys.mjs
@@ -1,7 +1,5 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-///
+/// @ts-check
+///
import { lazyESModuleGetters } from 'resource://app/modules/TypedImportUtils.sys.mjs'
const lazy = lazyESModuleGetters({
@@ -67,30 +65,8 @@ export class BrowserGlue {
}
// nsIObserver impl
- observe(aSubject: nsISupportsType, aTopic: string, aData: string): void {
+ observe(aSubject, aTopic, aData) {
// eslint-disable-next-line no-console
console.log({ aSubject, aTopic, aData })
}
-
- initializeDevtools() {
- const { loader, require, DevToolsLoader } =
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- (ChromeUtils as any).importESModule(
- 'resource://devtools/shared/loader/Loader.sys.mjs',
- )
-
- const { DevToolsServer } = require('devtools/server/devtools-server')
-
- // Make the loader visible to the debugger by default and for the already
- // loaded instance. Thunderbird now also provides the Browser Toolbox for
- // chrome debugging, which uses its own separate loader instance.
- DevToolsLoader.prototype.invisibleToDebugger = false
- loader.invisibleToDebugger = false
- DevToolsServer.allowChromeProcess = true
-
- // Initialize and load the toolkit/browser actors. This will also call above function to set the
- // Thunderbird root actor
- DevToolsServer.init()
- DevToolsServer.registerAllActors()
- }
}
diff --git a/apps/modules/lib/BrowserWindowTracker.sys.mjs b/apps/modules/lib/BrowserWindowTracker.sys.mjs
new file mode 100644
index 0000000..92013e3
--- /dev/null
+++ b/apps/modules/lib/BrowserWindowTracker.sys.mjs
@@ -0,0 +1,52 @@
+/// @ts-check
+///
+import mitt from 'resource://app/modules/mitt.sys.mjs'
+
+/** @type {import('resource://app/modules/BrowserWindowTracker.sys.mjs')['WindowTracker']} */
+export const WindowTracker = {
+ nextWindowId: 0,
+
+ events: mitt(),
+
+ activeWindow: null,
+ registeredWindows: new Map(),
+
+ /**
+ * Registers a new browser window to be tracked
+ *
+ * @param w The window to register
+ */
+ registerWindow(w) {
+ w.windowApi.id = this.nextWindowId++
+ this.registeredWindows.set(w.windowApi.id, w)
+ this.events.emit('windowCreated', w)
+ },
+
+ removeWindow(w) {
+ this.registeredWindows.delete(w.windowApi.id)
+ this.events.emit('windowDestroyed', w)
+ },
+
+ getWindowById(wid) {
+ return this.registeredWindows.get(wid)
+ },
+
+ getWindowWithBrowser(browser) {
+ for (const window of this.registeredWindows.values()) {
+ const tab = window.windowApi.tabs.tabs.find(
+ (t) => t.getTabId() === browser.browserId,
+ )
+ if (tab) return { window, tab }
+ }
+ return null
+ },
+
+ focusWindow(id) {
+ this.activeWindow = id
+ this.events.emit('focus', this.getActiveWindow())
+ },
+
+ getActiveWindow() {
+ return this.registeredWindows.get(this.activeWindow ?? -1)
+ },
+}
diff --git a/apps/modules/lib/EPageActions.sys.mjs b/apps/modules/lib/EPageActions.sys.mjs
new file mode 100644
index 0000000..f6431ad
--- /dev/null
+++ b/apps/modules/lib/EPageActions.sys.mjs
@@ -0,0 +1,108 @@
+/// @ts-check
+///
+import mitt from 'resource://app/modules/mitt.sys.mjs'
+
+/**
+ * @typedef {import('resource://app/modules/EPageActions.sys.mjs').PageActionImpl} PageActionImpl
+ */
+
+/** @implements {PageActionImpl} */
+export class PageAction {
+ /** @type {import('resource://app/modules/EPageActions.sys.mjs').PageActionImpl['events']} */
+ events = mitt()
+
+ tooltip
+ popupUrl
+ showMatches
+ hideMatches
+ /** @type {Record} */
+ icons
+
+ showTabIds = new Set()
+ hideTabIds = new Set()
+
+ /**
+ * @param {import('resource://app/modules/EPageActions.sys.mjs').PageActionOptions} data
+ */
+ constructor(data) {
+ this.tooltip = data.tooltip
+ this.popupUrl = data.popupUrl
+ this.showMatches = new MatchPatternSet(data.showMatches || [])
+ this.hideMatches = new MatchPatternSet(data.hideMatches || [])
+ }
+
+ /**
+ * @param {string} url
+ * @param {number} tabId
+ * @returns {boolean}
+ */
+ shouldShow(url, tabId) {
+ const urlMatch =
+ this.showMatches.matches(url) &&
+ !this.hideMatches.matches(url, true) &&
+ !this.hideTabIds.has(tabId)
+ const idMatch = this.showTabIds.has(tabId)
+
+ return urlMatch || idMatch
+ }
+
+ /**
+ * @param {Record} icons
+ */
+ setIcons(icons) {
+ this.icons = icons
+ this.events.emit('updateIcon', icons)
+ }
+
+ /**
+ * @param {number} id
+ */
+ addShow(id) {
+ this.showTabIds.add(id)
+ this.hideTabIds.delete(id)
+ }
+
+ /**
+ * @param {number} id
+ */
+ addHide(id) {
+ this.hideTabIds.add(id)
+ this.showTabIds.delete(id)
+ }
+}
+
+/** @type {import('resource://app/modules/EPageActions.sys.mjs')['EPageActions']} */
+export const EPageActions = {
+ /** @type {import('resource://app/modules/EPageActions.sys.mjs')['EPageActions']['events']} */
+ events: mitt(),
+
+ PageAction,
+ pageActions: new Map(),
+
+ /**
+ * @param {string} extensionId
+ * @param {PageAction} pageAction
+ */
+ registerPageAction(extensionId, pageAction) {
+ if (EPageActions.pageActions.has(extensionId)) {
+ EPageActions.removePageAction(extensionId)
+ }
+
+ EPageActions.pageActions.set(extensionId, pageAction)
+ EPageActions.events.emit('register', {
+ action: pageAction,
+ extension: extensionId,
+ })
+ },
+
+ /**
+ * @param {string} extensionId
+ */
+ removePageAction(extensionId) {
+ const action = EPageActions.pageActions.get(extensionId)
+ if (!action) return
+
+ EPageActions.pageActions.delete(extensionId)
+ EPageActions.events.emit('remove', { action, extension: extensionId })
+ },
+}
diff --git a/static/modules/FaviconLoader.sys.mjs b/apps/modules/lib/FaviconLoader.sys.mjs
similarity index 100%
rename from static/modules/FaviconLoader.sys.mjs
rename to apps/modules/lib/FaviconLoader.sys.mjs
diff --git a/apps/modules/lib/TypedImportUtils.sys.mjs b/apps/modules/lib/TypedImportUtils.sys.mjs
new file mode 100644
index 0000000..a0da69f
--- /dev/null
+++ b/apps/modules/lib/TypedImportUtils.sys.mjs
@@ -0,0 +1,10 @@
+/// @ts-check
+///
+
+/** @type {typeof import('resource://app/modules/TypedImportUtils.sys.mjs').lazyESModuleGetters} */
+export const lazyESModuleGetters = (modules) => {
+ /** @type {any} */
+ const lazy = {}
+ ChromeUtils.defineESModuleGetters(lazy, modules)
+ return lazy
+}
diff --git a/static/modules/mitt.sys.mjs b/apps/modules/lib/mitt.sys.mjs
similarity index 100%
rename from static/modules/mitt.sys.mjs
rename to apps/modules/lib/mitt.sys.mjs
diff --git a/static/modules/sessionstore/SessionStore.sys.mjs b/apps/modules/lib/sessionstore/SessionStore.sys.mjs
similarity index 100%
rename from static/modules/sessionstore/SessionStore.sys.mjs
rename to apps/modules/lib/sessionstore/SessionStore.sys.mjs
diff --git a/apps/modules/package.json b/apps/modules/package.json
new file mode 100644
index 0000000..0615d2c
--- /dev/null
+++ b/apps/modules/package.json
@@ -0,0 +1,8 @@
+{
+ "name": "@browser/modules",
+ "version": "1.0.0",
+ "dependencies": {
+ "@browser/link": "workspace:*"
+ },
+ "license": "ISC"
+}
diff --git a/lib/link/package.json b/lib/link/package.json
new file mode 100644
index 0000000..8cc389f
--- /dev/null
+++ b/lib/link/package.json
@@ -0,0 +1,13 @@
+{
+ "name": "@browser/link",
+ "version": "1.0.0",
+ "description": "",
+ "types": "./types/_link.d.ts",
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "gecko-types": "github:quark-platform/gecko-types",
+ "mitt": "^3.0.1"
+ }
+}
diff --git a/lib/link/types/_link.d.ts b/lib/link/types/_link.d.ts
new file mode 100644
index 0000000..0a92320
--- /dev/null
+++ b/lib/link/types/_link.d.ts
@@ -0,0 +1,20 @@
+// This is the root file that will be imported everywhere. Add your new files
+// here to have them show up globally
+
+///
+
+///
+///
+///
+///
+///
+
+///
+///
+
+///
+///
+///
+///
+///
+///
diff --git a/lib/link/types/globals/ChromeUtils.d.ts b/lib/link/types/globals/ChromeUtils.d.ts
new file mode 100644
index 0000000..c4d0d0f
--- /dev/null
+++ b/lib/link/types/globals/ChromeUtils.d.ts
@@ -0,0 +1,4 @@
+declare module ChromeUtils {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ export function importESModule(path: string): any
+}
diff --git a/lib/link/types/globals/Cr.d.ts b/lib/link/types/globals/Cr.d.ts
new file mode 100644
index 0000000..05206dc
--- /dev/null
+++ b/lib/link/types/globals/Cr.d.ts
@@ -0,0 +1 @@
+declare let Cr: Record
diff --git a/lib/link/types/globals/Elements.d.ts b/lib/link/types/globals/Elements.d.ts
new file mode 100644
index 0000000..7408c8a
--- /dev/null
+++ b/lib/link/types/globals/Elements.d.ts
@@ -0,0 +1,78 @@
+///
+
+declare interface Document {
+ documentURIObject: nsIURIType
+}
+
+declare interface Node {
+ nodePrincipal: nsIPrincipalType
+ ownerGlobal: Window
+ documentLoadGroup: nsIRequestType
+}
+
+declare type DOMLinkAddedEvent = Event & {
+ target: HTMLLinkElement
+ type: 'DOMLinkAdded'
+}
+declare type DOMHeadParsedEvent = Event & {
+ target: HTMLHeadElement
+ type: 'DOMHeadElementParsed'
+}
+declare type PageShowEvent = PageTransitionEvent & { type: 'pageshow' }
+declare type PageHideEvent = PageTransitionEvent & { type: 'pagehide' }
+
+declare interface LoadURIOptions {
+ triggeringPrincipal?: Principal
+ csp?: nsIContentSecurityPolicyType
+ loadFlags?: number
+ referrerInfo?: nsIReferrerInfoType
+ postData?: nsIInputStreamType
+ headers?: nsIInputStreamType
+ baseURI?: nsIURIType
+ hasValidUserGestureActivation?: boolean
+ triggeringSandboxFlags?: number
+ triggeringWindowId?: number
+ triggeringStorageAccess?: boolean
+ triggeringRemoteType?: string
+ cancelContentJSEpoch?: number
+ remoteTypeOverride?: string
+ wasSchemelessInput?: string
+}
+
+declare interface XULBrowserElement extends HTMLElement {
+ contentTitle: string
+ source: string
+ canGoBack: boolean
+ goBack()
+ canGoForward: boolean
+ goForward()
+ reload()
+ loadURI(uri: nsIURIType, params?: LoadURIOptions)
+ browserId: number
+ mInitialized: boolean
+ webProgress: nsIWebProgressType
+
+ docShell: unknown
+ swapDocShells(aOtherBrowser: XULBrowserElement)
+
+ messageManager: ChromeMessageSender
+}
+
+declare interface XULFindBarElement extends HTMLElement {
+ browser: XULBrowserElement
+ open()
+ close()
+}
+
+declare interface XULPanel extends HTMLElement {
+ openPopup(target: HTMLElement, anchor: string)
+}
+
+declare interface XULMenuPopup extends HTMLElement {
+ openPopupAtScreen(
+ x?: number,
+ y?: number,
+ isContextMenu?: boolean,
+ trigger?: Event,
+ )
+}
diff --git a/src/types/MatchPattern.d.ts b/lib/link/types/globals/MatchPattern.d.ts
similarity index 100%
rename from src/types/MatchPattern.d.ts
rename to lib/link/types/globals/MatchPattern.d.ts
diff --git a/src/types/MessageManager.d.ts b/lib/link/types/globals/MessageManager.d.ts
similarity index 100%
rename from src/types/MessageManager.d.ts
rename to lib/link/types/globals/MessageManager.d.ts
diff --git a/lib/link/types/interfaces/ClickHandler.d.ts b/lib/link/types/interfaces/ClickHandler.d.ts
new file mode 100644
index 0000000..d6d6816
--- /dev/null
+++ b/lib/link/types/interfaces/ClickHandler.d.ts
@@ -0,0 +1,4 @@
+declare type ClickHandlerMessage = {
+ name: 'openlink'
+ data: { href: string }
+} & { target: JSWindowActorParent }
diff --git a/lib/link/types/interfaces/ContextMenu.d.ts b/lib/link/types/interfaces/ContextMenu.d.ts
new file mode 100644
index 0000000..705a6f3
--- /dev/null
+++ b/lib/link/types/interfaces/ContextMenu.d.ts
@@ -0,0 +1,29 @@
+declare interface ContextMenuMediaInfo {
+ contentType?: string
+ contentDisposition?: string
+}
+
+declare interface ContextMenuInfo {
+ position: {
+ screenX: number
+ screenY: number
+ inputSource: number
+ }
+
+ context: {
+ principal?: nsIPrincipalType
+ referrerInfo?: string
+ }
+
+ mediaInfo?: ContextMenuMediaInfo
+
+ textSelection?: string
+ href?: string
+ imageSrc?: string
+}
+
+declare type ContextMenuEvent = {
+ name: 'contextmenu'
+ data: ContextMenuInfo
+ target: JSWindowActorParent
+}
diff --git a/lib/link/types/interfaces/GenericDeferred.d.ts b/lib/link/types/interfaces/GenericDeferred.d.ts
new file mode 100644
index 0000000..3aa47d7
--- /dev/null
+++ b/lib/link/types/interfaces/GenericDeferred.d.ts
@@ -0,0 +1,28 @@
+/**
+ * The definition of Deferred object which is returned by PromiseUtils.defer(),
+ * It contains a Promise and methods to resolve/reject it.
+ */
+declare interface GenericDeferred {
+ /* A method to resolve the associated Promise with the value passed.
+ * If the promise is already settled it does nothing.
+ *
+ * @param value This value is used to resolve the promise
+ * If the value is a Promise then the associated promise assumes the state
+ * of Promise passed as value.
+ */
+ resolve: (val: T) => void
+
+ /* A method to reject the assocaited Promise with the value passed.
+ * If the promise is already settled it does nothing.
+ *
+ * @param reason The reason for the rejection of the Promise.
+ * Generally its an Error object. If however a Promise is passed, then the Promise
+ * itself will be the reason for rejection no matter the state of the Promise.
+ */
+ reject: (err: E) => void
+
+ /* A newly created Pomise object.
+ * Initially in pending state.
+ */
+ promise: Promise
+}
diff --git a/src/types/AppConstants.d.ts b/lib/link/types/modules/AppConstants.d.ts
similarity index 93%
rename from src/types/AppConstants.d.ts
rename to lib/link/types/modules/AppConstants.d.ts
index 4f65153..b7e4724 100644
--- a/src/types/AppConstants.d.ts
+++ b/lib/link/types/modules/AppConstants.d.ts
@@ -96,3 +96,11 @@ type AppConstantsContents = {
declare module 'resource://gre/modules/AppConstants.sys.mjs' {
export const AppConstants: AppConstantsContents
}
+
+declare interface MozESMExportFile {
+ AppConstants: 'resource://gre/modules/AppConstants.sys.mjs'
+}
+
+declare interface MozESMExportType {
+ AppConstants: typeof import('resource://gre/modules/AppConstants.sys.mjs').AppConstants
+}
diff --git a/lib/link/types/modules/BrowserWindowTracker.d.ts b/lib/link/types/modules/BrowserWindowTracker.d.ts
new file mode 100644
index 0000000..5e6989c
--- /dev/null
+++ b/lib/link/types/modules/BrowserWindowTracker.d.ts
@@ -0,0 +1,50 @@
+declare module 'resource://app/modules/BrowserWindowTracker.sys.mjs' {
+ import type { Emitter } from 'resource://app/modules/mitt.sys.mjs'
+
+ // TODO: Replace this with the correct tab type
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ type Tab = any
+
+ export type WindowTrackerEvents = {
+ windowCreated: Window & typeof globalThis
+ windowDestroyed: Window & typeof globalThis
+
+ focus: Window & typeof globalThis
+ }
+
+ export const WindowTracker: {
+ nextWindowId: number
+
+ events: Emitter
+
+ activeWindow: number | null
+ registeredWindows: Map
+
+ /**
+ * Registers a new browser window to be tracked
+ *
+ * @param w The window to register
+ */
+ registerWindow(w: typeof window): void
+
+ removeWindow(w: typeof window): void
+
+ getWindowById(wid: number): typeof window | undefined
+
+ getWindowWithBrowser(
+ browser: XULBrowserElement,
+ ): { window: Window & typeof globalThis; tab: Tab } | null
+
+ focusWindow(id: number): void
+
+ getActiveWindow(): (typeof window & typeof globalThis) | undefined
+ }
+}
+
+declare interface MozESMExportFile {
+ WindowTracker: 'resource://app/modules/BrowserWindowTracker.sys.mjs'
+}
+
+declare interface MozESMExportType {
+ WindowTracker: typeof import('resource://app/modules/BrowserWindowTracker.sys.mjs').WindowTracker
+}
diff --git a/lib/link/types/modules/EPageActions.d.ts b/lib/link/types/modules/EPageActions.d.ts
new file mode 100644
index 0000000..485adff
--- /dev/null
+++ b/lib/link/types/modules/EPageActions.d.ts
@@ -0,0 +1,96 @@
+declare module 'resource://app/modules/EPageActions.sys.mjs' {
+ import type { Emitter } from 'mitt'
+
+ export type PageActionsEvents = {
+ register: {
+ extension: string
+ action: PageActionImpl
+ }
+
+ remove: {
+ extension: string
+ action: PageActionImpl
+ }
+ }
+
+ /**
+ * The following features are not going to be supported, primarily because I see
+ * no good reason for including support
+ * - `browser_style`: There is no documentation for this, provide a browser
+ * style component library instead
+ * - `pinned`: For the moment, I don't feel like pinning page actions
+ *
+ * @todo analytics to see how many page actions people have. If there are a few
+ * power users, we might want to implement `pinned`
+ */
+ export interface PageActionOptions {
+ /**
+ * The tooltip displayed when the user hovers over the action button.
+ *
+ * @key `default_title`
+ */
+ tooltip?: string
+
+ /**
+ * The url of the popup to show when the icon is clicked. If this url does not
+ * exist, clicking the icon will send an event back to the extension.
+ *
+ * @key `default_popup`
+ */
+ popupUrl?: string
+
+ /**
+ * @key `show_matches`
+ */
+ showMatches?: PS
+
+ /**
+ * @key `hide_matches`
+ */
+ hideMatches?: PS
+
+ icons?: Record
+ }
+
+ export type PageActionEvents = {
+ updateIcon: Record | undefined
+ click: { clickData: { modifiers: string[]; button: number } }
+ }
+
+ export class PageActionImpl implements PageActionOptions {
+ events: Emitter
+
+ tooltip?: string
+ popupUrl?: string
+ showMatches?: MatchPatternSet
+ hideMatches?: MatchPatternSet
+ showTabIds: Set
+ hideTabIds: Set
+
+ constructor(data: PageActionOptions)
+
+ shouldShow(url: string, tabId: number): boolean
+ setIcons(icon: Record): void
+ addShow(id: number): void
+ addHide(id: number): void
+ }
+
+ export const PageAction: typeof PageActionImpl
+
+ export const EPageActions: {
+ events: Emitter
+ PageAction: typeof PageActionImpl
+ pageActions: Map
+
+ registerPageAction(extension: string, action: PageActionImpl): void
+ removePageAction(extension: string): void
+ }
+}
+
+declare interface MozESMExportFile {
+ EPageActions: 'resource://app/modules/EPageActions.sys.mjs'
+}
+
+declare interface MozESMExportType {
+ EPageActions: typeof import('resource://app/modules/EPageActions.sys.mjs').EPageActions
+}
diff --git a/src/link.d.ts b/lib/link/types/modules/PlacesUtils.d.ts
similarity index 79%
rename from src/link.d.ts
rename to lib/link/types/modules/PlacesUtils.d.ts
index ca0925d..fe23f9c 100644
--- a/src/link.d.ts
+++ b/lib/link/types/modules/PlacesUtils.d.ts
@@ -1,115 +1,5 @@
-/* eslint-disable @typescript-eslint/ban-types */
/* eslint-disable @typescript-eslint/no-explicit-any */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-///
-
-///
-///
-///
-
-declare type LazyImportType> =
- | { [Key in keyof Modules]: MozESMExportType[Key] }
- | {}
-
-declare module 'resource://app/modules/TypedImportUtils.sys.mjs' {
- export const lazyESModuleGetters: typeof import('./modules/TypedImportUtils').lazyESModuleGetters
-}
-
-declare module 'resource://app/modules/mitt.sys.mjs' {
- export type * from 'mitt'
-
- declare const mitt: typeof import('mitt').default
- export default mitt
-}
-
-declare module 'resource://app/modules/EPageActions.sys.mjs' {
- export * from './modules/EPageActions'
-}
-
-declare interface MozESMExportFile {
- AppConstants: 'resource://gre/modules/AppConstants.sys.mjs'
- TypedImportUtils: 'resource://app/modules/TypedImportUtils.sys.mjs'
- WindowTracker: 'resource://app/modules/BrowserWindowTracker.sys.mjs'
- EPageActions: 'resource://app/modules/EPageActions.sys.mjs'
-}
-
-declare interface MozESMExportType {
- AppConstants: typeof import('resource://gre/modules/AppConstants.sys.mjs').AppConstants
- TypedImportUtils: typeof import('./modules/TypedImportUtils')
- WindowTracker: typeof import('./modules/BrowserWindowTracker').WindowTracker
- EPageActions: typeof import('./modules/EPageActions').EPageActions
-}
-
-declare let Cr: Record
-
-declare interface Document {
- documentURIObject: nsIURIType
-}
-
-declare interface Node {
- nodePrincipal: nsIPrincipalType
- ownerGlobal: Window
- documentLoadGroup: nsIRequestType
-}
-
-declare interface LoadURIOptions {
- triggeringPrincipal?: Principal
- csp?: ContentSecurityPolicy
- loadFlags?: number
- referrerInfo?: ReferrerInfo
- postData?: nsIInputStreamType
- headers?: nsIInputStreamType
- baseURI?: nsIURIType
- hasValidUserGestureActivation?: boolean
- triggeringSandboxFlags?: number
- triggeringWindowId?: number
- triggeringStorageAccess?: boolean
- triggeringRemoteType?: string
- cancelContentJSEpoch?: number
- remoteTypeOverride?: string
- wasSchemelessInput?: string
-}
-
-declare interface XULBrowserElement extends HTMLElement {
- contentTitle: string
- source: string
- canGoBack: boolean
- goBack()
- canGoForward: boolean
- goForward()
- reload()
- loadURI(uri: nsIURIType, params?: LoadURIOptions)
- browserId: number
- mInitialized: boolean
- webProgress: nsIWebProgressType
-
- docShell: unknown
- swapDocShells(aOtherBrowser: XULBrowserElement)
-
- messageManager: ChromeMessageSender
-}
-
-declare interface XULFindBarElement extends HTMLElement {
- browser: XULBrowserElement
- open()
- close()
-}
-
-declare interface XULPanel extends HTMLElement {
- openPopup(target: HTMLElement, anchor: string)
-}
-
-declare interface XULMenuPopup extends HTMLElement {
- openPopupAtScreen(
- x?: number,
- y?: number,
- isContextMenu?: boolean,
- trigger?: Event,
- )
-}
+/* eslint-disable @typescript-eslint/ban-types */
declare interface PlacesBookmarkTreeNode {
guid: string
@@ -133,36 +23,7 @@ declare interface PlacesBookmarkTreeNode {
postData?: string
iconUri?: string
- children?: BookmarkTreeNode[]
-}
-
-/**
- * The definition of Deferred object which is returned by PromiseUtils.defer(),
- * It contains a Promise and methods to resolve/reject it.
- */
-declare interface GenericDeferred {
- /* A method to resolve the associated Promise with the value passed.
- * If the promise is already settled it does nothing.
- *
- * @param value This value is used to resolve the promise
- * If the value is a Promise then the associated promise assumes the state
- * of Promise passed as value.
- */
- resolve: (val: T) => void
-
- /* A method to reject the assocaited Promise with the value passed.
- * If the promise is already settled it does nothing.
- *
- * @param reason The reason for the rejection of the Promise.
- * Generally its an Error object. If however a Promise is passed, then the Promise
- * itself will be the reason for rejection no matter the state of the Promise.
- */
- reject: (err: E) => void
-
- /* A newly created Pomise object.
- * Initially in pending state.
- */
- promise: Promise
+ children?: PlacesBookmarkTreeNode[]
}
// Typescript generates really broken types for this module by default
@@ -581,7 +442,7 @@ declare module 'resource://gre/modules/PlacesUtils.sys.mjs' {
* - "hex" for hex format.
* @returns {string} md5 hash of the input string in the required format.
*/
- function md5(data: string, { format }?: string): string
+ function md5(data: string, { format }?): string
/**
* Inserts a new place if one doesn't currently exist.
*
@@ -619,23 +480,6 @@ declare module 'resource://gre/modules/PlacesUtils.sys.mjs' {
* be appended automatically to the prefix.
* @returns {object} The logger.
*/
- function getLogger({ prefix }?: string): object
+ function getLogger({ prefix }?): object
}
}
-
-declare module ChromeUtils {
- /**
- * Synchronously loads and evaluates the JS module source located at
- * 'aResourceURI'.
- *
- * @param aResourceURI A resource:// URI string to load the module from.
- * @returns the module's namespace object.
- *
- * The implementation maintains a hash of aResourceURI->global obj.
- * Subsequent invocations of import with 'aResourceURI' pointing to
- * the same file will not cause the module to be re-evaluated.
- */
- function importESModule(
- path: Path,
- ): T
-}
diff --git a/lib/link/types/modules/mitt.d.ts b/lib/link/types/modules/mitt.d.ts
new file mode 100644
index 0000000..da42881
--- /dev/null
+++ b/lib/link/types/modules/mitt.d.ts
@@ -0,0 +1,6 @@
+declare module 'resource://app/modules/mitt.sys.mjs' {
+ export type * from 'mitt'
+
+ const mitt: typeof import('mitt').default
+ export default mitt
+}
diff --git a/lib/link/types/modules/typedImport.d.ts b/lib/link/types/modules/typedImport.d.ts
new file mode 100644
index 0000000..dc045fb
--- /dev/null
+++ b/lib/link/types/modules/typedImport.d.ts
@@ -0,0 +1,16 @@
+declare module 'resource://app/modules/TypedImportUtils.sys.mjs' {
+ export function lazyESModuleGetters<
+ Modules extends Partial,
+ >(
+ modules: Modules,
+ // @ts-expect-error - Cannot guarantee overlapping key type
+ ): { [Key in keyof Modules]: MozESMExportType[Key] }
+}
+
+declare interface MozESMExportFile {
+ lazyESModuleGetters: 'resource://app/modules/TypedImportUtils.sys.mjs'
+}
+
+declare interface MozESMExportType {
+ lazyESModuleGetters: typeof import('resource://app/modules/TypedImportUtils.sys.mjs').lazyESModuleGetters
+}
diff --git a/lib/shared/package.json b/lib/shared/package.json
new file mode 100644
index 0000000..2d047be
--- /dev/null
+++ b/lib/shared/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "@browser/shared",
+ "version": "1.0.0",
+ "description": "",
+ "type": "module",
+ "source": "src/index.ts",
+ "types": "./dist/index.d.ts",
+ "scripts": {
+ "build": "microbundle --external=none --format=modern",
+ "dev": "microbundle watch --external=none --format=modern"
+ },
+ "devDependencies": {
+ "@browser/link": "workspace:*",
+ "microbundle": "^0.15.1"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "svelte": "^4.2.8"
+ }
+}
diff --git a/lib/shared/src/index.ts b/lib/shared/src/index.ts
new file mode 100644
index 0000000..2a3d9fa
--- /dev/null
+++ b/lib/shared/src/index.ts
@@ -0,0 +1,6 @@
+///
+
+export * from './utilities/index.js'
+export * from './xul/index.js'
+
+export * from './lazy.js'
diff --git a/src/modules/TypedImportUtils.ts b/lib/shared/src/lazy.ts
similarity index 60%
rename from src/modules/TypedImportUtils.ts
rename to lib/shared/src/lazy.ts
index 51d6533..abc3513 100644
--- a/src/modules/TypedImportUtils.ts
+++ b/lib/shared/src/lazy.ts
@@ -1,7 +1,3 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
export function lazyESModuleGetters>(
modules: Modules,
// @ts-expect-error - Cannot guarantee overlapping key type
@@ -13,3 +9,10 @@ export function lazyESModuleGetters>(
return lazy
}
+
+export const lazy = lazyESModuleGetters({
+ AppConstants: 'resource://gre/modules/AppConstants.sys.mjs',
+ PlacesUtils: 'resource://gre/modules/PlacesUtils.sys.mjs',
+ Bookmarks: 'resource://gre/modules/Bookmarks.sys.mjs',
+ History: 'resource://gre/modules/History.sys.mjs',
+})
diff --git a/lib/shared/src/utilities/deferred.ts b/lib/shared/src/utilities/deferred.ts
new file mode 100644
index 0000000..5896ac6
--- /dev/null
+++ b/lib/shared/src/utilities/deferred.ts
@@ -0,0 +1,33 @@
+///
+
+/**
+ * The definition of Deferred object which is returned by PromiseUtils.defer(),
+ * It contains a Promise and methods to resolve/reject it.
+ */
+export class Deferred implements GenericDeferred {
+ /* A method to resolve the associated Promise with the value passed.
+ * If the promise is already settled it does nothing.
+ *
+ * @param value This value is used to resolve the promise
+ * If the value is a Promise then the associated promise assumes the state
+ * of Promise passed as value.
+ */
+ resolve!: (val: T) => void
+
+ /* A method to reject the assocaited Promise with the value passed.
+ * If the promise is already settled it does nothing.
+ *
+ * @param reason The reason for the rejection of the Promise.
+ * Generally its an Error object. If however a Promise is passed, then the Promise
+ * itself will be the reason for rejection no matter the state of the Promise.
+ */
+ reject!: (err: E) => void
+
+ /* A newly created Pomise object.
+ * Initially in pending state.
+ */
+ promise: Promise = new Promise((resolve, reject) => {
+ this.resolve = resolve
+ this.reject = reject
+ })
+}
diff --git a/lib/shared/src/utilities/index.ts b/lib/shared/src/utilities/index.ts
new file mode 100644
index 0000000..12a80b2
--- /dev/null
+++ b/lib/shared/src/utilities/index.ts
@@ -0,0 +1,2 @@
+export * from './deferred.js'
+export * from './mitt.js'
diff --git a/lib/shared/src/utilities/mitt.ts b/lib/shared/src/utilities/mitt.ts
new file mode 100644
index 0000000..a667dea
--- /dev/null
+++ b/lib/shared/src/utilities/mitt.ts
@@ -0,0 +1,17 @@
+import type { Emitter, EventType } from 'mitt'
+
+export const waitForEvent = <
+ Events extends Record,
+ Key extends keyof Events,
+>(
+ emitter: Emitter,
+ event: Key,
+) =>
+ new Promise((resolve) => {
+ const handler = (value: Events[Key]) => {
+ emitter.off(event, handler)
+ resolve(value)
+ }
+
+ emitter.on(event, handler)
+ })
diff --git a/lib/shared/src/utilities/svelte.license.md b/lib/shared/src/utilities/svelte.license.md
new file mode 100644
index 0000000..872373a
--- /dev/null
+++ b/lib/shared/src/utilities/svelte.license.md
@@ -0,0 +1,9 @@
+This license is for the `viewableWritable` function:
+
+Copyright (c) 2016-23 [these people](https://github.com/sveltejs/svelte/graphs/contributors)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/lib/shared/src/utilities/svelte.ts b/lib/shared/src/utilities/svelte.ts
new file mode 100644
index 0000000..e8e6185
--- /dev/null
+++ b/lib/shared/src/utilities/svelte.ts
@@ -0,0 +1,119 @@
+import {
+ type Invalidator,
+ type Readable,
+ type StartStopNotifier,
+ type Subscriber,
+ type Unsubscriber,
+ type Updater,
+ type Writable,
+ get,
+ readable,
+} from 'svelte/store'
+
+import { observable } from '../xul/index.js'
+
+type SubInvTuple = [Subscriber, Invalidator]
+
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+const subscriber_queue: (SubInvTuple | any)[] = []
+const noop = () => {}
+
+export function safe_not_equal(a: T, b: T): boolean {
+ return a != a
+ ? b == b
+ : a !== b || (a && typeof a === 'object') || typeof a === 'function'
+}
+
+export interface ViewableWritable extends Writable {
+ readOnce(): T
+}
+
+/**
+ * Create a `Writable` store that allows both updating and reading by subscription.
+ * This variant allows for reading outside of a subscription
+ *
+ * https://svelte.dev/docs/svelte-store#writable
+ *
+ * @license MIT The following code was taken directly from svelte. For the license
+ * see svelteUtils.svelte.license.md
+ */
+export function viewableWritable(
+ value: T,
+ start: StartStopNotifier = noop,
+): ViewableWritable {
+ let stop: Unsubscriber | null = null
+ const subscribers: Set<[Subscriber, Invalidator]> = new Set()
+
+ function set(new_value: T): void {
+ if (safe_not_equal(value, new_value)) {
+ value = new_value
+ if (stop) {
+ // store is ready
+ const run_queue = !subscriber_queue.length
+ for (const subscriber of subscribers) {
+ subscriber[1]()
+ subscriber_queue.push(subscriber, value)
+ }
+ if (run_queue) {
+ for (let i = 0; i < subscriber_queue.length; i += 2) {
+ subscriber_queue[i][0](subscriber_queue[i + 1])
+ }
+ subscriber_queue.length = 0
+ }
+ }
+ }
+ }
+
+ function update(fn: Updater): void {
+ set(fn(value))
+ }
+
+ function subscribe(
+ run: Subscriber,
+ invalidate: Invalidator = noop,
+ ): Unsubscriber {
+ const subscriber: SubInvTuple = [run, invalidate]
+ subscribers.add(subscriber)
+ if (subscribers.size === 1) {
+ stop = start(set, update) || noop
+ }
+ run(value)
+ return () => {
+ subscribers.delete(subscriber)
+ if (subscribers.size === 0 && stop) {
+ stop()
+ stop = null
+ }
+ }
+ }
+
+ function readOnce(): T {
+ return value
+ }
+
+ return { set, update, subscribe, readOnce }
+}
+
+export function resolverStore(
+ intermediate: T,
+ toResolve: Promise>,
+): Readable {
+ return readable(intermediate, (set) => {
+ toResolve.then((resolved) => {
+ set(get(resolved))
+ resolved.subscribe(set)
+ })
+ })
+}
+
+// NOTE: Autocurrying doesn't infer T correctly
+export const dynamicStringPref =
+ (processor: (value: string) => T) =>
+ (pref: string): Readable =>
+ readable(processor(Services.prefs.getStringPref(pref, '')), (set) => {
+ const observer = observable(() =>
+ set(processor(Services.prefs.getStringPref(pref, ''))),
+ )
+ Services.prefs.addObserver(pref, observer)
+ return () => Services.prefs.removeObserver(pref, observer)
+ })
diff --git a/lib/shared/src/xul/PlacesModel.ts b/lib/shared/src/xul/PlacesModel.ts
new file mode 100644
index 0000000..f63a0ef
--- /dev/null
+++ b/lib/shared/src/xul/PlacesModel.ts
@@ -0,0 +1,199 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+import mitt from 'mitt'
+import { type Readable, get, readable } from 'svelte/store'
+
+import { lazy } from '../lazy'
+
+/**
+ * Based on the values defined inside of `historySidebar.js` inside of Firefox
+ * @see {@link https://searchfox.org/mozilla-central/source/browser/components/places/content/historySidebar.js#104}
+ */
+export enum HistoryGroupType {
+ /**
+ * An item list with the most visited items up the top. There are no folders.
+ */
+ MostVisited = 'mostVisited',
+ /** An item list with no folders & the last visited item first */
+ LastVisited = 'lastVisited',
+ /**
+ * Similar to {@link HistoryGroupType.LastVisited}, except everything is
+ * grouped into date subfolders
+ */
+ GroupByDate = 'groupByDate',
+ /**
+ * Similar to {@link HistoryGroupType.LastVisited}, except everything is
+ * grouped into site subfolders
+ */
+ GroupBySite = 'groupBySite',
+ /**
+ * Similar to {@link HistoryGroupType.LastVisited}, except everything is
+ * grouped into date subfolders at the top level, then site subfolders under
+ * that
+ */
+ GroupBySiteAndDate = 'groupBySiteAndDate',
+}
+
+function getQuerySortingOptions(groupType: HistoryGroupType): {
+ sortingMode: number | null
+ resultType: number | null
+} {
+ const NHQO = Ci.nsINavHistoryQueryOptions
+
+ let sortingMode: number | null = null
+ let resultType: number | null = null
+
+ switch (groupType) {
+ case HistoryGroupType.MostVisited:
+ resultType = NHQO.RESULTS_AS_URI
+ sortingMode = NHQO.SORT_BY_VISITCOUNT_DESCENDING
+ break
+ case HistoryGroupType.LastVisited:
+ resultType = NHQO.RESULTS_AS_URI
+ sortingMode = NHQO.SORT_BY_DATE_DESCENDING
+ break
+ case HistoryGroupType.GroupByDate:
+ resultType = NHQO.RESULTS_AS_DATE_QUERY
+ sortingMode = NHQO.SORT_BY_DATE_DESCENDING
+ break
+ case HistoryGroupType.GroupBySite:
+ resultType = NHQO.RESULTS_AS_SITE_QUERY
+ sortingMode = NHQO.SORT_BY_DATE_DESCENDING
+ break
+ case HistoryGroupType.GroupBySiteAndDate:
+ resultType = NHQO.RESULTS_AS_DATE_SITE_QUERY
+ sortingMode = NHQO.SORT_BY_DATE_DESCENDING
+ break
+ }
+
+ return { sortingMode, resultType }
+}
+
+export function setNodeOpened(
+ node: nsINavHistoryContainerResultNodeType,
+ opened = true,
+) {
+ node.containerOpen = opened
+}
+
+export function openAll(node: nsINavHistoryResultNodeType) {
+ // @ts-expect-error Ci is not correctly typed
+ if (node instanceof Ci.nsINavHistoryContainerResultNode) {
+ const containerNode = node as nsINavHistoryContainerResultNodeType
+ containerNode.containerOpen = true
+
+ const nodes = containerNode.childCount
+ for (let i = 0; i < nodes; i++) {
+ openAll(containerNode.getChild(i))
+ }
+ }
+}
+
+export const searchableHistoryModel = (
+ searchTerms: Readable,
+ groupType: Readable,
+) => {
+ const controller = new PlacesController()
+
+ const callLoad = (searchTerms: string, groupType: HistoryGroupType) => {
+ const hasSearchTerm = searchTerms != ''
+
+ const query = lazy.PlacesUtils.history.getNewQuery()
+ if (hasSearchTerm) query.searchTerms = searchTerms
+
+ const options = lazy.PlacesUtils.history.getNewQueryOptions()
+
+ const { sortingMode, resultType } = getQuerySortingOptions(groupType)
+ if (sortingMode) options.sortingMode = sortingMode
+ if (resultType) options.resultType = resultType
+ options.includeHidden = hasSearchTerm
+
+ controller.load(query, options)
+ }
+
+ return readable<{ root: nsINavHistoryContainerResultNodeType | null }>(
+ { root: null },
+ (set) => {
+ controller.events.on('newResult', (result) => set({ root: result.root }))
+ searchTerms.subscribe((searchTerms) =>
+ callLoad(searchTerms, get(groupType)),
+ )
+ groupType.subscribe((groupType) => callLoad(get(searchTerms), groupType))
+
+ callLoad(get(searchTerms), get(groupType))
+ },
+ )
+}
+
+export type PlacesSharedEvents = {
+ newResult: nsINavHistoryResultType
+}
+
+/**
+ * Similar in concept to Firefox's places tree view
+ * @see {@link https://searchfox.org/mozilla-central/source/browser/components/places/content/treeView.js}
+ */
+class PlacesController {
+ events = mitt()
+ observer?: PlacesObserver
+
+ load(query: nsINavHistoryQueryType, options: nsINavHistoryQueryOptionsType) {
+ const observer = new PlacesObserver()
+ observer.events.on('*', (event, ...args) =>
+ this.events.emit(event, ...args),
+ )
+
+ const result = lazy.PlacesUtils.history.executeQuery(query, options)
+ result.addObserver(observer)
+
+ if (this.observer) this.observer.uninit()
+ this.observer = observer
+ }
+}
+
+class PlacesObserver implements nsINavHistoryResultObserverType {
+ QueryInterface = ChromeUtils.generateQI([
+ 'nsINavHistoryResultObserver',
+ 'nsISupportsWeakReference',
+ ])
+
+ private _result: nsINavHistoryResultType | null = null
+ events = mitt()
+ skipHistoryDetailsNotifications = false
+
+ get result(): nsINavHistoryResultType {
+ return this._result!
+ }
+
+ set result(result: nsINavHistoryResultType) {
+ if (this._result) {
+ this._result.removeObserver(this)
+ }
+
+ this._result = result
+ this.events.emit('newResult', result)
+ }
+
+ uninit() {
+ if (this._result) this._result.removeObserver(this)
+ }
+
+ // Generated interface garbage
+
+ nodeInserted(): void {}
+ nodeRemoved(): void {}
+ nodeMoved(): void {}
+ nodeTitleChanged(): void {}
+ nodeURIChanged(): void {}
+ nodeIconChanged(): void {}
+ nodeHistoryDetailsChanged(): void {}
+ nodeTagsChanged(): void {}
+ nodeKeywordChanged(): void {}
+ nodeDateAddedChanged(): void {}
+ nodeLastModifiedChanged(): void {}
+ containerStateChanged(): void {}
+ invalidateContainer(): void {}
+ sortingChanged(): void {}
+ batching(): void {}
+}
diff --git a/lib/shared/src/xul/index.ts b/lib/shared/src/xul/index.ts
new file mode 100644
index 0000000..7f5cf84
--- /dev/null
+++ b/lib/shared/src/xul/index.ts
@@ -0,0 +1,3 @@
+export * from './messageReceiver.js'
+export * from './observable.js'
+export * from './PlacesModel.js'
diff --git a/lib/shared/src/xul/messageReceiver.ts b/lib/shared/src/xul/messageReceiver.ts
new file mode 100644
index 0000000..d1a3ec8
--- /dev/null
+++ b/lib/shared/src/xul/messageReceiver.ts
@@ -0,0 +1,14 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+export class MessageReviver<
+ Cb extends (argument: ReceiveMessageArgument) => unknown,
+> implements MessageListener
+{
+ receiveMessage: Cb
+
+ constructor(callback: Cb) {
+ this.receiveMessage = callback
+ }
+}
diff --git a/lib/shared/src/xul/observable.ts b/lib/shared/src/xul/observable.ts
new file mode 100644
index 0000000..825c142
--- /dev/null
+++ b/lib/shared/src/xul/observable.ts
@@ -0,0 +1,22 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+export type ObservableCallback = (
+ subject: nsISupportsType,
+ topic: string,
+ data: string,
+) => void
+
+class ObservableImpl implements nsIObserverType {
+ QueryInterface = ChromeUtils.generateQI(['nsIObserver'])
+ observe: ObservableCallback
+
+ constructor(cb: ObservableCallback) {
+ this.observe = cb
+ }
+}
+
+export function observable(callback: ObservableCallback): nsIObserverType {
+ return new ObservableImpl(callback)
+}
diff --git a/lib/shared/tsconfig.json b/lib/shared/tsconfig.json
new file mode 100644
index 0000000..2550ad9
--- /dev/null
+++ b/lib/shared/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "module": "NodeNext",
+ "target": "ESNext",
+ "moduleResolution": "NodeNext"
+ },
+ "include": [
+ "src/**/*"
+ ]
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index ccadc0f..7cca5e8 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
"type": "module",
"main": "index.js",
"scripts": {
- "postinstall": "pnpm scripts:build && pnpm script:setup",
+ "_postinstall": "pnpm scripts:build && pnpm script:setup",
"scripts:build": "tsc -p ./tsconfigs/tsconfig.scripts.json",
"script:setup": "node ./.scripts/setup.js",
"script:license-check": "node ./.scripts/license-check.js",
@@ -30,57 +30,29 @@
"author": "",
"license": "ISC",
"devDependencies": {
- "@melt-ui/pp": "^0.1.4",
- "@melt-ui/svelte": "^0.64.0",
"@tinyhttp/app": "^2.2.1",
"@total-typescript/ts-reset": "^0.5.1",
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
- "@tsconfig/svelte": "^5.0.2",
"@types/node": "^20.8.4",
"@typescript-eslint/eslint-plugin": "^6.11.0",
"@typescript-eslint/parser": "^6.11.0",
"concurrently": "^8.2.1",
- "copy-webpack-plugin": "^11.0.0",
- "css-loader": "^6.8.1",
"eslint": "^8.53.0",
"eslint-plugin-listeners": "^1.4.0",
"execa": "^8.0.1",
"gecko-types": "github:quark-platform/gecko-types",
- "html-webpack-plugin": "^5.5.3",
"kleur": "^4.1.5",
- "mini-css-extract-plugin": "^2.7.6",
"nodejs-file-downloader": "^4.12.1",
- "postcss-loader": "^7.3.3",
"prettier": "^3.0.3",
"prettier-plugin-organize-imports": "^3.2.3",
"prettier-plugin-svelte": "^3.0.3",
- "style-loader": "^3.3.3",
- "svelte": "^4.2.8",
- "svelte-loader": "^3.1.9",
- "svelte-preprocess": "^5.1.2",
- "svelte-sequential-preprocessor": "^2.0.1",
- "ts-loader": "^9.5.0",
- "typescript": "^5.2.2",
- "webpack": "^5.89.0",
- "webpack-bundle-analyzer": "^4.10.1",
- "webpack-cli": "^5.1.4",
- "webpack-dev-server": "^4.15.1",
- "webpack-license-plugin": "^4.4.2",
- "zora": "^5.2.0"
- },
- "dependencies": {
- "@catppuccin/palette": "^0.2.0",
- "fnts": "^2.0.1",
- "mitt": "^3.0.1",
- "nanoid": "^5.0.3",
- "remixicon": "^3.7.0",
- "snarkdown": "^2.0.0"
+ "typescript": "^5.2.2"
},
"pnpm": {
"patchedDependencies": {
- "svelte@4.2.8": "patches/svelte@4.2.1.patch",
- "webpack-license-plugin@4.4.2": "patches/webpack-license-plugin@4.4.2.patch",
- "@melt-ui/svelte@0.64.5": "patches/@melt-ui__svelte@0.64.5.patch"
+ "svelte@4.2.8": "apps/content/patches/svelte@4.2.1.patch",
+ "webpack-license-plugin@4.4.2": "apps/content/patches/webpack-license-plugin@4.4.2.patch",
+ "@melt-ui/svelte@0.67.0": "apps/content/patches/@melt-ui__svelte@0.64.5.patch"
}
},
"prettier": {
@@ -130,7 +102,8 @@
"rules": {
"@typescript-eslint/triple-slash-reference": "off",
"no-extra-semi": "off",
- "no-console": "warn"
+ "no-console": "warn",
+ "no-undef": "off"
},
"ignorePatterns": [
"src/modules/*.js",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d117f90..8a85a3f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,148 +5,192 @@ settings:
excludeLinksFromLockfile: false
patchedDependencies:
- '@melt-ui/svelte@0.64.5':
+ '@melt-ui/svelte@0.67.0':
hash: aeypykqddydgtdgxoo44wxfeey
- path: patches/@melt-ui__svelte@0.64.5.patch
+ path: apps/content/patches/@melt-ui__svelte@0.64.5.patch
svelte@4.2.8:
hash: cm43hmf4gczhssi3isoosy53r4
- path: patches/svelte@4.2.1.patch
+ path: apps/content/patches/svelte@4.2.1.patch
webpack-license-plugin@4.4.2:
hash: j2giecj6dvolnysmkqbx73rnua
- path: patches/webpack-license-plugin@4.4.2.patch
-
-dependencies:
- '@catppuccin/palette':
- specifier: ^0.2.0
- version: 0.2.0
- fnts:
- specifier: ^2.0.1
- version: 2.0.1(typescript@5.2.2)
- mitt:
- specifier: ^3.0.1
- version: 3.0.1
- nanoid:
- specifier: ^5.0.3
- version: 5.0.3
- remixicon:
- specifier: ^3.7.0
- version: 3.7.0
- snarkdown:
- specifier: ^2.0.0
- version: 2.0.0
-
-devDependencies:
- '@melt-ui/pp':
- specifier: ^0.1.4
- version: 0.1.4(@melt-ui/svelte@0.64.5)(svelte@4.2.8)
- '@melt-ui/svelte':
- specifier: ^0.64.0
- version: 0.64.5(patch_hash=aeypykqddydgtdgxoo44wxfeey)(svelte@4.2.8)
- '@tinyhttp/app':
- specifier: ^2.2.1
- version: 2.2.1
- '@total-typescript/ts-reset':
- specifier: ^0.5.1
- version: 0.5.1
- '@trivago/prettier-plugin-sort-imports':
- specifier: ^4.3.0
- version: 4.3.0(prettier@3.0.3)
- '@tsconfig/svelte':
- specifier: ^5.0.2
- version: 5.0.2
- '@types/node':
- specifier: ^20.8.4
- version: 20.8.4
- '@typescript-eslint/eslint-plugin':
- specifier: ^6.11.0
- version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)(typescript@5.2.2)
- '@typescript-eslint/parser':
- specifier: ^6.11.0
- version: 6.11.0(eslint@8.53.0)(typescript@5.2.2)
- concurrently:
- specifier: ^8.2.1
- version: 8.2.1
- copy-webpack-plugin:
- specifier: ^11.0.0
- version: 11.0.0(webpack@5.89.0)
- css-loader:
- specifier: ^6.8.1
- version: 6.8.1(webpack@5.89.0)
- eslint:
- specifier: ^8.53.0
- version: 8.53.0
- eslint-plugin-listeners:
- specifier: ^1.4.0
- version: 1.4.0(eslint@8.53.0)
- execa:
- specifier: ^8.0.1
- version: 8.0.1
- gecko-types:
- specifier: github:quark-platform/gecko-types
- version: github.com/quark-platform/gecko-types/e4efe38ce26c3617d7a3ecb13491bca2004e0377
- html-webpack-plugin:
- specifier: ^5.5.3
- version: 5.5.3(webpack@5.89.0)
- kleur:
- specifier: ^4.1.5
- version: 4.1.5
- mini-css-extract-plugin:
- specifier: ^2.7.6
- version: 2.7.6(webpack@5.89.0)
- nodejs-file-downloader:
- specifier: ^4.12.1
- version: 4.12.1
- postcss-loader:
- specifier: ^7.3.3
- version: 7.3.3(postcss@8.4.31)(typescript@5.2.2)(webpack@5.89.0)
- prettier:
- specifier: ^3.0.3
- version: 3.0.3
- prettier-plugin-organize-imports:
- specifier: ^3.2.3
- version: 3.2.3(prettier@3.0.3)(typescript@5.2.2)
- prettier-plugin-svelte:
- specifier: ^3.0.3
- version: 3.0.3(prettier@3.0.3)(svelte@4.2.8)
- style-loader:
- specifier: ^3.3.3
- version: 3.3.3(webpack@5.89.0)
- svelte:
- specifier: ^4.2.8
- version: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
- svelte-loader:
- specifier: ^3.1.9
- version: 3.1.9(svelte@4.2.8)
- svelte-preprocess:
- specifier: ^5.1.2
- version: 5.1.2(postcss@8.4.31)(svelte@4.2.8)(typescript@5.2.2)
- svelte-sequential-preprocessor:
- specifier: ^2.0.1
- version: 2.0.1
- ts-loader:
- specifier: ^9.5.0
- version: 9.5.0(typescript@5.2.2)(webpack@5.89.0)
- typescript:
- specifier: ^5.2.2
- version: 5.2.2
- webpack:
- specifier: ^5.89.0
- version: 5.89.0(webpack-cli@5.1.4)
- webpack-bundle-analyzer:
- specifier: ^4.10.1
- version: 4.10.1
- webpack-cli:
- specifier: ^5.1.4
- version: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.1)(webpack@5.89.0)
- webpack-dev-server:
- specifier: ^4.15.1
- version: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0)
- webpack-license-plugin:
- specifier: ^4.4.2
- version: 4.4.2(patch_hash=j2giecj6dvolnysmkqbx73rnua)(webpack@5.89.0)
- zora:
- specifier: ^5.2.0
- version: 5.2.0
+ path: apps/content/patches/webpack-license-plugin@4.4.2.patch
+
+importers:
+
+ .:
+ devDependencies:
+ '@tinyhttp/app':
+ specifier: ^2.2.1
+ version: 2.2.1
+ '@total-typescript/ts-reset':
+ specifier: ^0.5.1
+ version: 0.5.1
+ '@trivago/prettier-plugin-sort-imports':
+ specifier: ^4.3.0
+ version: 4.3.0(prettier@3.0.3)
+ '@types/node':
+ specifier: ^20.8.4
+ version: 20.8.4
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^6.11.0
+ version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)(typescript@5.2.2)
+ '@typescript-eslint/parser':
+ specifier: ^6.11.0
+ version: 6.11.0(eslint@8.53.0)(typescript@5.2.2)
+ concurrently:
+ specifier: ^8.2.1
+ version: 8.2.1
+ eslint:
+ specifier: ^8.53.0
+ version: 8.53.0
+ eslint-plugin-listeners:
+ specifier: ^1.4.0
+ version: 1.4.0(eslint@8.53.0)
+ execa:
+ specifier: ^8.0.1
+ version: 8.0.1
+ gecko-types:
+ specifier: github:quark-platform/gecko-types
+ version: github.com/quark-platform/gecko-types/e4efe38ce26c3617d7a3ecb13491bca2004e0377
+ kleur:
+ specifier: ^4.1.5
+ version: 4.1.5
+ nodejs-file-downloader:
+ specifier: ^4.12.1
+ version: 4.12.1
+ prettier:
+ specifier: ^3.0.3
+ version: 3.0.3
+ prettier-plugin-organize-imports:
+ specifier: ^3.2.3
+ version: 3.2.3(prettier@3.0.3)(typescript@5.2.2)
+ prettier-plugin-svelte:
+ specifier: ^3.0.3
+ version: 3.0.3(prettier@3.0.3)(svelte@4.2.8)
+ typescript:
+ specifier: ^5.2.2
+ version: 5.2.2
+
+ apps/actors:
+ dependencies:
+ '@browser/link':
+ specifier: workspace:*
+ version: link:../../lib/link
+
+ apps/content:
+ dependencies:
+ '@catppuccin/palette':
+ specifier: ^1.0.1
+ version: 1.0.1
+ '@melt-ui/svelte':
+ specifier: ^0.67.0
+ version: 0.67.0(patch_hash=aeypykqddydgtdgxoo44wxfeey)(svelte@4.2.8)
+ fnts:
+ specifier: ^2.1.0
+ version: 2.1.0(typescript@5.3.3)
+ mitt:
+ specifier: ^3.0.1
+ version: 3.0.1
+ nanoid:
+ specifier: ^5.0.4
+ version: 5.0.4
+ remixicon:
+ specifier: ^4.0.1
+ version: 4.0.1
+ snarkdown:
+ specifier: ^2.0.0
+ version: 2.0.0
+ devDependencies:
+ '@melt-ui/pp':
+ specifier: ^0.3.0
+ version: 0.3.0(@melt-ui/svelte@0.67.0)(svelte@4.2.8)
+ '@tsconfig/svelte':
+ specifier: ^5.0.2
+ version: 5.0.2
+ copy-webpack-plugin:
+ specifier: ^11.0.0
+ version: 11.0.0(webpack@5.89.0)
+ css-loader:
+ specifier: ^6.8.1
+ version: 6.8.1(webpack@5.89.0)
+ html-webpack-plugin:
+ specifier: ^5.6.0
+ version: 5.6.0(webpack@5.89.0)
+ mini-css-extract-plugin:
+ specifier: ^2.7.6
+ version: 2.7.6(webpack@5.89.0)
+ postcss-loader:
+ specifier: ^7.3.4
+ version: 7.3.4(postcss@8.4.31)(typescript@5.3.3)(webpack@5.89.0)
+ style-loader:
+ specifier: ^3.3.3
+ version: 3.3.3(webpack@5.89.0)
+ svelte:
+ specifier: ^4.2.8
+ version: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
+ svelte-loader:
+ specifier: ^3.1.9
+ version: 3.1.9(svelte@4.2.8)
+ svelte-preprocess:
+ specifier: ^5.1.3
+ version: 5.1.3(postcss@8.4.31)(svelte@4.2.8)(typescript@5.3.3)
+ svelte-sequential-preprocessor:
+ specifier: ^2.0.1
+ version: 2.0.1
+ ts-loader:
+ specifier: ^9.5.1
+ version: 9.5.1(typescript@5.3.3)(webpack@5.89.0)
+ typescript:
+ specifier: ^5.3.3
+ version: 5.3.3
+ webpack:
+ specifier: ^5.89.0
+ version: 5.89.0(webpack-cli@5.1.4)
+ webpack-cli:
+ specifier: ^5.1.4
+ version: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-dev-server:
+ specifier: ^4.15.1
+ version: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0)
+ webpack-license-plugin:
+ specifier: ^4.4.2
+ version: 4.4.2(patch_hash=j2giecj6dvolnysmkqbx73rnua)(webpack@5.89.0)
+
+ apps/extensions:
+ dependencies:
+ '@browser/link':
+ specifier: workspace:*
+ version: link:../../lib/link
+
+ apps/misc: {}
+
+ apps/modules:
+ dependencies:
+ '@browser/link':
+ specifier: workspace:*
+ version: link:../../lib/link
+
+ lib/link:
+ dependencies:
+ gecko-types:
+ specifier: github:quark-platform/gecko-types
+ version: github.com/quark-platform/gecko-types/e4efe38ce26c3617d7a3ecb13491bca2004e0377
+ mitt:
+ specifier: ^3.0.1
+ version: 3.0.1
+
+ lib/shared:
+ dependencies:
+ svelte:
+ specifier: ^4.2.8
+ version: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
+ devDependencies:
+ '@browser/link':
+ specifier: workspace:*
+ version: link:../link
+ microbundle:
+ specifier: ^0.15.1
+ version: 0.15.1
packages:
@@ -161,7 +205,6 @@ packages:
dependencies:
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.19
- dev: true
/@babel/code-frame@7.22.13:
resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
@@ -171,6 +214,42 @@ packages:
chalk: 2.4.2
dev: true
+ /@babel/code-frame@7.23.5:
+ resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+ dev: true
+
+ /@babel/compat-data@7.23.5:
+ resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/core@7.23.7:
+ resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/helpers': 7.23.7
+ '@babel/parser': 7.23.6
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.7
+ '@babel/types': 7.23.6
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/generator@7.17.7:
resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==}
engines: {node: '>=6.9.0'}
@@ -190,6 +269,86 @@ packages:
jsesc: 2.5.2
dev: true
+ /@babel/generator@7.23.6:
+ resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.19
+ jsesc: 2.5.2
+ dev: true
+
+ /@babel/helper-annotate-as-pure@7.22.5:
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
+ resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.3
+ dev: true
+
+ /@babel/helper-compilation-targets@7.23.6:
+ resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.22.2
+ lru-cache: 5.1.1
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7):
+ resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-annotate-as-pure': 7.22.5
+ regexpu-core: 5.3.2
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ debug: 4.3.4
+ lodash.debounce: 4.0.8
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/helper-environment-visitor@7.22.20:
resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
engines: {node: '>=6.9.0'}
@@ -210,38 +369,1127 @@ packages:
'@babel/types': 7.23.3
dev: true
- /@babel/helper-split-export-declaration@7.22.6:
- resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
+ /@babel/helper-member-expression-to-functions@7.23.0:
+ resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.3
+ dev: true
+
+ /@babel/helper-module-imports@7.22.15:
+ resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: true
+
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.3
+ dev: true
+
+ /@babel/helper-plugin-utils@7.22.5:
+ resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.7):
+ resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-wrap-function': 7.22.20
+ dev: true
+
+ /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.7):
+ resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ dev: true
+
+ /@babel/helper-simple-access@7.22.5:
+ resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.3
+ dev: true
+
+ /@babel/helper-split-export-declaration@7.22.6:
+ resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.3
+ dev: true
+
+ /@babel/helper-string-parser@7.22.5:
+ resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-string-parser@7.23.4:
+ resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-validator-option@7.23.5:
+ resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-wrap-function@7.22.20:
+ resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-function-name': 7.23.0
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.3
+ dev: true
+
+ /@babel/helpers@7.23.7:
+ resolution: {integrity: sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.7
+ '@babel/types': 7.23.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/highlight@7.22.20:
+ resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+
+ /@babel/highlight@7.23.4:
+ resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+
+ /@babel/parser@7.23.3:
+ resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/parser@7.23.6:
+ resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-proposal-class-properties@7.12.1(@babel/core@7.23.7):
+ resolution: {integrity: sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7):
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ dev: true
+
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7):
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7):
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7):
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7):
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.7):
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.7):
+ resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7)
+ '@babel/helper-split-export-declaration': 7.22.6
+ globals: 11.12.0
+ dev: true
+
+ /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/template': 7.22.15
+ dev: true
+
+ /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.7):
+ resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-simple-access': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: true
+
+ /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.7):
+ resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/core': 7.23.7
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.7):
+ resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7)
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ regenerator-transform: 0.15.2
+ dev: true
+
+ /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
dependencies:
- '@babel/types': 7.23.3
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/helper-string-parser@7.22.5:
- resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
+ /@babel/preset-env@7.23.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-SY27X/GtTz/L4UryMNJ6p4fH4nsgWbz84y9FE0bQeWJP6O5BhgVCt53CotQKHCOeXJel8VyhlhujhlltKms/CA==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/core': 7.23.7
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.7)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.7)
+ '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.23.7)
+ '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.7)
+ '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.7)
+ '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.7)
+ '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.7)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.7)
+ babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.7)
+ babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.7)
+ babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.7)
+ core-js-compat: 3.35.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /@babel/helper-validator-identifier@7.22.20:
- resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
+ /@babel/preset-flow@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.23.7)
dev: true
- /@babel/highlight@7.22.20:
- resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
- engines: {node: '>=6.9.0'}
+ /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.7):
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
dependencies:
- '@babel/helper-validator-identifier': 7.22.20
- chalk: 2.4.2
- js-tokens: 4.0.0
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/types': 7.23.3
+ esutils: 2.0.3
dev: true
- /@babel/parser@7.23.3:
- resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==}
- engines: {node: '>=6.0.0'}
- hasBin: true
+ /@babel/preset-react@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
dependencies:
- '@babel/types': 7.17.0
+ '@babel/core': 7.23.7
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.7)
+ '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.7)
+ dev: true
+
+ /@babel/regjsgen@0.8.0:
+ resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
dev: true
/@babel/runtime@7.23.2:
@@ -278,6 +1526,24 @@ packages:
- supports-color
dev: true
+ /@babel/traverse@7.23.7:
+ resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.23.6
+ '@babel/types': 7.23.6
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/types@7.17.0:
resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
engines: {node: '>=6.9.0'}
@@ -295,8 +1561,17 @@ packages:
to-fast-properties: 2.0.0
dev: true
- /@catppuccin/palette@0.2.0:
- resolution: {integrity: sha512-PoAMQMEbL8fBEO80eusB+XQg+1i2kxQHw6COwBRC4bVWxWuRroZjm3K6bOdqPHNHKikDIV7wLi9hSG4NoD1FEQ==}
+ /@babel/types@7.23.6:
+ resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+ dev: true
+
+ /@catppuccin/palette@1.0.1:
+ resolution: {integrity: sha512-aCVFn6j2HnN6M/yk4co67rF/EWrXhZO2qpJUJd6Xsz8t1BF6PbmftM8Gz3wFHPfUdTogU0dUiKs+YsW19hJ8mQ==}
dev: false
/@discoveryjs/json-ext@0.5.7:
@@ -345,18 +1620,15 @@ packages:
resolution: {integrity: sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==}
dependencies:
'@floating-ui/utils': 0.1.6
- dev: true
/@floating-ui/dom@1.5.3:
resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==}
dependencies:
'@floating-ui/core': 1.5.2
'@floating-ui/utils': 0.1.6
- dev: true
/@floating-ui/utils@0.1.6:
resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==}
- dev: true
/@humanwhocodes/config-array@0.11.13:
resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
@@ -382,7 +1654,6 @@ packages:
resolution: {integrity: sha512-nw0Q+oRkizBWMioseI8+2TeUPEyopJVz5YxoYVzR0W1v+2YytiYah7s/ot35F149q/xAg4F1gT/6eTd+tsUpFQ==}
dependencies:
'@swc/helpers': 0.5.3
- dev: true
/@jridgewell/gen-mapping@0.3.3:
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
@@ -391,17 +1662,14 @@ packages:
'@jridgewell/set-array': 1.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.19
- dev: true
/@jridgewell/resolve-uri@3.1.1:
resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
engines: {node: '>=6.0.0'}
- dev: true
/@jridgewell/set-array@1.1.2:
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
engines: {node: '>=6.0.0'}
- dev: true
/@jridgewell/source-map@0.3.5:
resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
@@ -412,33 +1680,32 @@ packages:
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- dev: true
/@jridgewell/trace-mapping@0.3.19:
resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==}
dependencies:
'@jridgewell/resolve-uri': 3.1.1
'@jridgewell/sourcemap-codec': 1.4.15
- dev: true
/@leichtgewicht/ip-codec@2.0.4:
resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==}
dev: true
- /@melt-ui/pp@0.1.4(@melt-ui/svelte@0.64.5)(svelte@4.2.8):
- resolution: {integrity: sha512-zR+Kl3CZJPJBHW8V7YcdQCMI/dVcnW9Ct3yGbVaIywYVStVRS7F9uEDOea3xLLT2WTGodQePzPlUn53yKFu87g==}
+ /@melt-ui/pp@0.3.0(@melt-ui/svelte@0.67.0)(svelte@4.2.8):
+ resolution: {integrity: sha512-b07Bdh8l2KcwKVCXOY+SoBw1dk9eWvQfMSi6SoacpRVyVmmfpi0kV4oGt3HYF0tUCB3sEmVicxse50ZzZxEzEA==}
engines: {pnpm: '>=8.6.3'}
peerDependencies:
'@melt-ui/svelte': '>= 0.29.0'
svelte: ^3.55.0 || ^4.0.0 || ^5.0.0-next.1
dependencies:
- '@melt-ui/svelte': 0.64.5(patch_hash=aeypykqddydgtdgxoo44wxfeey)(svelte@4.2.8)
+ '@melt-ui/svelte': 0.67.0(patch_hash=aeypykqddydgtdgxoo44wxfeey)(svelte@4.2.8)
estree-walker: 3.0.3
+ magic-string: 0.30.5
svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
dev: true
- /@melt-ui/svelte@0.64.5(patch_hash=aeypykqddydgtdgxoo44wxfeey)(svelte@4.2.8):
- resolution: {integrity: sha512-nPQA2guLuLitpZ6A968eWyGMC2riTKLq4R26hPRLdzP/JHCpd9yvddgMwil8JKbUKjT2dC3i358vUqeUOGxknA==}
+ /@melt-ui/svelte@0.67.0(patch_hash=aeypykqddydgtdgxoo44wxfeey)(svelte@4.2.8):
+ resolution: {integrity: sha512-fd9PsDE6sKbeyExagqH0nOpZEnDqyr2efbkjfmCRRYXVW5vlDEOPaSB+mg4Tjch121102sFH1Od+MlXwmeHy3A==}
peerDependencies:
svelte: '>=3 <5'
dependencies:
@@ -449,7 +1716,6 @@ packages:
focus-trap: 7.5.4
nanoid: 4.0.2
svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
- dev: true
patched: true
/@nodelib/fs.scandir@2.1.5:
@@ -473,15 +1739,106 @@ packages:
fastq: 1.15.0
dev: true
- /@polka/url@1.0.0-next.24:
- resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==}
+ /@rollup/plugin-alias@3.1.9(rollup@2.79.1):
+ resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==}
+ engines: {node: '>=8.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ dependencies:
+ rollup: 2.79.1
+ slash: 3.0.0
+ dev: true
+
+ /@rollup/plugin-babel@5.3.1(@babel/core@7.23.7)(rollup@2.79.1):
+ resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@types/babel__core': ^7.1.9
+ rollup: ^1.20.0||^2.0.0
+ peerDependenciesMeta:
+ '@types/babel__core':
+ optional: true
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-module-imports': 7.22.15
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ rollup: 2.79.1
+ dev: true
+
+ /@rollup/plugin-commonjs@17.1.0(rollup@2.79.1):
+ resolution: {integrity: sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^2.30.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 7.2.3
+ is-reference: 1.2.1
+ magic-string: 0.25.9
+ resolve: 1.22.8
+ rollup: 2.79.1
+ dev: true
+
+ /@rollup/plugin-json@4.1.0(rollup@2.79.1):
+ resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==}
+ peerDependencies:
+ rollup: ^1.20.0 || ^2.0.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ rollup: 2.79.1
+ dev: true
+
+ /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1):
+ resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ '@types/resolve': 1.17.1
+ builtin-modules: 3.3.0
+ deepmerge: 4.3.1
+ is-module: 1.0.0
+ resolve: 1.22.8
+ rollup: 2.79.1
+ dev: true
+
+ /@rollup/pluginutils@3.1.0(rollup@2.79.1):
+ resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ dependencies:
+ '@types/estree': 0.0.39
+ estree-walker: 1.0.1
+ picomatch: 2.3.1
+ rollup: 2.79.1
+ dev: true
+
+ /@rollup/pluginutils@4.2.1:
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
+ engines: {node: '>= 8.0.0'}
+ dependencies:
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /@surma/rollup-plugin-off-main-thread@2.2.3:
+ resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
+ dependencies:
+ ejs: 3.1.9
+ json5: 2.2.3
+ magic-string: 0.25.9
+ string.prototype.matchall: 4.0.10
dev: true
/@swc/helpers@0.5.3:
resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==}
dependencies:
tslib: 2.6.2
- dev: true
/@tinyhttp/accepts@2.2.0:
resolution: {integrity: sha512-Jz60vPt9eQDXtFNaTHGhVsFNEFoQxHldGhB0a6L1oS4MvGJNs6pX5Ibntgth2/DcdtR+PFtbOhKVsZf8kveDLw==}
@@ -628,6 +1985,11 @@ packages:
- supports-color
dev: true
+ /@trysound/sax@0.2.0:
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+ dev: true
+
/@tsconfig/svelte@5.0.2:
resolution: {integrity: sha512-BRbo1fOtyVbhfLyuCWw6wAWp+U8UQle+ZXu84MYYWzYSEB28dyfnRBIE99eoG+qdAC0po6L2ScIEivcT07UaMA==}
dev: true
@@ -672,9 +2034,12 @@ packages:
'@types/json-schema': 7.0.13
dev: true
+ /@types/estree@0.0.39:
+ resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
+ dev: true
+
/@types/estree@1.0.2:
resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==}
- dev: true
/@types/express-serve-static-core@4.17.37:
resolution: {integrity: sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==}
@@ -726,6 +2091,10 @@ packages:
undici-types: 5.25.3
dev: true
+ /@types/parse-json@4.0.2:
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+ dev: true
+
/@types/pug@2.0.7:
resolution: {integrity: sha512-I469DU0UXNC1aHepwirWhu9YKg5fkxohZD95Ey/5A7lovC+Siu+MCLffva87lnfThaOrw9Vb1DUN5t55oULAAw==}
dev: true
@@ -738,6 +2107,12 @@ packages:
resolution: {integrity: sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==}
dev: true
+ /@types/resolve@1.17.1:
+ resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
+ dependencies:
+ '@types/node': 20.8.4
+ dev: true
+
/@types/retry@0.12.0:
resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
dev: true
@@ -1028,7 +2403,7 @@ packages:
webpack-cli: 5.x.x
dependencies:
webpack: 5.89.0(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
dev: true
/@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.89.0):
@@ -1039,7 +2414,7 @@ packages:
webpack-cli: 5.x.x
dependencies:
webpack: 5.89.0(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
dev: true
/@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.1)(webpack@5.89.0):
@@ -1054,7 +2429,7 @@ packages:
optional: true
dependencies:
webpack: 5.89.0(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0)
dev: true
@@ -1090,16 +2465,10 @@ packages:
acorn: 8.10.0
dev: true
- /acorn-walk@8.3.1:
- resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==}
- engines: {node: '>=0.4.0'}
- dev: true
-
/acorn@8.10.0:
resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
engines: {node: '>=0.4.0'}
hasBin: true
- dev: true
/agent-base@6.0.2:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
@@ -1162,11 +2531,21 @@ packages:
hasBin: true
dev: true
+ /ansi-regex@2.1.1:
+ resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
dev: true
+ /ansi-styles@2.2.1:
+ resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/ansi-styles@3.2.1:
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
engines: {node: '>=4'}
@@ -1197,6 +2576,12 @@ packages:
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
dependencies:
dequal: 2.0.3
+
+ /array-buffer-byte-length@1.0.0:
+ resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
+ dependencies:
+ call-bind: 1.0.5
+ is-array-buffer: 3.0.2
dev: true
/array-flatten@1.1.1:
@@ -1212,10 +2597,109 @@ packages:
engines: {node: '>=8'}
dev: true
+ /arraybuffer.prototype.slice@1.0.2:
+ resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ get-intrinsic: 1.2.2
+ is-array-buffer: 3.0.2
+ is-shared-array-buffer: 1.0.2
+ dev: true
+
+ /async@3.2.5:
+ resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
+ dev: true
+
+ /asyncro@3.0.0:
+ resolution: {integrity: sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==}
+ dev: true
+
+ /autoprefixer@10.4.16(postcss@8.4.31):
+ resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.22.1
+ caniuse-lite: 1.0.30001547
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /available-typed-arrays@1.0.5:
+ resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
/axobject-query@3.2.1:
resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
dependencies:
dequal: 2.0.3
+
+ /babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+ dependencies:
+ '@babel/runtime': 7.23.2
+ cosmiconfig: 7.1.0
+ resolve: 1.22.8
+ dev: true
+
+ /babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/core': 7.23.7
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
+ core-js-compat: 3.35.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-transform-async-to-promises@0.8.18:
+ resolution: {integrity: sha512-WpOrF76nUHijnNn10eBGOHZmXQC8JYRME9rOLxStOga7Av2VO53ehVFvVNImMksVtQuL2/7ZNxEgxnx7oo/3Hw==}
+ dev: true
+
+ /babel-plugin-transform-replace-expressions@0.2.0(@babel/core@7.23.7):
+ resolution: {integrity: sha512-Eh1rRd9hWEYgkgoA3D0kGp7xJ/wgVshgsqmq60iC4HVWD+Lux+fNHSHBa2v1Hsv+dHflShC71qKhiH40OiPtDA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/parser': 7.23.3
dev: true
/balanced-match@1.0.2:
@@ -1275,6 +2759,12 @@ packages:
concat-map: 0.0.1
dev: true
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+ dev: true
+
/braces@3.0.2:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
engines: {node: '>=8'}
@@ -1282,6 +2772,13 @@ packages:
fill-range: 7.0.1
dev: true
+ /brotli-size@4.0.0:
+ resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==}
+ engines: {node: '>= 10.16.0'}
+ dependencies:
+ duplexer: 0.1.1
+ dev: true
+
/browserslist@4.22.1:
resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -1293,6 +2790,17 @@ packages:
update-browserslist-db: 1.0.13(browserslist@4.22.1)
dev: true
+ /browserslist@4.22.2:
+ resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001572
+ electron-to-chromium: 1.4.616
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.2)
+ dev: true
+
/buffer-crc32@0.2.13:
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
dev: true
@@ -1301,6 +2809,11 @@ packages:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
dev: true
+ /builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+ dev: true
+
/bytes@3.0.0:
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
engines: {node: '>= 0.8'}
@@ -1318,6 +2831,14 @@ packages:
get-intrinsic: 1.2.1
dev: true
+ /call-bind@1.0.5:
+ resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
+ dependencies:
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.2
+ set-function-length: 1.1.1
+ dev: true
+
/callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
@@ -1330,10 +2851,39 @@ packages:
tslib: 2.6.2
dev: true
+ /camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+ dependencies:
+ browserslist: 4.22.1
+ caniuse-lite: 1.0.30001547
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+ dev: true
+
/caniuse-lite@1.0.30001547:
resolution: {integrity: sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==}
dev: true
+ /caniuse-lite@1.0.30001572:
+ resolution: {integrity: sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==}
+ dev: true
+
+ /chalk@1.1.3:
+ resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ ansi-styles: 2.2.1
+ escape-string-regexp: 1.0.5
+ has-ansi: 2.0.0
+ strip-ansi: 3.0.1
+ supports-color: 2.0.0
+ dev: true
+
/chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -1409,7 +2959,6 @@ packages:
acorn: 8.10.0
estree-walker: 3.0.3
periscopic: 3.1.0
- dev: true
/color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -1432,6 +2981,10 @@ packages:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: true
+ /colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+ dev: true
+
/colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
dev: true
@@ -1455,6 +3008,10 @@ packages:
engines: {node: '>= 12'}
dev: true
+ /commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: true
+
/compressible@2.0.18:
resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
engines: {node: '>= 0.6'}
@@ -1481,6 +3038,12 @@ packages:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
+ /concat-with-sourcemaps@1.1.0:
+ resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==}
+ dependencies:
+ source-map: 0.6.1
+ dev: true
+
/concurrently@8.2.1:
resolution: {integrity: sha512-nVraf3aXOpIcNud5pB9M82p1tynmZkrSGQ1p6X/VY8cJ+2LMVqAgXsJxYYefACSHbTYlm92O1xuhdGTjwoEvbQ==}
engines: {node: ^14.13.0 || >=16.0.0}
@@ -1514,6 +3077,10 @@ packages:
engines: {node: '>= 0.6'}
dev: true
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ dev: true
+
/cookie-signature@1.0.6:
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
dev: true
@@ -1538,11 +3105,28 @@ packages:
webpack: 5.89.0(webpack-cli@5.1.4)
dev: true
+ /core-js-compat@3.35.0:
+ resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==}
+ dependencies:
+ browserslist: 4.22.2
+ dev: true
+
/core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
dev: true
- /cosmiconfig@8.3.6(typescript@5.2.2):
+ /cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+ dev: true
+
+ /cosmiconfig@8.3.6(typescript@5.3.3):
resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
engines: {node: '>=14'}
peerDependencies:
@@ -1555,7 +3139,7 @@ packages:
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
- typescript: 5.2.2
+ typescript: 5.3.3
dev: true
/cross-spawn@7.0.3:
@@ -1567,6 +3151,15 @@ packages:
which: 2.0.2
dev: true
+ /css-declaration-sorter@6.4.1(postcss@8.4.31):
+ resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==}
+ engines: {node: ^10 || ^12 || >=14}
+ peerDependencies:
+ postcss: ^8.0.9
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
/css-loader@6.8.1(webpack@5.89.0):
resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==}
engines: {node: '>= 12.13.0'}
@@ -1594,13 +3187,20 @@ packages:
nth-check: 2.1.1
dev: true
+ /css-tree@1.1.3:
+ resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
+ dev: true
+
/css-tree@2.3.1:
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
dependencies:
mdn-data: 2.0.30
source-map-js: 1.0.2
- dev: true
/css-what@6.1.0:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
@@ -1613,6 +3213,72 @@ packages:
hasBin: true
dev: true
+ /cssnano-preset-default@5.2.14(postcss@8.4.31):
+ resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ css-declaration-sorter: 6.4.1(postcss@8.4.31)
+ cssnano-utils: 3.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-calc: 8.2.4(postcss@8.4.31)
+ postcss-colormin: 5.3.1(postcss@8.4.31)
+ postcss-convert-values: 5.1.3(postcss@8.4.31)
+ postcss-discard-comments: 5.1.2(postcss@8.4.31)
+ postcss-discard-duplicates: 5.1.0(postcss@8.4.31)
+ postcss-discard-empty: 5.1.1(postcss@8.4.31)
+ postcss-discard-overridden: 5.1.0(postcss@8.4.31)
+ postcss-merge-longhand: 5.1.7(postcss@8.4.31)
+ postcss-merge-rules: 5.1.4(postcss@8.4.31)
+ postcss-minify-font-values: 5.1.0(postcss@8.4.31)
+ postcss-minify-gradients: 5.1.1(postcss@8.4.31)
+ postcss-minify-params: 5.1.4(postcss@8.4.31)
+ postcss-minify-selectors: 5.2.1(postcss@8.4.31)
+ postcss-normalize-charset: 5.1.0(postcss@8.4.31)
+ postcss-normalize-display-values: 5.1.0(postcss@8.4.31)
+ postcss-normalize-positions: 5.1.1(postcss@8.4.31)
+ postcss-normalize-repeat-style: 5.1.1(postcss@8.4.31)
+ postcss-normalize-string: 5.1.0(postcss@8.4.31)
+ postcss-normalize-timing-functions: 5.1.0(postcss@8.4.31)
+ postcss-normalize-unicode: 5.1.1(postcss@8.4.31)
+ postcss-normalize-url: 5.1.0(postcss@8.4.31)
+ postcss-normalize-whitespace: 5.1.1(postcss@8.4.31)
+ postcss-ordered-values: 5.1.3(postcss@8.4.31)
+ postcss-reduce-initial: 5.1.2(postcss@8.4.31)
+ postcss-reduce-transforms: 5.1.0(postcss@8.4.31)
+ postcss-svgo: 5.1.0(postcss@8.4.31)
+ postcss-unique-selectors: 5.1.1(postcss@8.4.31)
+ dev: true
+
+ /cssnano-utils@3.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /cssnano@5.1.15(postcss@8.4.31):
+ resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-preset-default: 5.2.14(postcss@8.4.31)
+ lilconfig: 2.1.0
+ postcss: 8.4.31
+ yaml: 1.10.2
+ dev: true
+
+ /csso@4.2.0:
+ resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ css-tree: 1.1.3
+ dev: true
+
/date-fns@2.30.0:
resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
engines: {node: '>=0.11'}
@@ -1620,10 +3286,6 @@ packages:
'@babel/runtime': 7.23.2
dev: true
- /debounce@1.2.1:
- resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
- dev: true
-
/debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@@ -1662,6 +3324,11 @@ packages:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
+ /deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/default-gateway@6.0.3:
resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
engines: {node: '>= 10'}
@@ -1669,11 +3336,29 @@ packages:
execa: 5.1.1
dev: true
+ /define-data-property@1.1.1:
+ resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.1
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ dev: true
+
/define-lazy-prop@2.0.0:
resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
engines: {node: '>=8'}
dev: true
+ /define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ has-property-descriptors: 1.0.1
+ object-keys: 1.1.1
+ dev: true
+
/depd@1.1.2:
resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
engines: {node: '>= 0.6'}
@@ -1687,7 +3372,6 @@ packages:
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
- dev: true
/destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
@@ -1768,6 +3452,10 @@ packages:
tslib: 2.6.2
dev: true
+ /duplexer@0.1.1:
+ resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==}
+ dev: true
+
/duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
dev: true
@@ -1776,10 +3464,22 @@ packages:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
dev: true
+ /ejs@3.1.9:
+ resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+ dependencies:
+ jake: 10.8.7
+ dev: true
+
/electron-to-chromium@1.4.551:
resolution: {integrity: sha512-/Ng/W/kFv7wdEHYzxdK7Cv0BHEGSkSB3M0Ssl8Ndr1eMiYeas/+Mv4cNaDqamqWx6nd2uQZfPz6g25z25M/sdw==}
dev: true
+ /electron-to-chromium@1.4.616:
+ resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==}
+ dev: true
+
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
dev: true
@@ -1818,6 +3518,51 @@ packages:
is-arrayish: 0.2.1
dev: true
+ /es-abstract@1.22.3:
+ resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ arraybuffer.prototype.slice: 1.0.2
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.5
+ es-set-tostringtag: 2.0.2
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.2
+ get-symbol-description: 1.0.0
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ hasown: 2.0.0
+ internal-slot: 1.0.6
+ 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.12
+ is-weakref: 1.0.2
+ object-inspect: 1.13.1
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.1
+ safe-array-concat: 1.0.1
+ safe-regex-test: 1.0.0
+ string.prototype.trim: 1.2.8
+ string.prototype.trimend: 1.0.7
+ string.prototype.trimstart: 1.0.7
+ typed-array-buffer: 1.0.0
+ typed-array-byte-length: 1.0.0
+ typed-array-byte-offset: 1.0.0
+ typed-array-length: 1.0.4
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.13
+ dev: true
+
/es-escape-html@0.1.1:
resolution: {integrity: sha512-yUx1o+8RsG7UlszmYPtks+dm6Lho2m8lgHMOsLJQsFI0R8XwUJwiMhM1M4E/S8QLeGyf6MkDV/pWgjQ0tdTSyQ==}
engines: {node: '>=12.x'}
@@ -1827,6 +3572,24 @@ packages:
resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==}
dev: true
+ /es-set-tostringtag@2.0.2:
+ resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.2
+ has-tostringtag: 1.0.0
+ hasown: 2.0.0
+ dev: true
+
+ /es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: true
+
/es6-promise@3.3.1:
resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
dev: true
@@ -1960,11 +3723,22 @@ packages:
engines: {node: '>=4.0'}
dev: true
+ /estree-walker@0.6.1:
+ resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+ dev: true
+
+ /estree-walker@1.0.1:
+ resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+ dev: true
+
+ /estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: true
+
/estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
dependencies:
'@types/estree': 1.0.2
- dev: true
/esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
@@ -2095,6 +3869,14 @@ packages:
websocket-driver: 0.7.4
dev: true
+ /figures@1.7.0:
+ resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ escape-string-regexp: 1.0.5
+ object-assign: 4.1.1
+ dev: true
+
/file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -2102,6 +3884,17 @@ packages:
flat-cache: 3.2.0
dev: true
+ /filelist@1.0.4:
+ resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
+ dependencies:
+ minimatch: 5.1.6
+ dev: true
+
+ /filesize@6.4.0:
+ resolution: {integrity: sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==}
+ engines: {node: '>= 0.4.0'}
+ dev: true
+
/fill-range@7.0.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
@@ -2124,6 +3917,15 @@ packages:
- supports-color
dev: true
+ /find-cache-dir@3.3.2:
+ resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ engines: {node: '>=8'}
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 3.1.0
+ pkg-dir: 4.2.0
+ dev: true
+
/find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -2153,22 +3955,21 @@ packages:
resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
dev: true
- /fnts@2.0.1(typescript@5.2.2):
- resolution: {integrity: sha512-pg5jBjtTdWMen8OzFKd0gPOHgnvAzm0ndKKrGT4xYZYBSobDLhqLSf2tnDpmdPuPvV3rMwae0lOmmvOJ+l1VNg==}
+ /fnts@2.1.0(typescript@5.3.3):
+ resolution: {integrity: sha512-+KFw3//Dbxw3R5xCzP+3BMsjhNiRaJ8w1Al/1aCzI7OqrqzIHCpNZShY1nUFPciqHqe8Z3URo+aA595ePa7Kqw==}
peerDependencies:
typescript: '>=4.7'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- typescript: 5.2.2
+ typescript: 5.3.3
dev: false
/focus-trap@7.5.4:
resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
dependencies:
tabbable: 6.2.0
- dev: true
/follow-redirects@1.15.3:
resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==}
@@ -2180,16 +3981,35 @@ packages:
optional: true
dev: true
+ /for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ dependencies:
+ is-callable: 1.2.7
+ dev: true
+
/forwarded@0.2.0:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
dev: true
+ /fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+ dev: true
+
/fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
dev: true
+ /fs-extra@10.1.0:
+ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+ dev: true
+
/fs-monkey@1.0.5:
resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==}
dev: true
@@ -2210,6 +4030,35 @@ packages:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
dev: true
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ dev: true
+
+ /function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ functions-have-names: 1.2.3
+ dev: true
+
+ /functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: true
+
+ /generic-names@4.0.0:
+ resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==}
+ dependencies:
+ loader-utils: 3.2.1
+ dev: true
+
+ /gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
/get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
@@ -2224,6 +4073,15 @@ packages:
has-symbols: 1.0.3
dev: true
+ /get-intrinsic@1.2.2:
+ resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==}
+ dependencies:
+ function-bind: 1.1.2
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ hasown: 2.0.0
+ dev: true
+
/get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
@@ -2234,6 +4092,14 @@ packages:
engines: {node: '>=16'}
dev: true
+ /get-symbol-description@1.0.0:
+ resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ dev: true
+
/glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
@@ -2275,6 +4141,17 @@ packages:
type-fest: 0.20.2
dev: true
+ /globalthis@1.0.3:
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-properties: 1.2.1
+ dev: true
+
+ /globalyzer@0.1.0:
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
+ dev: true
+
/globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
@@ -2298,6 +4175,16 @@ packages:
slash: 4.0.0
dev: true
+ /globrex@0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+ dev: true
+
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.2
+ dev: true
+
/graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true
@@ -2306,6 +4193,13 @@ packages:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
dev: true
+ /gzip-size@3.0.0:
+ resolution: {integrity: sha512-6s8trQiK+OMzSaCSVXX+iqIcLV9tC+E73jrJrJTyS4h/AJhlxHvzFKqM1YLDJWRGgHX8uLkBeXkA0njNj39L4w==}
+ engines: {node: '>=0.12.0'}
+ dependencies:
+ duplexer: 0.1.2
+ dev: true
+
/gzip-size@6.0.0:
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
engines: {node: '>=10'}
@@ -2317,6 +4211,17 @@ packages:
resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
dev: true
+ /has-ansi@2.0.0:
+ resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+
+ /has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ dev: true
+
/has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
@@ -2327,6 +4232,12 @@ packages:
engines: {node: '>=8'}
dev: true
+ /has-property-descriptors@1.0.1:
+ resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==}
+ dependencies:
+ get-intrinsic: 1.2.2
+ dev: true
+
/has-proto@1.0.1:
resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
engines: {node: '>= 0.4'}
@@ -2337,11 +4248,25 @@ packages:
engines: {node: '>= 0.4'}
dev: true
+ /has-tostringtag@1.0.0:
+ resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
/has@1.0.4:
resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==}
engines: {node: '>= 0.4.0'}
dev: true
+ /hasown@2.0.0:
+ resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+ dev: true
+
/he@1.2.0:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
@@ -2365,10 +4290,6 @@ packages:
resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
dev: true
- /html-escaper@2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
- dev: true
-
/html-minifier-terser@6.1.0:
resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
engines: {node: '>=12'}
@@ -2383,11 +4304,17 @@ packages:
terser: 5.21.0
dev: true
- /html-webpack-plugin@5.5.3(webpack@5.89.0):
- resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==}
+ /html-webpack-plugin@5.6.0(webpack@5.89.0):
+ resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==}
engines: {node: '>=10.13.0'}
peerDependencies:
+ '@rspack/core': 0.x || 1.x
webpack: ^5.20.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
dependencies:
'@types/html-minifier-terser': 6.1.0
html-minifier-terser: 6.1.0
@@ -2499,6 +4426,10 @@ packages:
safer-buffer: 2.1.2
dev: true
+ /icss-replace-symbols@1.1.0:
+ resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==}
+ dev: true
+
/icss-utils@5.1.0(postcss@8.4.31):
resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
engines: {node: ^10 || ^12 || >= 14}
@@ -2513,6 +4444,13 @@ packages:
engines: {node: '>= 4'}
dev: true
+ /import-cwd@3.0.0:
+ resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==}
+ engines: {node: '>=8'}
+ dependencies:
+ import-from: 3.0.0
+ dev: true
+
/import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -2521,6 +4459,13 @@ packages:
resolve-from: 4.0.0
dev: true
+ /import-from@3.0.0:
+ resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ resolve-from: 5.0.0
+ dev: true
+
/import-local@3.1.0:
resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
engines: {node: '>=8'}
@@ -2550,6 +4495,15 @@ packages:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
dev: true
+ /internal-slot@1.0.6:
+ resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.2
+ hasown: 2.0.0
+ side-channel: 1.0.4
+ dev: true
+
/interpret@3.1.1:
resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
engines: {node: '>=10.13.0'}
@@ -2565,10 +4519,24 @@ packages:
engines: {node: '>= 10'}
dev: true
+ /is-array-buffer@3.0.2:
+ resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ is-typed-array: 1.1.12
+ dev: true
+
/is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
dev: true
+ /is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ dependencies:
+ has-bigints: 1.0.2
+ dev: true
+
/is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
@@ -2576,12 +4544,32 @@ packages:
binary-extensions: 2.2.0
dev: true
+ /is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
/is-core-module@2.13.0:
resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
dependencies:
has: 1.0.4
dev: true
+ /is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
/is-docker@2.2.1:
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
engines: {node: '>=8'}
@@ -2605,6 +4593,22 @@ packages:
is-extglob: 2.1.1
dev: true
+ /is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+ dev: true
+
+ /is-negative-zero@2.0.2:
+ resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
/is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
@@ -2627,15 +4631,29 @@ packages:
isobject: 3.0.1
dev: true
- /is-plain-object@5.0.0:
- resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
- engines: {node: '>=0.10.0'}
+ /is-reference@1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ dependencies:
+ '@types/estree': 1.0.2
dev: true
/is-reference@3.0.2:
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
dependencies:
'@types/estree': 1.0.2
+
+ /is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-shared-array-buffer@1.0.2:
+ resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
+ dependencies:
+ call-bind: 1.0.5
dev: true
/is-stream@2.0.1:
@@ -2648,6 +4666,33 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
+ /is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /is-typed-array@1.1.12:
+ resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ which-typed-array: 1.1.13
+ dev: true
+
+ /is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ dependencies:
+ call-bind: 1.0.5
+ dev: true
+
/is-wsl@2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
@@ -2659,6 +4704,10 @@ packages:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
dev: true
+ /isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ dev: true
+
/isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
@@ -2668,10 +4717,30 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /jake@10.8.7:
+ resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ async: 3.2.5
+ chalk: 4.1.2
+ filelist: 1.0.4
+ minimatch: 3.1.2
+ dev: true
+
/javascript-natural-sort@0.7.1:
resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
dev: true
+ /jest-worker@26.6.2:
+ resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/node': 20.8.4
+ merge-stream: 2.0.0
+ supports-color: 7.2.0
+ dev: true
+
/jest-worker@27.5.1:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
@@ -2697,6 +4766,11 @@ packages:
argparse: 2.0.1
dev: true
+ /jsesc@0.5.0:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+ dev: true
+
/jsesc@2.5.2:
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
engines: {node: '>=4'}
@@ -2729,6 +4803,14 @@ packages:
hasBin: true
dev: true
+ /jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
/keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
dependencies:
@@ -2760,6 +4842,11 @@ packages:
type-check: 0.4.0
dev: true
+ /lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+ dev: true
+
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
@@ -2778,9 +4865,13 @@ packages:
json5: 2.2.3
dev: true
+ /loader-utils@3.2.1:
+ resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==}
+ engines: {node: '>= 12.13.0'}
+ dev: true
+
/locate-character@3.0.0:
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
- dev: true
/locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
@@ -2796,10 +4887,26 @@ packages:
p-locate: 5.0.0
dev: true
+ /lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+ dev: true
+
+ /lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ dev: true
+
+ /lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+ dev: true
+
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
+ /lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+ dev: true
+
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: true
@@ -2810,6 +4917,12 @@ packages:
tslib: 2.6.2
dev: true
+ /lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+ dev: true
+
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
@@ -2817,23 +4930,41 @@ packages:
yallist: 4.0.0
dev: true
- /magic-string@0.27.0:
- resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
- engines: {node: '>=12'}
+ /magic-string@0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
+ sourcemap-codec: 1.4.8
dev: true
- /magic-string@0.30.4:
- resolution: {integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==}
+ /magic-string@0.30.5:
+ resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
+
+ /make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+ dependencies:
+ semver: 6.3.1
+ dev: true
+
+ /maxmin@2.1.0:
+ resolution: {integrity: sha512-NWlApBjW9az9qRPaeg7CX4sQBWwytqz32bIEo1PW9pRW+kBP9KLRfJO3UC+TV31EcQZEUq7eMzikC7zt3zPJcw==}
+ engines: {node: '>=0.12'}
+ dependencies:
+ chalk: 1.1.3
+ figures: 1.7.0
+ gzip-size: 3.0.0
+ pretty-bytes: 3.0.1
+ dev: true
+
+ /mdn-data@2.0.14:
+ resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
dev: true
/mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
- dev: true
/media-typer@0.3.0:
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
@@ -2865,6 +4996,58 @@ packages:
engines: {node: '>= 0.6'}
dev: true
+ /microbundle@0.15.1:
+ resolution: {integrity: sha512-aAF+nwFbkSIJGfrJk+HyzmJOq3KFaimH6OIFBU6J2DPjQeg1jXIYlIyEv81Gyisb9moUkudn+wj7zLNYMOv75Q==}
+ hasBin: true
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/plugin-proposal-class-properties': 7.12.1(@babel/core@7.23.7)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7)
+ '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.7)
+ '@babel/preset-env': 7.23.7(@babel/core@7.23.7)
+ '@babel/preset-flow': 7.23.3(@babel/core@7.23.7)
+ '@babel/preset-react': 7.23.3(@babel/core@7.23.7)
+ '@rollup/plugin-alias': 3.1.9(rollup@2.79.1)
+ '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.7)(rollup@2.79.1)
+ '@rollup/plugin-commonjs': 17.1.0(rollup@2.79.1)
+ '@rollup/plugin-json': 4.1.0(rollup@2.79.1)
+ '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1)
+ '@surma/rollup-plugin-off-main-thread': 2.2.3
+ asyncro: 3.0.0
+ autoprefixer: 10.4.16(postcss@8.4.31)
+ babel-plugin-macros: 3.1.0
+ babel-plugin-transform-async-to-promises: 0.8.18
+ babel-plugin-transform-replace-expressions: 0.2.0(@babel/core@7.23.7)
+ brotli-size: 4.0.0
+ builtin-modules: 3.3.0
+ camelcase: 6.3.0
+ escape-string-regexp: 4.0.0
+ filesize: 6.4.0
+ gzip-size: 6.0.0
+ kleur: 4.1.5
+ lodash.merge: 4.6.2
+ postcss: 8.4.31
+ pretty-bytes: 5.6.0
+ rollup: 2.79.1
+ rollup-plugin-bundle-size: 1.0.3
+ rollup-plugin-postcss: 4.0.2(postcss@8.4.31)
+ rollup-plugin-terser: 7.0.2(rollup@2.79.1)
+ rollup-plugin-typescript2: 0.32.1(rollup@2.79.1)(typescript@4.9.5)
+ rollup-plugin-visualizer: 5.12.0(rollup@2.79.1)
+ sade: 1.8.1
+ terser: 5.21.0
+ tiny-glob: 0.2.9
+ tslib: 2.6.2
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - '@types/babel__core'
+ - supports-color
+ - ts-node
+ dev: true
+
/micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
@@ -2932,6 +5115,13 @@ packages:
brace-expansion: 1.1.11
dev: true
+ /minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
/minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: true
@@ -2947,9 +5137,9 @@ packages:
minimist: 1.2.8
dev: true
- /mrmime@1.0.1:
- resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
- engines: {node: '>=10'}
+ /mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
dev: true
/ms@2.0.0:
@@ -2982,10 +5172,9 @@ packages:
resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==}
engines: {node: ^14 || ^16 || >=18}
hasBin: true
- dev: true
- /nanoid@5.0.3:
- resolution: {integrity: sha512-I7X2b22cxA4LIHXPSqbBCEQSL+1wv8TuoefejsX4HFWyC6jc5JG7CEaxOltiKjc1M+YCS2YkrZZcj4+dytw9GA==}
+ /nanoid@5.0.4:
+ resolution: {integrity: sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==}
engines: {node: ^18 || >=20}
hasBin: true
dev: false
@@ -3031,6 +5220,10 @@ packages:
resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
dev: true
+ /node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+ dev: true
+
/nodejs-file-downloader@4.12.1:
resolution: {integrity: sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==}
dependencies:
@@ -3048,6 +5241,16 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /normalize-url@6.1.0:
+ resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
+ engines: {node: '>=10'}
+ dev: true
+
/npm-run-path@4.0.1:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
@@ -3068,10 +5271,39 @@ packages:
boolbase: 1.0.0
dev: true
+ /number-is-nan@1.0.1:
+ resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/object-inspect@1.12.3:
resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
dev: true
+ /object-inspect@1.13.1:
+ resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
+ dev: true
+
+ /object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /object.assign@4.1.5:
+ resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+ dev: true
+
/obuf@1.1.2:
resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
dev: true
@@ -3117,11 +5349,6 @@ packages:
is-wsl: 2.2.0
dev: true
- /opener@1.5.2:
- resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
- hasBin: true
- dev: true
-
/optionator@0.9.3:
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
engines: {node: '>= 0.8.0'}
@@ -3134,6 +5361,11 @@ packages:
type-check: 0.4.0
dev: true
+ /p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+ dev: true
+
/p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
@@ -3162,6 +5394,14 @@ packages:
p-limit: 3.1.0
dev: true
+ /p-queue@6.6.2:
+ resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ eventemitter3: 4.0.7
+ p-timeout: 3.2.0
+ dev: true
+
/p-retry@4.6.2:
resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
engines: {node: '>=8'}
@@ -3170,6 +5410,13 @@ packages:
retry: 0.13.1
dev: true
+ /p-timeout@3.2.0:
+ resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-finally: 1.0.0
+ dev: true
+
/p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
@@ -3250,7 +5497,6 @@ packages:
'@types/estree': 1.0.2
estree-walker: 3.0.3
is-reference: 3.0.2
- dev: true
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
@@ -3261,6 +5507,11 @@ packages:
engines: {node: '>=8.6'}
dev: true
+ /pify@5.0.0:
+ resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==}
+ engines: {node: '>=10'}
+ dev: true
+
/pkg-dir@4.2.0:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
@@ -3268,14 +5519,101 @@ packages:
find-up: 4.1.0
dev: true
- /postcss-loader@7.3.3(postcss@8.4.31)(typescript@5.2.2)(webpack@5.89.0):
- resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==}
+ /postcss-calc@8.2.4(postcss@8.4.31):
+ resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
+ peerDependencies:
+ postcss: ^8.2.2
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-colormin@5.3.1(postcss@8.4.31):
+ resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.22.1
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-convert-values@5.1.3(postcss@8.4.31):
+ resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.22.1
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-discard-comments@5.1.2(postcss@8.4.31):
+ resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-discard-duplicates@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-discard-empty@5.1.1(postcss@8.4.31):
+ resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-discard-overridden@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-load-config@3.1.4(postcss@8.4.31):
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 2.1.0
+ postcss: 8.4.31
+ yaml: 1.10.2
+ dev: true
+
+ /postcss-loader@7.3.4(postcss@8.4.31)(typescript@5.3.3)(webpack@5.89.0):
+ resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==}
engines: {node: '>= 14.15.0'}
peerDependencies:
postcss: ^7.0.0 || ^8.0.1
webpack: ^5.0.0
dependencies:
- cosmiconfig: 8.3.6(typescript@5.2.2)
+ cosmiconfig: 8.3.6(typescript@5.3.3)
jiti: 1.20.0
postcss: 8.4.31
semver: 7.5.4
@@ -3284,6 +5622,74 @@ packages:
- typescript
dev: true
+ /postcss-merge-longhand@5.1.7(postcss@8.4.31):
+ resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ stylehacks: 5.1.1(postcss@8.4.31)
+ dev: true
+
+ /postcss-merge-rules@5.1.4(postcss@8.4.31):
+ resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.22.1
+ caniuse-api: 3.0.0
+ cssnano-utils: 3.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /postcss-minify-font-values@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-minify-gradients@5.1.1(postcss@8.4.31):
+ resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 3.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-minify-params@5.1.4(postcss@8.4.31):
+ resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.22.1
+ cssnano-utils: 3.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-minify-selectors@5.2.1(postcss@8.4.31):
+ resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
/postcss-modules-extract-imports@3.0.0(postcss@8.4.31):
resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
engines: {node: ^10 || ^12 || >= 14}
@@ -3325,6 +5731,145 @@ packages:
postcss: 8.4.31
dev: true
+ /postcss-modules@4.3.1(postcss@8.4.31):
+ resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ generic-names: 4.0.0
+ icss-replace-symbols: 1.1.0
+ lodash.camelcase: 4.3.0
+ postcss: 8.4.31
+ postcss-modules-extract-imports: 3.0.0(postcss@8.4.31)
+ postcss-modules-local-by-default: 4.0.3(postcss@8.4.31)
+ postcss-modules-scope: 3.0.0(postcss@8.4.31)
+ postcss-modules-values: 4.0.0(postcss@8.4.31)
+ string-hash: 1.1.3
+ dev: true
+
+ /postcss-normalize-charset@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-normalize-display-values@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-positions@5.1.1(postcss@8.4.31):
+ resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-repeat-style@5.1.1(postcss@8.4.31):
+ resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-string@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-timing-functions@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-unicode@5.1.1(postcss@8.4.31):
+ resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.22.1
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-url@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ normalize-url: 6.1.0
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-whitespace@5.1.1(postcss@8.4.31):
+ resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-ordered-values@5.1.3(postcss@8.4.31):
+ resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-utils: 3.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-reduce-initial@5.1.2(postcss@8.4.31):
+ resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.22.1
+ caniuse-api: 3.0.0
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-reduce-transforms@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
/postcss-selector-parser@6.0.13:
resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
engines: {node: '>=4'}
@@ -3333,6 +5878,27 @@ packages:
util-deprecate: 1.0.2
dev: true
+ /postcss-svgo@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ svgo: 2.8.0
+ dev: true
+
+ /postcss-unique-selectors@5.1.1(postcss@8.4.31):
+ resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
/postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
dev: true
@@ -3378,10 +5944,22 @@ packages:
svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
dev: true
- /prettier@3.0.3:
- resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==}
- engines: {node: '>=14'}
- hasBin: true
+ /prettier@3.0.3:
+ resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ /pretty-bytes@3.0.1:
+ resolution: {integrity: sha512-eb7ZAeUTgfh294cElcu51w+OTRp/6ItW758LjwJSK72LDevcuJn0P4eD71PLMDGPwwatXmAmYHTkzvpKlJE3ow==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ number-is-nan: 1.0.1
+ dev: true
+
+ /pretty-bytes@5.6.0:
+ resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
+ engines: {node: '>=6'}
dev: true
/pretty-error@4.0.0:
@@ -3395,6 +5973,11 @@ packages:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
dev: true
+ /promise.series@0.2.0:
+ resolution: {integrity: sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==}
+ engines: {node: '>=0.12'}
+ dev: true
+
/proxy-addr@2.0.7:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
engines: {node: '>= 0.10'}
@@ -3475,22 +6058,67 @@ packages:
resolve: 1.22.8
dev: true
+ /regenerate-unicode-properties@10.1.1:
+ resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ dev: true
+
+ /regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ dev: true
+
/regenerator-runtime@0.14.0:
resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
dev: true
+ /regenerator-transform@0.15.2:
+ resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
+ dependencies:
+ '@babel/runtime': 7.23.2
+ dev: true
+
+ /regexp.prototype.flags@1.5.1:
+ resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ set-function-name: 2.0.1
+ dev: true
+
/regexparam@2.0.1:
resolution: {integrity: sha512-zRgSaYemnNYxUv+/5SeoHI0eJIgTL/A2pUtXUPLHQxUldagouJ9p+K6IbIZ/JiQuCEv2E2B1O11SjVQy3aMCkw==}
engines: {node: '>=8'}
dev: true
+ /regexpu-core@5.3.2:
+ resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ '@babel/regjsgen': 0.8.0
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.1.1
+ regjsparser: 0.9.1
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.1.0
+ dev: true
+
+ /regjsparser@0.9.1:
+ resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
+ hasBin: true
+ dependencies:
+ jsesc: 0.5.0
+ dev: true
+
/relateurl@0.2.7:
resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
engines: {node: '>= 0.10'}
dev: true
- /remixicon@3.7.0:
- resolution: {integrity: sha512-FFbVLRCaTtsSDe/l9JX+lT/zzm9V3kYbda25lzsy3ML5FHv/bGVKiHwZSlCo/IMhBD1/CK6SGIruyfiq4bbsuQ==}
+ /remixicon@4.0.1:
+ resolution: {integrity: sha512-Apa13Q01mFIuQEMvSVni8NnF9cV0vud9YXb2prQ+g3jmWpxKoFCL+yIiQ+9JCeLptdGKyoqVjCYOwwBQVHdciQ==}
dev: false
/renderkid@3.0.0:
@@ -3567,6 +6195,96 @@ packages:
glob: 7.2.3
dev: true
+ /rollup-plugin-bundle-size@1.0.3:
+ resolution: {integrity: sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ==}
+ dependencies:
+ chalk: 1.1.3
+ maxmin: 2.1.0
+ dev: true
+
+ /rollup-plugin-postcss@4.0.2(postcss@8.4.31):
+ resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ postcss: 8.x
+ dependencies:
+ chalk: 4.1.2
+ concat-with-sourcemaps: 1.1.0
+ cssnano: 5.1.15(postcss@8.4.31)
+ import-cwd: 3.0.0
+ p-queue: 6.6.2
+ pify: 5.0.0
+ postcss: 8.4.31
+ postcss-load-config: 3.1.4(postcss@8.4.31)
+ postcss-modules: 4.3.1(postcss@8.4.31)
+ promise.series: 0.2.0
+ resolve: 1.22.8
+ rollup-pluginutils: 2.8.2
+ safe-identifier: 0.4.2
+ style-inject: 0.3.0
+ transitivePeerDependencies:
+ - ts-node
+ dev: true
+
+ /rollup-plugin-terser@7.0.2(rollup@2.79.1):
+ resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
+ peerDependencies:
+ rollup: ^2.0.0
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ jest-worker: 26.6.2
+ rollup: 2.79.1
+ serialize-javascript: 4.0.0
+ terser: 5.21.0
+ dev: true
+
+ /rollup-plugin-typescript2@0.32.1(rollup@2.79.1)(typescript@4.9.5):
+ resolution: {integrity: sha512-RanO8bp1WbeMv0bVlgcbsFNCn+Y3rX7wF97SQLDxf0fMLsg0B/QFF005t4AsGUcDgF3aKJHoqt4JF2xVaABeKw==}
+ peerDependencies:
+ rollup: '>=1.26.3'
+ typescript: '>=2.4.0'
+ dependencies:
+ '@rollup/pluginutils': 4.2.1
+ find-cache-dir: 3.3.2
+ fs-extra: 10.1.0
+ resolve: 1.22.8
+ rollup: 2.79.1
+ tslib: 2.6.2
+ typescript: 4.9.5
+ dev: true
+
+ /rollup-plugin-visualizer@5.12.0(rollup@2.79.1):
+ resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+ peerDependencies:
+ rollup: 2.x || 3.x || 4.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ open: 8.4.2
+ picomatch: 2.3.1
+ rollup: 2.79.1
+ source-map: 0.7.4
+ yargs: 17.7.2
+ dev: true
+
+ /rollup-pluginutils@2.8.2:
+ resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
+ dependencies:
+ estree-walker: 0.6.1
+ dev: true
+
+ /rollup@2.79.1:
+ resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
/run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
@@ -3579,6 +6297,23 @@ packages:
tslib: 2.6.2
dev: true
+ /sade@1.8.1:
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
+ engines: {node: '>=6'}
+ dependencies:
+ mri: 1.2.0
+ dev: true
+
+ /safe-array-concat@1.0.1:
+ resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
+ engines: {node: '>=0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+ dev: true
+
/safe-buffer@5.1.2:
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
dev: true
@@ -3587,6 +6322,18 @@ packages:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
dev: true
+ /safe-identifier@0.4.2:
+ resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==}
+ dev: true
+
+ /safe-regex-test@1.0.0:
+ resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ is-regex: 1.1.4
+ dev: true
+
/safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
dev: true
@@ -3640,6 +6387,11 @@ packages:
node-forge: 1.3.1
dev: true
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+ dev: true
+
/semver@7.5.4:
resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
engines: {node: '>=10'}
@@ -3669,6 +6421,12 @@ packages:
- supports-color
dev: true
+ /serialize-javascript@4.0.0:
+ resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
+ dependencies:
+ randombytes: 2.1.0
+ dev: true
+
/serialize-javascript@6.0.1:
resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==}
dependencies:
@@ -3702,6 +6460,25 @@ packages:
- supports-color
dev: true
+ /set-function-length@1.1.1:
+ resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ get-intrinsic: 1.2.2
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ dev: true
+
+ /set-function-name@2.0.1:
+ resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.1
+ dev: true
+
/setprototypeof@1.1.0:
resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
dev: true
@@ -3750,15 +6527,6 @@ packages:
engines: {node: '>=14'}
dev: true
- /sirv@2.0.3:
- resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
- engines: {node: '>= 10'}
- dependencies:
- '@polka/url': 1.0.0-next.24
- mrmime: 1.0.1
- totalist: 3.0.1
- dev: true
-
/slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
@@ -3794,7 +6562,6 @@ packages:
/source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
- dev: true
/source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
@@ -3818,6 +6585,11 @@ packages:
engines: {node: '>= 8'}
dev: true
+ /sourcemap-codec@1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
+ dev: true
+
/spawn-command@0.0.2:
resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
dev: true
@@ -3869,6 +6641,11 @@ packages:
- supports-color
dev: true
+ /stable@0.1.8:
+ resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+ dev: true
+
/statuses@1.5.0:
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
engines: {node: '>= 0.6'}
@@ -3879,6 +6656,10 @@ packages:
engines: {node: '>= 0.8'}
dev: true
+ /string-hash@1.1.3:
+ resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==}
+ dev: true
+
/string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -3888,6 +6669,45 @@ packages:
strip-ansi: 6.0.1
dev: true
+ /string.prototype.matchall@4.0.10:
+ resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.6
+ regexp.prototype.flags: 1.5.1
+ set-function-name: 2.0.1
+ side-channel: 1.0.4
+ dev: true
+
+ /string.prototype.trim@1.2.8:
+ resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ dev: true
+
+ /string.prototype.trimend@1.0.7:
+ resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ dev: true
+
+ /string.prototype.trimstart@1.0.7:
+ resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ dev: true
+
/string_decoder@1.1.1:
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
dependencies:
@@ -3900,6 +6720,13 @@ packages:
safe-buffer: 5.2.1
dev: true
+ /strip-ansi@3.0.1:
+ resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -3929,6 +6756,10 @@ packages:
engines: {node: '>=8'}
dev: true
+ /style-inject@0.3.0:
+ resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==}
+ dev: true
+
/style-loader@3.3.3(webpack@5.89.0):
resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==}
engines: {node: '>= 12.13.0'}
@@ -3938,6 +6769,22 @@ packages:
webpack: 5.89.0(webpack-cli@5.1.4)
dev: true
+ /stylehacks@5.1.1(postcss@8.4.31):
+ resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.22.1
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /supports-color@2.0.0:
+ resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
+ engines: {node: '>=0.8.0'}
+ dev: true
+
/supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -3988,9 +6835,9 @@ packages:
svelte-hmr: 0.14.12(svelte@4.2.8)
dev: true
- /svelte-preprocess@5.1.2(postcss@8.4.31)(svelte@4.2.8)(typescript@5.2.2):
- resolution: {integrity: sha512-XF0aliMAcYnP4hLETvB6HRAMnaL09ASYT1Z2I1Gwu0nz6xbdg/dSgAEthtFZJA4AKrNhFDFdmUDO+H9d/6xg5g==}
- engines: {node: '>= 14.10.0'}
+ /svelte-preprocess@5.1.3(postcss@8.4.31)(svelte@4.2.8)(typescript@5.3.3):
+ resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==}
+ engines: {node: '>= 16.0.0', pnpm: ^8.0.0}
requiresBuild: true
peerDependencies:
'@babel/core': ^7.10.2
@@ -4028,12 +6875,12 @@ packages:
dependencies:
'@types/pug': 2.0.7
detect-indent: 6.1.0
- magic-string: 0.27.0
+ magic-string: 0.30.5
postcss: 8.4.31
sorcery: 0.11.0
strip-indent: 3.0.0
svelte: 4.2.8(patch_hash=cm43hmf4gczhssi3isoosy53r4)
- typescript: 5.2.2
+ typescript: 5.3.3
dev: true
/svelte-sequential-preprocessor@2.0.1:
@@ -4059,14 +6906,26 @@ packages:
estree-walker: 3.0.3
is-reference: 3.0.2
locate-character: 3.0.0
- magic-string: 0.30.4
+ magic-string: 0.30.5
periscopic: 3.1.0
- dev: true
patched: true
+ /svgo@2.8.0:
+ resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 4.3.0
+ css-tree: 1.1.3
+ csso: 4.2.0
+ picocolors: 1.0.0
+ stable: 0.1.8
+ dev: true
+
/tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
- dev: true
/tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
@@ -4116,6 +6975,13 @@ packages:
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
dev: true
+ /tiny-glob@0.2.9:
+ resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
+ dependencies:
+ globalyzer: 0.1.0
+ globrex: 0.1.2
+ dev: true
+
/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@@ -4133,11 +6999,6 @@ packages:
engines: {node: '>=0.6'}
dev: true
- /totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
- dev: true
-
/tree-kill@1.2.2:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
@@ -4158,8 +7019,8 @@ packages:
typescript: 5.2.2
dev: true
- /ts-loader@9.5.0(typescript@5.2.2)(webpack@5.89.0):
- resolution: {integrity: sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==}
+ /ts-loader@9.5.1(typescript@5.3.3)(webpack@5.89.0):
+ resolution: {integrity: sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==}
engines: {node: '>=12.0.0'}
peerDependencies:
typescript: '*'
@@ -4170,13 +7031,12 @@ packages:
micromatch: 4.0.5
semver: 7.5.4
source-map: 0.7.4
- typescript: 5.2.2
+ typescript: 5.3.3
webpack: 5.89.0(webpack-cli@5.1.4)
dev: true
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
- dev: true
/type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
@@ -4198,15 +7058,102 @@ packages:
mime-types: 2.1.35
dev: true
+ /typed-array-buffer@1.0.0:
+ resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-length@1.0.0:
+ resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-offset@1.0.0:
+ resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-length@1.0.4:
+ resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
+ dependencies:
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typescript@4.9.5:
+ resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+ dev: true
+
/typescript@5.2.2:
resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
engines: {node: '>=14.17'}
hasBin: true
+ dev: true
+
+ /typescript@5.3.3:
+ resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ /unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ dependencies:
+ call-bind: 1.0.5
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: true
/undici-types@5.25.3:
resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==}
dev: true
+ /unicode-canonical-property-names-ecmascript@2.0.0:
+ resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.0
+ unicode-property-aliases-ecmascript: 2.1.0
+ dev: true
+
+ /unicode-match-property-value-ecmascript@2.1.0:
+ resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+ dev: true
+
/unpipe@1.0.0:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
@@ -4223,6 +7170,17 @@ packages:
picocolors: 1.0.0
dev: true
+ /update-browserslist-db@1.0.13(browserslist@4.22.2):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.22.2
+ escalade: 3.1.1
+ picocolors: 1.0.0
+ dev: true
+
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
@@ -4270,30 +7228,7 @@ packages:
minimalistic-assert: 1.0.1
dev: true
- /webpack-bundle-analyzer@4.10.1:
- resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==}
- engines: {node: '>= 10.13.0'}
- hasBin: true
- dependencies:
- '@discoveryjs/json-ext': 0.5.7
- acorn: 8.10.0
- acorn-walk: 8.3.1
- commander: 7.2.0
- debounce: 1.2.1
- escape-string-regexp: 4.0.0
- gzip-size: 6.0.0
- html-escaper: 2.0.2
- is-plain-object: 5.0.0
- opener: 1.5.2
- picocolors: 1.0.0
- sirv: 2.0.3
- ws: 7.5.9
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
- dev: true
-
- /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.1)(webpack@5.89.0):
+ /webpack-cli@5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0):
resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==}
engines: {node: '>=14.15.0'}
hasBin: true
@@ -4323,7 +7258,6 @@ packages:
interpret: 3.1.1
rechoir: 0.8.0
webpack: 5.89.0(webpack-cli@5.1.4)
- webpack-bundle-analyzer: 4.10.1
webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0)
webpack-merge: 5.9.0
dev: true
@@ -4384,7 +7318,7 @@ packages:
sockjs: 0.3.24
spdy: 4.0.2
webpack: 5.89.0(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
webpack-dev-middleware: 5.3.3(webpack@5.89.0)
ws: 8.14.2
transitivePeerDependencies:
@@ -4457,7 +7391,7 @@ packages:
tapable: 2.2.1
terser-webpack-plugin: 5.3.9(webpack@5.89.0)
watchpack: 2.4.0
- webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.1)(webpack@5.89.0)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0)
webpack-sources: 3.2.3
transitivePeerDependencies:
- '@swc/core'
@@ -4479,6 +7413,27 @@ packages:
engines: {node: '>=0.8.0'}
dev: true
+ /which-boxed-primitive@1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: true
+
+ /which-typed-array@1.1.13:
+ resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.0
+ dev: true
+
/which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -4504,19 +7459,6 @@ packages:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: true
- /ws@7.5.9:
- resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
- engines: {node: '>=8.3.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
- dev: true
-
/ws@8.14.2:
resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==}
engines: {node: '>=10.0.0'}
@@ -4535,10 +7477,19 @@ packages:
engines: {node: '>=10'}
dev: true
+ /yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ dev: true
+
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
dev: true
+ /yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+ dev: true
+
/yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
@@ -4562,12 +7513,7 @@ packages:
engines: {node: '>=10'}
dev: true
- /zora@5.2.0:
- resolution: {integrity: sha512-FSZOvfJVfMWhk/poictNsDBCXq/Z+2Zu2peWs6d8OhWWb9nY++czw95D47hdw06L/kfjasLevwrbUtnXyWLAJw==}
- dev: true
-
github.com/quark-platform/gecko-types/e4efe38ce26c3617d7a3ecb13491bca2004e0377:
resolution: {tarball: https://codeload.github.com/quark-platform/gecko-types/tar.gz/e4efe38ce26c3617d7a3ecb13491bca2004e0377}
name: gecko-types
version: 1.0.0
- dev: true
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..ce42121
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,3 @@
+packages:
+ - apps/*
+ - lib/*
diff --git a/src/actors/ContextMenu.types.ts b/src/actors/ContextMenu.types.ts
deleted file mode 100644
index ee99fb7..0000000
--- a/src/actors/ContextMenu.types.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-// NOTE: This file should only have types imported from it. Its contents will not be
-// available at runtime
-
-export interface MediaInfo {
- contentType?: string
- contentDisposition?: string
-}
-
-export interface ContextMenuInfo {
- position: {
- screenX: number
- screenY: number
- inputSource: number
- }
-
- context: {
- principal?: nsIPrincipalType
- referrerInfo?: string
- }
-
- mediaInfo?: MediaInfo
-
- textSelection?: string
- href?: string
- imageSrc?: string
-}
diff --git a/src/actors/link.json b/src/actors/link.json
deleted file mode 100644
index 3435b4d..0000000
--- a/src/actors/link.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- "ClickHandlerChild",
- "ClickHandlerParent",
- "ContextMenuChild",
- "ContextMenuParent",
- "LinkHandlerChild",
- "LinkHandlerParent"
-]
diff --git a/src/modules/BrowserWindowTracker.ts b/src/modules/BrowserWindowTracker.ts
deleted file mode 100644
index bb5ed6d..0000000
--- a/src/modules/BrowserWindowTracker.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/* eslint-disable @typescript-eslint/no-explicit-any */
-import mitt from 'resource://app/modules/mitt.sys.mjs'
-
-type Tab = unknown
-
-export type WindowTrackerEvents = {
- windowCreated: Window & typeof globalThis
- windowDestroyed: Window & typeof globalThis
-
- focus: Window & typeof globalThis
-}
-
-export const WindowTracker = {
- /**
- * @private
- */
- nextWindowId: 0,
-
- events: mitt(),
-
- activeWindow: null as number | null,
- registeredWindows: new Map(),
-
- /**
- * Registers a new browser window to be tracked
- *
- * @param w The window to register
- */
- registerWindow(w: typeof window) {
- ;(w as any).windowApi.id = this.nextWindowId++
- this.registeredWindows.set((w as any).windowApi.id, w)
- this.events.emit('windowCreated', w)
- },
-
- removeWindow(w: typeof window) {
- this.registeredWindows.delete((w as any).windowApi.id)
- this.events.emit('windowDestroyed', w)
- },
-
- getWindowById(wid: number) {
- return this.registeredWindows.get(wid)
- },
-
- getWindowWithBrowser(
- browser: XULBrowserElement,
- ): { window: Window & typeof globalThis; tab: Tab } | null {
- for (const window of this.registeredWindows.values()) {
- const tab = (window as any).windowApi.tabs.tabs.find(
- (t: Tab) => (t as any).getTabId() === browser.browserId,
- )
- if (tab) return { window, tab }
- }
- return null
- },
-
- focusWindow(id: number) {
- this.activeWindow = id
- this.events.emit('focus', this.getActiveWindow()!)
- },
-
- getActiveWindow(): (typeof window & typeof globalThis) | undefined {
- return this.registeredWindows.get(this.activeWindow ?? -1)
- },
-}
diff --git a/src/modules/EPageActions.ts b/src/modules/EPageActions.ts
deleted file mode 100644
index 4fb1c55..0000000
--- a/src/modules/EPageActions.ts
+++ /dev/null
@@ -1,133 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-///
-import mitt from 'resource://app/modules/mitt.sys.mjs'
-
-export type PageActionsEvents = {
- register: {
- extension: string
- action: PageAction
- }
-
- remove: {
- extension: string
- action: PageAction
- }
-}
-
-/**
- * The following features are not going to be supported, primarily because I see
- * no good reason for including support
- * - `browser_style`: There is no documentation for this, provide a browser
- * style component library instead
- * - `pinned`: For the moment, I don't feel like pinning page actions
- *
- * @todo analytics to see how many page actions people have. If there are a few
- * power users, we might want to implement `pinned`
- */
-export interface PageActionOptions {
- /**
- * The tooltip displayed when the user hovers over the action button.
- *
- * @key `default_title`
- */
- tooltip?: string
-
- /**
- * The url of the popup to show when the icon is clicked. If this url does not
- * exist, clicking the icon will send an event back to the extension.
- *
- * @key `default_popup`
- */
- popupUrl?: string
-
- /**
- * @key `show_matches`
- */
- showMatches?: PS
-
- /**
- * @key `hide_matches`
- */
- hideMatches?: PS
-
- icons?: Record
-}
-
-export type PageActionEvents = {
- updateIcon: Record | undefined
- click: { clickData: { modifiers: string[]; button: number } }
-}
-
-export class PageAction implements PageActionOptions {
- events = mitt()
-
- tooltip?: string
- popupUrl?: string
- showMatches: MatchPatternSet
- hideMatches: MatchPatternSet
- icons?: Record
-
- showTabIds = new Set()
- hideTabIds = new Set()
-
- constructor(data: PageActionOptions) {
- this.tooltip = data.tooltip
- this.popupUrl = data.popupUrl
- this.showMatches = new MatchPatternSet(data.showMatches || [])
- this.hideMatches = new MatchPatternSet(data.hideMatches || [])
- }
-
- shouldShow(url: string, tabId: number) {
- const urlMatch =
- this.showMatches.matches(url) &&
- !this.hideMatches.matches(url, true) &&
- !this.hideTabIds.has(tabId)
- const idMatch = this.showTabIds.has(tabId)
-
- return urlMatch || idMatch
- }
-
- setIcons(icons: Record) {
- this.icons = icons
- this.events.emit('updateIcon', icons)
- }
-
- addShow(id: number) {
- this.showTabIds.add(id)
- this.hideTabIds.delete(id)
- }
-
- addHide(id: number) {
- this.hideTabIds.add(id)
- this.showTabIds.delete(id)
- }
-}
-
-export const EPageActions = {
- events: mitt(),
-
- PageAction,
- pageActions: new Map(),
-
- registerPageAction(extensionId: string, pageAction: PageAction) {
- if (EPageActions.pageActions.has(extensionId)) {
- EPageActions.removePageAction(extensionId)
- }
-
- EPageActions.pageActions.set(extensionId, pageAction)
- EPageActions.events.emit('register', {
- action: pageAction,
- extension: extensionId,
- })
- },
-
- removePageAction(extensionId: string) {
- const action = EPageActions.pageActions.get(extensionId)
- if (!action) return
-
- EPageActions.pageActions.delete(extensionId)
- EPageActions.events.emit('remove', { action, extension: extensionId })
- },
-}
diff --git a/src/modules/link.json b/src/modules/link.json
deleted file mode 100644
index e331a4d..0000000
--- a/src/modules/link.json
+++ /dev/null
@@ -1 +0,0 @@
-["BrowserGlue", "BrowserWindowTracker", "EPageActions", "TypedImportUtils"]
diff --git a/static/chrome/en-US/locale/branding/brand.properties b/static/chrome/en-US/locale/branding/brand.properties
deleted file mode 100644
index 5b0b84c..0000000
--- a/static/chrome/en-US/locale/branding/brand.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-brandShorterName=Experiment
-brandShortName=Experiment
-brandFullName=Experiment
diff --git a/static/chrome/link.json b/static/chrome/link.json
deleted file mode 100644
index de5f11d..0000000
--- a/static/chrome/link.json
+++ /dev/null
@@ -1 +0,0 @@
-["en-US/locale/branding/brand.properties"]
diff --git a/static/modules/link.json b/static/modules/link.json
deleted file mode 100644
index 04e13bf..0000000
--- a/static/modules/link.json
+++ /dev/null
@@ -1 +0,0 @@
-["sessionstore/SessionStore", "FaviconLoader", "mitt"]
From 94239662130eaaa392c9133e0e2ad02b3aa52784 Mon Sep 17 00:00:00 2001
From: trickypr <23250792+trickypr@users.noreply.github.com>
Date: Tue, 2 Jan 2024 14:15:54 +1100
Subject: [PATCH 02/10] =?UTF-8?q?=F0=9F=9A=A7=20Get=20webpack=20building?=
=?UTF-8?q?=20again?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
apps/content/package.json | 10 +++++---
apps/content/src/bookmarks/bookmarks.ts | 1 -
.../lib/modules/EPageActionsBindings.ts | 4 ++--
apps/content/src/browser/lib/window/api.ts | 1 -
.../src/browser/lib/window/contextMenu.ts | 6 -----
.../src/shared/contextMenus/MenuItem.ts | 1 -
.../src/shared/contextMenus/menuItems.ts | 5 +---
apps/content/src/shared/styles/global.css | 2 +-
apps/content/src/types.d.ts | 1 +
apps/content/tsconfig.json | 23 +++++++++++++++++++
{.config => apps/content}/webpack.config.js | 12 ++++------
apps/modules/lib/EPageActions.sys.mjs | 4 +++-
lib/link/types/_link.d.ts | 1 +
lib/link/types/modules/EPageActions.d.ts | 1 +
package.json | 6 -----
pnpm-lock.yaml | 13 +++++++++++
tsconfig.json | 14 -----------
17 files changed, 58 insertions(+), 47 deletions(-)
create mode 100644 apps/content/tsconfig.json
rename {.config => apps/content}/webpack.config.js (93%)
delete mode 100644 tsconfig.json
diff --git a/apps/content/package.json b/apps/content/package.json
index 2fd54f3..f69e4e5 100644
--- a/apps/content/package.json
+++ b/apps/content/package.json
@@ -2,15 +2,18 @@
"name": "content",
"version": "1.0.0",
"description": "",
- "main": "index.js",
+ "type": "module",
"scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
+ "dev": "webpack serve --mode development",
+ "build": "webpack --mode production"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
+ "@browser/link": "workspace:*",
"@melt-ui/pp": "^0.3.0",
+ "@total-typescript/ts-reset": "^0.5.1",
"@tsconfig/svelte": "^5.0.2",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.8.1",
@@ -36,6 +39,7 @@
"mitt": "^3.0.1",
"nanoid": "^5.0.4",
"remixicon": "^4.0.1",
- "snarkdown": "^2.0.0"
+ "snarkdown": "^2.0.0",
+ "zora": "^5.2.0"
}
}
diff --git a/apps/content/src/bookmarks/bookmarks.ts b/apps/content/src/bookmarks/bookmarks.ts
index cefcc53..ef5c124 100644
--- a/apps/content/src/bookmarks/bookmarks.ts
+++ b/apps/content/src/bookmarks/bookmarks.ts
@@ -1,7 +1,6 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-///
import 'remixicon/fonts/remixicon.css'
import '@shared/styles/window.css'
diff --git a/apps/content/src/browser/lib/modules/EPageActionsBindings.ts b/apps/content/src/browser/lib/modules/EPageActionsBindings.ts
index 21444a5..ff22c67 100644
--- a/apps/content/src/browser/lib/modules/EPageActionsBindings.ts
+++ b/apps/content/src/browser/lib/modules/EPageActionsBindings.ts
@@ -3,7 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
import { readable } from 'svelte/store'
-import type { PageAction } from 'resource://app/modules/EPageActions.sys.mjs'
+import type { PageActionImpl } from 'resource://app/modules/EPageActions.sys.mjs'
import { resource } from '../resources'
@@ -19,7 +19,7 @@ export const pageActions = readable(
},
)
-export const pageActionIcons = (pageAction: PageAction) =>
+export const pageActionIcons = (pageAction: PageActionImpl) =>
readable | undefined>(pageAction.icons, (set) =>
pageAction.events.on('updateIcon', set),
)
diff --git a/apps/content/src/browser/lib/window/api.ts b/apps/content/src/browser/lib/window/api.ts
index 45094d4..d368f11 100644
--- a/apps/content/src/browser/lib/window/api.ts
+++ b/apps/content/src/browser/lib/window/api.ts
@@ -4,7 +4,6 @@
import mitt from 'mitt'
import type { WindowArguments } from '.'
-import type { ContextMenuInfo } from '../../../../actors/ContextMenu.types'
import {
browserContextMenuInfo,
setContextMenuParentActor,
diff --git a/apps/content/src/browser/lib/window/contextMenu.ts b/apps/content/src/browser/lib/window/contextMenu.ts
index 5ad8cd5..67ae667 100644
--- a/apps/content/src/browser/lib/window/contextMenu.ts
+++ b/apps/content/src/browser/lib/window/contextMenu.ts
@@ -1,14 +1,8 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
import { writable } from 'svelte/store'
-import type { ContextMenuInfo } from '../../../../actors/ContextMenu.types'
-
-// Reexport to reduce the number of references ot the actors folder
-export type { ContextMenuInfo }
-
export let contextMenuParentActor: JSWindowActorParent
export const browserContextMenuInfo = writable({
position: { screenX: 0, screenY: 0, inputSource: 0 },
diff --git a/apps/content/src/shared/contextMenus/MenuItem.ts b/apps/content/src/shared/contextMenus/MenuItem.ts
index faff7b7..4fec197 100644
--- a/apps/content/src/shared/contextMenus/MenuItem.ts
+++ b/apps/content/src/shared/contextMenus/MenuItem.ts
@@ -3,7 +3,6 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
import { dynamicStringPref } from '@shared/svelteUtils'
-import type { ContextMenuInfo } from '../../../actors/ContextMenu.types'
import { MENU_ITEM_ACTIONS } from './menuItems'
/**
diff --git a/apps/content/src/shared/contextMenus/menuItems.ts b/apps/content/src/shared/contextMenus/menuItems.ts
index 3b5054a..6b460a9 100644
--- a/apps/content/src/shared/contextMenus/menuItems.ts
+++ b/apps/content/src/shared/contextMenus/menuItems.ts
@@ -4,10 +4,7 @@
import curry from 'fnts/curry'
import { resource } from '@browser/lib/resources'
-import {
- type ContextMenuInfo,
- contextMenuParentActor,
-} from '@browser/lib/window/contextMenu'
+import { contextMenuParentActor } from '@browser/lib/window/contextMenu'
import { getClipboardHelper } from '@browser/lib/xul/ccWrapper'
import type { MenuItemAction, VisibilityCheck } from '.'
diff --git a/apps/content/src/shared/styles/global.css b/apps/content/src/shared/styles/global.css
index 4b13e2b..c090131 100644
--- a/apps/content/src/shared/styles/global.css
+++ b/apps/content/src/shared/styles/global.css
@@ -2,7 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-@import '@catppuccin/palette/style';
+@import '@catppuccin/palette/css/catppuccin.css';
/**
* Note that CSS color naming follows the same conventions that catppuccin uses
diff --git a/apps/content/src/types.d.ts b/apps/content/src/types.d.ts
index fdf1dc8..b7afc45 100644
--- a/apps/content/src/types.d.ts
+++ b/apps/content/src/types.d.ts
@@ -3,6 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
///
///
+///
///
///
diff --git a/apps/content/tsconfig.json b/apps/content/tsconfig.json
new file mode 100644
index 0000000..fbcffc8
--- /dev/null
+++ b/apps/content/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "extends": "@tsconfig/svelte/tsconfig.json",
+ "compilerOptions": {
+ "target": "es2022",
+ "allowArbitraryExtensions": true,
+ "paths": {
+ "@shared/*": [
+ "./src/shared/*"
+ ],
+ "@browser/*": [
+ "./src/browser/*"
+ ]
+ },
+ "skipLibCheck": true
+ },
+ "include": [
+ "src/**/*"
+ ],
+ "exclude": [
+ "node_modules/*",
+ "static/*"
+ ]
+}
\ No newline at end of file
diff --git a/.config/webpack.config.js b/apps/content/webpack.config.js
similarity index 93%
rename from .config/webpack.config.js
rename to apps/content/webpack.config.js
index 6261d67..1e233ce 100644
--- a/.config/webpack.config.js
+++ b/apps/content/webpack.config.js
@@ -6,10 +6,9 @@ import MiniCssExtractPlugin from 'mini-css-extract-plugin'
import { join, resolve } from 'node:path'
import preprocess from 'svelte-preprocess'
import sequence from 'svelte-sequential-preprocessor'
-import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'
import WebpackLicensePlugin from 'webpack-license-plugin'
-const HTML_TEMPLATE_FILE = './src/content/index.html'
+const HTML_TEMPLATE_FILE = './src/index.html'
const getDistFile = (file) => resolve('dist', file)
const absolutePackage = (file) => resolve('node_modules', file)
@@ -44,7 +43,7 @@ export default (env, argv) => {
* @returns The weback config
*/
const sharedSettings = (contentFiles, dev) => {
- const srcDir = './src/content'
+ const srcDir = './src'
/** @type {Record} */
const entry = {}
@@ -58,7 +57,7 @@ const sharedSettings = (contentFiles, dev) => {
name: 'Content',
entry,
output: {
- path: getDistFile('browser_content'),
+ path: resolve('dist'),
filename: '[name].js',
publicPath: 'chrome://browser/content/',
clean: true,
@@ -66,8 +65,8 @@ const sharedSettings = (contentFiles, dev) => {
resolve: {
extensions: ['.ts', '.mjs', '.js', '.svelte'],
alias: {
- '@shared': resolve('src/content/shared'),
- '@browser': resolve('src/content/browser'),
+ '@shared': resolve('src/shared'),
+ '@browser': resolve('src/browser'),
},
},
resolveLoader: {
@@ -171,7 +170,6 @@ const sharedSettings = (contentFiles, dev) => {
},
],
}),
- // dev && new BundleAnalyzerPlugin(),
].filter(Boolean),
experiments: {
diff --git a/apps/modules/lib/EPageActions.sys.mjs b/apps/modules/lib/EPageActions.sys.mjs
index f6431ad..08d36fb 100644
--- a/apps/modules/lib/EPageActions.sys.mjs
+++ b/apps/modules/lib/EPageActions.sys.mjs
@@ -15,7 +15,9 @@ export class PageAction {
popupUrl
showMatches
hideMatches
- /** @type {Record} */
+ /**
+ * @type {Record}
+ */
icons
showTabIds = new Set()
diff --git a/lib/link/types/_link.d.ts b/lib/link/types/_link.d.ts
index 0a92320..416374b 100644
--- a/lib/link/types/_link.d.ts
+++ b/lib/link/types/_link.d.ts
@@ -10,6 +10,7 @@
///
///
+///
///
///
diff --git a/lib/link/types/modules/EPageActions.d.ts b/lib/link/types/modules/EPageActions.d.ts
index 485adff..6a11ce6 100644
--- a/lib/link/types/modules/EPageActions.d.ts
+++ b/lib/link/types/modules/EPageActions.d.ts
@@ -64,6 +64,7 @@ declare module 'resource://app/modules/EPageActions.sys.mjs' {
popupUrl?: string
showMatches?: MatchPatternSet
hideMatches?: MatchPatternSet
+ icons?: Record
showTabIds: Set
hideTabIds: Set
diff --git a/package.json b/package.json
index 7cca5e8..6d0a744 100644
--- a/package.json
+++ b/package.json
@@ -13,13 +13,7 @@
"app:start": "MOZ_ENABLE_WAYLAND=1 ./.store/rt/quark-runtime -no-remote",
"app:startX": "./.store/rt/quark-runtime -no-remote",
"build": "rm -rf dist && concurrently -c auto pnpm:build-*",
- "build-content": "webpack --mode production -c ./.config/webpack.config.js",
- "build-modules": "tsc -p ./tsconfigs/tsconfig.modules.json",
- "build-actors": "tsc -p ./tsconfigs/tsconfig.actors.json",
"dev": "concurrently -c auto pnpm:dev-*",
- "dev-content": "webpack serve --mode development -c ./.config/webpack.config.js",
- "dev-modules": "tsc -w -p ./tsconfigs/tsconfig.modules.json",
- "dev-actors": "tsc -w -p ./tsconfigs/tsconfig.actors.json",
"rt:slink": "rm --force ./.store/artifact.tar.bz2 && ln -s ../../experiment-runtime/dist/experiment-runtime-1.0.0.en-US.linux-x86_64.tar.bz2 ./.store/artifact.tar.bz2",
"lint": "eslint .",
"format": "pnpm lint && pnpm script:license-check --fix && prettier . --write --plugin prettier-plugin-svelte",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8a85a3f..23c2a32 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -100,10 +100,19 @@ importers:
snarkdown:
specifier: ^2.0.0
version: 2.0.0
+ zora:
+ specifier: ^5.2.0
+ version: 5.2.0
devDependencies:
+ '@browser/link':
+ specifier: workspace:*
+ version: link:../../lib/link
'@melt-ui/pp':
specifier: ^0.3.0
version: 0.3.0(@melt-ui/svelte@0.67.0)(svelte@4.2.8)
+ '@total-typescript/ts-reset':
+ specifier: ^0.5.1
+ version: 0.5.1
'@tsconfig/svelte':
specifier: ^5.0.2
version: 5.0.2
@@ -7513,6 +7522,10 @@ packages:
engines: {node: '>=10'}
dev: true
+ /zora@5.2.0:
+ resolution: {integrity: sha512-FSZOvfJVfMWhk/poictNsDBCXq/Z+2Zu2peWs6d8OhWWb9nY++czw95D47hdw06L/kfjasLevwrbUtnXyWLAJw==}
+ dev: false
+
github.com/quark-platform/gecko-types/e4efe38ce26c3617d7a3ecb13491bca2004e0377:
resolution: {tarball: https://codeload.github.com/quark-platform/gecko-types/tar.gz/e4efe38ce26c3617d7a3ecb13491bca2004e0377}
name: gecko-types
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 75379a2..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "extends": "@tsconfig/svelte/tsconfig.json",
- "compilerOptions": {
- "target": "es2022",
- "allowArbitraryExtensions": true,
- "paths": {
- "@shared/*": ["./src/content/shared/*"],
- "@browser/*": ["./src/content/browser/*"]
- },
- "skipLibCheck": true
- },
- "include": ["src/content/**/*"],
- "exclude": ["node_modules/*", "public/*"]
-}
From 51f5b7cb5ac5e5bd05f0dfa4ef83f61331adbbf4 Mon Sep 17 00:00:00 2001
From: trickypr <23250792+trickypr@users.noreply.github.com>
Date: Tue, 2 Jan 2024 14:41:53 +1100
Subject: [PATCH 03/10] =?UTF-8?q?=F0=9F=9A=A7=20Get=20scripts=20functional?=
=?UTF-8?q?=20again?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
apps/content/tsconfig.json | 19 +--
apps/content/webpack.config.js | 4 +
apps/misc/static/defaults/pref/prefs.js | 100 ++++++++--------
apps/misc/static/localization/link.json | 5 -
apps/modules/lib/BrowserGlue.sys.mjs | 4 +
apps/modules/lib/BrowserWindowTracker.sys.mjs | 4 +
apps/modules/lib/EPageActions.sys.mjs | 4 +
apps/modules/lib/TypedImportUtils.sys.mjs | 4 +
lib/link/types/globals/ChromeUtils.d.ts | 4 -
lib/link/types/globals/Cr.d.ts | 1 -
lib/link/types/interfaces/ClickHandler.d.ts | 4 -
lib/link/types/modules/mitt.d.ts | 6 -
lib/shared/src/index.ts | 6 -
lib/shared/src/utilities/index.ts | 2 -
lib/shared/src/xul/index.ts | 3 -
{lib => libs}/link/package.json | 0
{lib => libs}/link/types/_link.d.ts | 4 +
libs/link/types/globals/ChromeUtils.d.ts | 8 ++
libs/link/types/globals/Cr.d.ts | 5 +
.../link/types/globals/Elements.d.ts | 4 +
.../link/types/globals/MatchPattern.d.ts | 0
.../link/types/globals/MessageManager.d.ts | 0
libs/link/types/interfaces/ClickHandler.d.ts | 8 ++
.../link/types/interfaces/ContextMenu.d.ts | 4 +
.../types/interfaces/GenericDeferred.d.ts | 4 +
.../link/types/modules/AppConstants.d.ts | 0
.../types/modules/BrowserWindowTracker.d.ts | 4 +
.../link/types/modules/EPageActions.d.ts | 4 +
.../link/types/modules/PlacesUtils.d.ts | 4 +
libs/link/types/modules/mitt.d.ts | 10 ++
.../link/types/modules/typedImport.d.ts | 4 +
{lib => libs}/shared/package.json | 0
libs/shared/src/index.ts | 10 ++
{lib => libs}/shared/src/lazy.ts | 4 +
.../shared/src/utilities/deferred.ts | 4 +
libs/shared/src/utilities/index.ts | 6 +
{lib => libs}/shared/src/utilities/mitt.ts | 4 +
.../shared/src/utilities/svelte.license.md | 0
{lib => libs}/shared/src/utilities/svelte.ts | 4 +
{lib => libs}/shared/src/xul/PlacesModel.ts | 0
libs/shared/src/xul/index.ts | 7 ++
.../shared/src/xul/messageReceiver.ts | 0
{lib => libs}/shared/src/xul/observable.ts | 0
{lib => libs}/shared/tsconfig.json | 6 +-
package.json | 6 +-
pnpm-workspace.yaml | 2 +-
scripts/lib/constants.ts | 8 +-
scripts/lib/files.ts | 5 +-
scripts/lib/fs.ts | 5 +
scripts/lib/linker.ts | 74 ++++--------
scripts/license-check.ts | 8 +-
scripts/setup.ts | 43 +++----
.../tsconfig.json | 10 +-
tsconfigs/tsconfig.actors.json | 9 --
tsconfigs/tsconfig.modules.json | 110 ------------------
55 files changed, 235 insertions(+), 323 deletions(-)
delete mode 100644 apps/misc/static/localization/link.json
delete mode 100644 lib/link/types/globals/ChromeUtils.d.ts
delete mode 100644 lib/link/types/globals/Cr.d.ts
delete mode 100644 lib/link/types/interfaces/ClickHandler.d.ts
delete mode 100644 lib/link/types/modules/mitt.d.ts
delete mode 100644 lib/shared/src/index.ts
delete mode 100644 lib/shared/src/utilities/index.ts
delete mode 100644 lib/shared/src/xul/index.ts
rename {lib => libs}/link/package.json (100%)
rename {lib => libs}/link/types/_link.d.ts (81%)
create mode 100644 libs/link/types/globals/ChromeUtils.d.ts
create mode 100644 libs/link/types/globals/Cr.d.ts
rename {lib => libs}/link/types/globals/Elements.d.ts (90%)
rename {lib => libs}/link/types/globals/MatchPattern.d.ts (100%)
rename {lib => libs}/link/types/globals/MessageManager.d.ts (100%)
create mode 100644 libs/link/types/interfaces/ClickHandler.d.ts
rename {lib => libs}/link/types/interfaces/ContextMenu.d.ts (71%)
rename {lib => libs}/link/types/interfaces/GenericDeferred.d.ts (83%)
rename {lib => libs}/link/types/modules/AppConstants.d.ts (100%)
rename {lib => libs}/link/types/modules/BrowserWindowTracker.d.ts (87%)
rename {lib => libs}/link/types/modules/EPageActions.d.ts (92%)
rename {lib => libs}/link/types/modules/PlacesUtils.d.ts (98%)
create mode 100644 libs/link/types/modules/mitt.d.ts
rename {lib => libs}/link/types/modules/typedImport.d.ts (73%)
rename {lib => libs}/shared/package.json (100%)
create mode 100644 libs/shared/src/index.ts
rename {lib => libs}/shared/src/lazy.ts (77%)
rename {lib => libs}/shared/src/utilities/deferred.ts (85%)
create mode 100644 libs/shared/src/utilities/index.ts
rename {lib => libs}/shared/src/utilities/mitt.ts (65%)
rename {lib => libs}/shared/src/utilities/svelte.license.md (100%)
rename {lib => libs}/shared/src/utilities/svelte.ts (93%)
rename {lib => libs}/shared/src/xul/PlacesModel.ts (100%)
create mode 100644 libs/shared/src/xul/index.ts
rename {lib => libs}/shared/src/xul/messageReceiver.ts (100%)
rename {lib => libs}/shared/src/xul/observable.ts (100%)
rename {lib => libs}/shared/tsconfig.json (76%)
rename tsconfigs/tsconfig.scripts.json => scripts/tsconfig.json (99%)
delete mode 100644 tsconfigs/tsconfig.actors.json
delete mode 100644 tsconfigs/tsconfig.modules.json
diff --git a/apps/content/tsconfig.json b/apps/content/tsconfig.json
index fbcffc8..8f2d3b9 100644
--- a/apps/content/tsconfig.json
+++ b/apps/content/tsconfig.json
@@ -4,20 +4,11 @@
"target": "es2022",
"allowArbitraryExtensions": true,
"paths": {
- "@shared/*": [
- "./src/shared/*"
- ],
- "@browser/*": [
- "./src/browser/*"
- ]
+ "@shared/*": ["./src/shared/*"],
+ "@browser/*": ["./src/browser/*"]
},
"skipLibCheck": true
},
- "include": [
- "src/**/*"
- ],
- "exclude": [
- "node_modules/*",
- "static/*"
- ]
-}
\ No newline at end of file
+ "include": ["src/**/*"],
+ "exclude": ["node_modules/*", "static/*"]
+}
diff --git a/apps/content/webpack.config.js b/apps/content/webpack.config.js
index 1e233ce..9c0faf2 100644
--- a/apps/content/webpack.config.js
+++ b/apps/content/webpack.config.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
// @ts-check
import { preprocessMeltUI } from '@melt-ui/pp'
import CopyWebpackPlugin from 'copy-webpack-plugin'
diff --git a/apps/misc/static/defaults/pref/prefs.js b/apps/misc/static/defaults/pref/prefs.js
index 08bbfde..6006c76 100644
--- a/apps/misc/static/defaults/pref/prefs.js
+++ b/apps/misc/static/defaults/pref/prefs.js
@@ -7,113 +7,113 @@
// This is roughly equivelent to `user.js` or `firefox.js`
// Home settings
-pref('browser.newwindow.default', 'about:blank');
-pref('browser.newtab.default', 'https://web.tabliss.io/');
+pref('browser.newwindow.default', 'about:blank')
+pref('browser.newtab.default', 'https://web.tabliss.io/')
// Search settings
-pref('browser.search.engine.default', 'google@search.fushra.com');
+pref('browser.search.engine.default', 'google@search.fushra.com')
// Context menu prefs
pref(
'browser.contextmenus.page',
- 'link__copy,link__new-tab,separator,selection__copy'
-);
+ 'link__copy,link__new-tab,separator,selection__copy',
+)
pref(
'browser.uiCustomization.state',
- '{"type":"block","direction":"vertical","content":[{"type":"block","direction":"horizontal","size":{"type":"content"},"content":[{"type":"tabs"}],"color":"base"},{"type":"block","direction":"horizontal","size":{"type":"content"},"content":[{"type":"icon","icon":"arrow-left-line"},{"type":"icon","icon":"refresh-line"},{"type":"icon","icon":"arrow-right-line"},{"type":"spacer","grow":1},{"type":"omnibox"},{"type":"spacer","grow":1},{"type":"icon","icon":"menu-line"}],"color":"surface-0"},{"type":"browser"}],"size":{"type":"grow","value":1},"color":"base"}'
-);
+ '{"type":"block","direction":"vertical","content":[{"type":"block","direction":"horizontal","size":{"type":"content"},"content":[{"type":"tabs"}],"color":"base"},{"type":"block","direction":"horizontal","size":{"type":"content"},"content":[{"type":"icon","icon":"arrow-left-line"},{"type":"icon","icon":"refresh-line"},{"type":"icon","icon":"arrow-right-line"},{"type":"spacer","grow":1},{"type":"omnibox"},{"type":"spacer","grow":1},{"type":"icon","icon":"menu-line"}],"color":"surface-0"},{"type":"browser"}],"size":{"type":"grow","value":1},"color":"base"}',
+)
// Default keybinds
-pref('browser.keybinds.toolbox', 'accel+alt+shift+I');
-pref('browser.keybinds.chrome.reload', 'accel+alt+shift+R');
-
-pref('browser.keybinds.newWindow', 'accel+N');
-pref('browser.keybinds.newTab', 'accel+T');
-pref('browser.keybinds.closeTab', 'accel+W');
-pref('browser.keybinds.nextTab', 'accel+VK_TAB');
-pref('browser.keybinds.previousTab', 'accel+shift+VK_TAB');
-pref('browser.keybinds.tab1', 'accel+1');
-pref('browser.keybinds.tab2', 'accel+2');
-pref('browser.keybinds.tab3', 'accel+3');
-pref('browser.keybinds.tab4', 'accel+4');
-pref('browser.keybinds.tab5', 'accel+5');
-pref('browser.keybinds.tab6', 'accel+6');
-pref('browser.keybinds.tab7', 'accel+7');
-pref('browser.keybinds.tab8', 'accel+8');
-pref('browser.keybinds.findInPage', 'accel+F');
+pref('browser.keybinds.toolbox', 'accel+alt+shift+I')
+pref('browser.keybinds.chrome.reload', 'accel+alt+shift+R')
+
+pref('browser.keybinds.newWindow', 'accel+N')
+pref('browser.keybinds.newTab', 'accel+T')
+pref('browser.keybinds.closeTab', 'accel+W')
+pref('browser.keybinds.nextTab', 'accel+VK_TAB')
+pref('browser.keybinds.previousTab', 'accel+shift+VK_TAB')
+pref('browser.keybinds.tab1', 'accel+1')
+pref('browser.keybinds.tab2', 'accel+2')
+pref('browser.keybinds.tab3', 'accel+3')
+pref('browser.keybinds.tab4', 'accel+4')
+pref('browser.keybinds.tab5', 'accel+5')
+pref('browser.keybinds.tab6', 'accel+6')
+pref('browser.keybinds.tab7', 'accel+7')
+pref('browser.keybinds.tab8', 'accel+8')
+pref('browser.keybinds.findInPage', 'accel+F')
// Misc. prefs
-pref('browser.tabs.newTabFocus', false);
+pref('browser.tabs.newTabFocus', false)
// =======================================================
// Gecko prefs
// Findbar
-pref('accessibility.typeaheadfind', false);
-pref('accessibility.typeaheadfind.timeout', 5000);
-pref('accessibility.typeaheadfind.linksonly', false);
-pref('accessibility.typeaheadfind.flashBar', 1);
+pref('accessibility.typeaheadfind', false)
+pref('accessibility.typeaheadfind.timeout', 5000)
+pref('accessibility.typeaheadfind.linksonly', false)
+pref('accessibility.typeaheadfind.flashBar', 1)
// Enable firefox compat
-pref('general.useragent.compatMode.firefox', true);
+pref('general.useragent.compatMode.firefox', true)
// Downloads
// Enable logging downloads operations to the Console.
-pref('browser.download.loglevel', 'Error');
+pref('browser.download.loglevel', 'Error')
// Number of milliseconds to wait for the http headers (and thus
// the Content-Disposition filename) before giving up and falling back to
// picking a filename without that info in hand so that the user sees some
// feedback from their action.
-pref('browser.download.saveLinkAsFilenameTimeout', 4000);
+pref('browser.download.saveLinkAsFilenameTimeout', 4000)
-pref('browser.download.useDownloadDir', true);
-pref('browser.download.folderList', 1);
-pref('browser.download.manager.addToRecentDocs', true);
-pref('browser.download.manager.resumeOnWakeDelay', 10000);
+pref('browser.download.useDownloadDir', true)
+pref('browser.download.folderList', 1)
+pref('browser.download.manager.addToRecentDocs', true)
+pref('browser.download.manager.resumeOnWakeDelay', 10000)
// This records whether or not the panel has been shown at least once.
-pref('browser.download.panel.shown', false);
+pref('browser.download.panel.shown', false)
// This records whether or not to show the 'Open in system viewer' context menu item when appropriate
-pref('browser.download.openInSystemViewerContextMenuItem', true);
+pref('browser.download.openInSystemViewerContextMenuItem', true)
// This records whether or not to show the 'Always open...' context menu item when appropriate
-pref('browser.download.alwaysOpenInSystemViewerContextMenuItem', true);
+pref('browser.download.alwaysOpenInSystemViewerContextMenuItem', true)
// Open downloaded file types internally for the given types.
// This is a comma-separated list, the empty string ("") means no types are
// viewable internally.
pref(
'browser.download.viewableInternally.enabledTypes',
- 'xml,svg,webp,avif,jxl'
-);
+ 'xml,svg,webp,avif,jxl',
+)
// This controls whether the button is automatically shown/hidden depending
// on whether there are downloads to show.
-pref('browser.download.autohideButton', true);
+pref('browser.download.autohideButton', true)
// Controls whether to open the downloads panel every time a download begins.
// The first download ever run in a new profile will still open the panel.
-pref('browser.download.alwaysOpenPanel', true);
+pref('browser.download.alwaysOpenPanel', true)
// Determines the behavior of the "Delete" item in the downloads context menu.
// Valid values are 0, 1, and 2.
// 0 - Don't remove the download from session list or history.
// 1 - Remove the download from session list, but not history.
// 2 - Remove the download from both session list and history.
-pref('browser.download.clearHistoryOnDelete', 0);
+pref('browser.download.clearHistoryOnDelete', 0)
// We do this because we want page actions etc. to have color schemes
-pref('svg.context-properties.content.enabled', true);
+pref('svg.context-properties.content.enabled', true)
// =============================================================================
// Multithreading
-pref('browser.tabs.remote.autostart', true);
-pref('browser.tabs.remote.separatePrivilegedContentProcess', true);
-pref('browser.tabs.remote.separatePrivilegedMozillaWebContentProcess', true);
+pref('browser.tabs.remote.autostart', true)
+pref('browser.tabs.remote.separatePrivilegedContentProcess', true)
+pref('browser.tabs.remote.separatePrivilegedMozillaWebContentProcess', true)
-pref('extensions.webextensions.remote', true);
-pref('extensions.webextensions.protocol.remote', true);
+pref('extensions.webextensions.remote', true)
+pref('extensions.webextensions.protocol.remote', true)
diff --git a/apps/misc/static/localization/link.json b/apps/misc/static/localization/link.json
deleted file mode 100644
index 40ca28e..0000000
--- a/apps/misc/static/localization/link.json
+++ /dev/null
@@ -1,5 +0,0 @@
-[
- "en-US/branding/brand.ftl",
- "en-US/browser/components/mozSupportLink.ftl",
- "en-US/browser/appExtensionFields.ftl"
-]
diff --git a/apps/modules/lib/BrowserGlue.sys.mjs b/apps/modules/lib/BrowserGlue.sys.mjs
index 70fad5d..b28cb8b 100644
--- a/apps/modules/lib/BrowserGlue.sys.mjs
+++ b/apps/modules/lib/BrowserGlue.sys.mjs
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
/// @ts-check
///
import { lazyESModuleGetters } from 'resource://app/modules/TypedImportUtils.sys.mjs'
diff --git a/apps/modules/lib/BrowserWindowTracker.sys.mjs b/apps/modules/lib/BrowserWindowTracker.sys.mjs
index 92013e3..c234b2f 100644
--- a/apps/modules/lib/BrowserWindowTracker.sys.mjs
+++ b/apps/modules/lib/BrowserWindowTracker.sys.mjs
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
/// @ts-check
///
import mitt from 'resource://app/modules/mitt.sys.mjs'
diff --git a/apps/modules/lib/EPageActions.sys.mjs b/apps/modules/lib/EPageActions.sys.mjs
index 08d36fb..9aed654 100644
--- a/apps/modules/lib/EPageActions.sys.mjs
+++ b/apps/modules/lib/EPageActions.sys.mjs
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
/// @ts-check
///
import mitt from 'resource://app/modules/mitt.sys.mjs'
diff --git a/apps/modules/lib/TypedImportUtils.sys.mjs b/apps/modules/lib/TypedImportUtils.sys.mjs
index a0da69f..db273e2 100644
--- a/apps/modules/lib/TypedImportUtils.sys.mjs
+++ b/apps/modules/lib/TypedImportUtils.sys.mjs
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
/// @ts-check
///
diff --git a/lib/link/types/globals/ChromeUtils.d.ts b/lib/link/types/globals/ChromeUtils.d.ts
deleted file mode 100644
index c4d0d0f..0000000
--- a/lib/link/types/globals/ChromeUtils.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-declare module ChromeUtils {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- export function importESModule(path: string): any
-}
diff --git a/lib/link/types/globals/Cr.d.ts b/lib/link/types/globals/Cr.d.ts
deleted file mode 100644
index 05206dc..0000000
--- a/lib/link/types/globals/Cr.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-declare let Cr: Record
diff --git a/lib/link/types/interfaces/ClickHandler.d.ts b/lib/link/types/interfaces/ClickHandler.d.ts
deleted file mode 100644
index d6d6816..0000000
--- a/lib/link/types/interfaces/ClickHandler.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-declare type ClickHandlerMessage = {
- name: 'openlink'
- data: { href: string }
-} & { target: JSWindowActorParent }
diff --git a/lib/link/types/modules/mitt.d.ts b/lib/link/types/modules/mitt.d.ts
deleted file mode 100644
index da42881..0000000
--- a/lib/link/types/modules/mitt.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-declare module 'resource://app/modules/mitt.sys.mjs' {
- export type * from 'mitt'
-
- const mitt: typeof import('mitt').default
- export default mitt
-}
diff --git a/lib/shared/src/index.ts b/lib/shared/src/index.ts
deleted file mode 100644
index 2a3d9fa..0000000
--- a/lib/shared/src/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-///
-
-export * from './utilities/index.js'
-export * from './xul/index.js'
-
-export * from './lazy.js'
diff --git a/lib/shared/src/utilities/index.ts b/lib/shared/src/utilities/index.ts
deleted file mode 100644
index 12a80b2..0000000
--- a/lib/shared/src/utilities/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from './deferred.js'
-export * from './mitt.js'
diff --git a/lib/shared/src/xul/index.ts b/lib/shared/src/xul/index.ts
deleted file mode 100644
index 7f5cf84..0000000
--- a/lib/shared/src/xul/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from './messageReceiver.js'
-export * from './observable.js'
-export * from './PlacesModel.js'
diff --git a/lib/link/package.json b/libs/link/package.json
similarity index 100%
rename from lib/link/package.json
rename to libs/link/package.json
diff --git a/lib/link/types/_link.d.ts b/libs/link/types/_link.d.ts
similarity index 81%
rename from lib/link/types/_link.d.ts
rename to libs/link/types/_link.d.ts
index 416374b..4b36920 100644
--- a/lib/link/types/_link.d.ts
+++ b/libs/link/types/_link.d.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
// This is the root file that will be imported everywhere. Add your new files
// here to have them show up globally
diff --git a/libs/link/types/globals/ChromeUtils.d.ts b/libs/link/types/globals/ChromeUtils.d.ts
new file mode 100644
index 0000000..13df0b6
--- /dev/null
+++ b/libs/link/types/globals/ChromeUtils.d.ts
@@ -0,0 +1,8 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+declare module ChromeUtils {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ export function importESModule(path: string): any
+}
diff --git a/libs/link/types/globals/Cr.d.ts b/libs/link/types/globals/Cr.d.ts
new file mode 100644
index 0000000..94892d3
--- /dev/null
+++ b/libs/link/types/globals/Cr.d.ts
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+declare let Cr: Record
diff --git a/lib/link/types/globals/Elements.d.ts b/libs/link/types/globals/Elements.d.ts
similarity index 90%
rename from lib/link/types/globals/Elements.d.ts
rename to libs/link/types/globals/Elements.d.ts
index 7408c8a..2bfdaed 100644
--- a/lib/link/types/globals/Elements.d.ts
+++ b/libs/link/types/globals/Elements.d.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
///
declare interface Document {
diff --git a/lib/link/types/globals/MatchPattern.d.ts b/libs/link/types/globals/MatchPattern.d.ts
similarity index 100%
rename from lib/link/types/globals/MatchPattern.d.ts
rename to libs/link/types/globals/MatchPattern.d.ts
diff --git a/lib/link/types/globals/MessageManager.d.ts b/libs/link/types/globals/MessageManager.d.ts
similarity index 100%
rename from lib/link/types/globals/MessageManager.d.ts
rename to libs/link/types/globals/MessageManager.d.ts
diff --git a/libs/link/types/interfaces/ClickHandler.d.ts b/libs/link/types/interfaces/ClickHandler.d.ts
new file mode 100644
index 0000000..b55aa10
--- /dev/null
+++ b/libs/link/types/interfaces/ClickHandler.d.ts
@@ -0,0 +1,8 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+declare type ClickHandlerMessage = {
+ name: 'openlink'
+ data: { href: string }
+} & { target: JSWindowActorParent }
diff --git a/lib/link/types/interfaces/ContextMenu.d.ts b/libs/link/types/interfaces/ContextMenu.d.ts
similarity index 71%
rename from lib/link/types/interfaces/ContextMenu.d.ts
rename to libs/link/types/interfaces/ContextMenu.d.ts
index 705a6f3..d9c9a5d 100644
--- a/lib/link/types/interfaces/ContextMenu.d.ts
+++ b/libs/link/types/interfaces/ContextMenu.d.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
declare interface ContextMenuMediaInfo {
contentType?: string
contentDisposition?: string
diff --git a/lib/link/types/interfaces/GenericDeferred.d.ts b/libs/link/types/interfaces/GenericDeferred.d.ts
similarity index 83%
rename from lib/link/types/interfaces/GenericDeferred.d.ts
rename to libs/link/types/interfaces/GenericDeferred.d.ts
index 3aa47d7..eeaab85 100644
--- a/lib/link/types/interfaces/GenericDeferred.d.ts
+++ b/libs/link/types/interfaces/GenericDeferred.d.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
/**
* The definition of Deferred object which is returned by PromiseUtils.defer(),
* It contains a Promise and methods to resolve/reject it.
diff --git a/lib/link/types/modules/AppConstants.d.ts b/libs/link/types/modules/AppConstants.d.ts
similarity index 100%
rename from lib/link/types/modules/AppConstants.d.ts
rename to libs/link/types/modules/AppConstants.d.ts
diff --git a/lib/link/types/modules/BrowserWindowTracker.d.ts b/libs/link/types/modules/BrowserWindowTracker.d.ts
similarity index 87%
rename from lib/link/types/modules/BrowserWindowTracker.d.ts
rename to libs/link/types/modules/BrowserWindowTracker.d.ts
index 5e6989c..f8ac3af 100644
--- a/lib/link/types/modules/BrowserWindowTracker.d.ts
+++ b/libs/link/types/modules/BrowserWindowTracker.d.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
declare module 'resource://app/modules/BrowserWindowTracker.sys.mjs' {
import type { Emitter } from 'resource://app/modules/mitt.sys.mjs'
diff --git a/lib/link/types/modules/EPageActions.d.ts b/libs/link/types/modules/EPageActions.d.ts
similarity index 92%
rename from lib/link/types/modules/EPageActions.d.ts
rename to libs/link/types/modules/EPageActions.d.ts
index 6a11ce6..c645973 100644
--- a/lib/link/types/modules/EPageActions.d.ts
+++ b/libs/link/types/modules/EPageActions.d.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
declare module 'resource://app/modules/EPageActions.sys.mjs' {
import type { Emitter } from 'mitt'
diff --git a/lib/link/types/modules/PlacesUtils.d.ts b/libs/link/types/modules/PlacesUtils.d.ts
similarity index 98%
rename from lib/link/types/modules/PlacesUtils.d.ts
rename to libs/link/types/modules/PlacesUtils.d.ts
index fe23f9c..09c91ab 100644
--- a/lib/link/types/modules/PlacesUtils.d.ts
+++ b/libs/link/types/modules/PlacesUtils.d.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable @typescript-eslint/ban-types */
diff --git a/libs/link/types/modules/mitt.d.ts b/libs/link/types/modules/mitt.d.ts
new file mode 100644
index 0000000..f19f0b3
--- /dev/null
+++ b/libs/link/types/modules/mitt.d.ts
@@ -0,0 +1,10 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+declare module 'resource://app/modules/mitt.sys.mjs' {
+ export type * from 'mitt'
+
+ const mitt: typeof import('mitt').default
+ export default mitt
+}
diff --git a/lib/link/types/modules/typedImport.d.ts b/libs/link/types/modules/typedImport.d.ts
similarity index 73%
rename from lib/link/types/modules/typedImport.d.ts
rename to libs/link/types/modules/typedImport.d.ts
index dc045fb..dca9ec0 100644
--- a/lib/link/types/modules/typedImport.d.ts
+++ b/libs/link/types/modules/typedImport.d.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
declare module 'resource://app/modules/TypedImportUtils.sys.mjs' {
export function lazyESModuleGetters<
Modules extends Partial,
diff --git a/lib/shared/package.json b/libs/shared/package.json
similarity index 100%
rename from lib/shared/package.json
rename to libs/shared/package.json
diff --git a/libs/shared/src/index.ts b/libs/shared/src/index.ts
new file mode 100644
index 0000000..ee5f786
--- /dev/null
+++ b/libs/shared/src/index.ts
@@ -0,0 +1,10 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+///
+
+export * from './utilities/index.js'
+export * from './xul/index.js'
+
+export * from './lazy.js'
diff --git a/lib/shared/src/lazy.ts b/libs/shared/src/lazy.ts
similarity index 77%
rename from lib/shared/src/lazy.ts
rename to libs/shared/src/lazy.ts
index abc3513..a0804fd 100644
--- a/lib/shared/src/lazy.ts
+++ b/libs/shared/src/lazy.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
export function lazyESModuleGetters>(
modules: Modules,
// @ts-expect-error - Cannot guarantee overlapping key type
diff --git a/lib/shared/src/utilities/deferred.ts b/libs/shared/src/utilities/deferred.ts
similarity index 85%
rename from lib/shared/src/utilities/deferred.ts
rename to libs/shared/src/utilities/deferred.ts
index 5896ac6..7d1145f 100644
--- a/lib/shared/src/utilities/deferred.ts
+++ b/libs/shared/src/utilities/deferred.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
///
/**
diff --git a/libs/shared/src/utilities/index.ts b/libs/shared/src/utilities/index.ts
new file mode 100644
index 0000000..45b630a
--- /dev/null
+++ b/libs/shared/src/utilities/index.ts
@@ -0,0 +1,6 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+export * from './deferred.js'
+export * from './mitt.js'
diff --git a/lib/shared/src/utilities/mitt.ts b/libs/shared/src/utilities/mitt.ts
similarity index 65%
rename from lib/shared/src/utilities/mitt.ts
rename to libs/shared/src/utilities/mitt.ts
index a667dea..bd71b33 100644
--- a/lib/shared/src/utilities/mitt.ts
+++ b/libs/shared/src/utilities/mitt.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
import type { Emitter, EventType } from 'mitt'
export const waitForEvent = <
diff --git a/lib/shared/src/utilities/svelte.license.md b/libs/shared/src/utilities/svelte.license.md
similarity index 100%
rename from lib/shared/src/utilities/svelte.license.md
rename to libs/shared/src/utilities/svelte.license.md
diff --git a/lib/shared/src/utilities/svelte.ts b/libs/shared/src/utilities/svelte.ts
similarity index 93%
rename from lib/shared/src/utilities/svelte.ts
rename to libs/shared/src/utilities/svelte.ts
index e8e6185..db66c5f 100644
--- a/lib/shared/src/utilities/svelte.ts
+++ b/libs/shared/src/utilities/svelte.ts
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
import {
type Invalidator,
type Readable,
diff --git a/lib/shared/src/xul/PlacesModel.ts b/libs/shared/src/xul/PlacesModel.ts
similarity index 100%
rename from lib/shared/src/xul/PlacesModel.ts
rename to libs/shared/src/xul/PlacesModel.ts
diff --git a/libs/shared/src/xul/index.ts b/libs/shared/src/xul/index.ts
new file mode 100644
index 0000000..7a6dadd
--- /dev/null
+++ b/libs/shared/src/xul/index.ts
@@ -0,0 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+export * from './messageReceiver.js'
+export * from './observable.js'
+export * from './PlacesModel.js'
diff --git a/lib/shared/src/xul/messageReceiver.ts b/libs/shared/src/xul/messageReceiver.ts
similarity index 100%
rename from lib/shared/src/xul/messageReceiver.ts
rename to libs/shared/src/xul/messageReceiver.ts
diff --git a/lib/shared/src/xul/observable.ts b/libs/shared/src/xul/observable.ts
similarity index 100%
rename from lib/shared/src/xul/observable.ts
rename to libs/shared/src/xul/observable.ts
diff --git a/lib/shared/tsconfig.json b/libs/shared/tsconfig.json
similarity index 76%
rename from lib/shared/tsconfig.json
rename to libs/shared/tsconfig.json
index 2550ad9..df4849b 100644
--- a/lib/shared/tsconfig.json
+++ b/libs/shared/tsconfig.json
@@ -4,7 +4,5 @@
"target": "ESNext",
"moduleResolution": "NodeNext"
},
- "include": [
- "src/**/*"
- ]
-}
\ No newline at end of file
+ "include": ["src/**/*"]
+}
diff --git a/package.json b/package.json
index 6d0a744..b9a9637 100644
--- a/package.json
+++ b/package.json
@@ -5,8 +5,8 @@
"type": "module",
"main": "index.js",
"scripts": {
- "_postinstall": "pnpm scripts:build && pnpm script:setup",
- "scripts:build": "tsc -p ./tsconfigs/tsconfig.scripts.json",
+ "postinstall": "pnpm scripts:build && pnpm script:setup",
+ "scripts:build": "tsc -p ./scripts/tsconfig.json",
"script:setup": "node ./.scripts/setup.js",
"script:license-check": "node ./.scripts/license-check.js",
"script:unit-test": "node ./.scripts/unit-test.js",
@@ -101,7 +101,7 @@
},
"ignorePatterns": [
"src/modules/*.js",
- "dist/*",
+ "**/dist/*",
".scripts/*",
".store/*"
]
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index ce42121..0a26f3f 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,3 +1,3 @@
packages:
- apps/*
- - lib/*
+ - libs/*
diff --git a/scripts/lib/constants.ts b/scripts/lib/constants.ts
index 1b7a740..b295046 100644
--- a/scripts/lib/constants.ts
+++ b/scripts/lib/constants.ts
@@ -5,6 +5,8 @@ import { resolve } from 'path'
const getXFile = (x: string) => (file: string) => resolve(x, file)
+export const getFile = getXFile(process.cwd())
+
export const STORE_PATH = resolve(process.cwd(), '.store/')
export const getStoreFile = getXFile(STORE_PATH)
@@ -14,10 +16,4 @@ export const getArtifactFile = getXFile(ARTIFACT_RT_PATH)
export const DIST_PATH = resolve(process.cwd(), 'dist')
export const getDistFile = getXFile(DIST_PATH)
-export const SRC_PATH = resolve(process.cwd(), 'src')
-export const getSrcFile = getXFile(SRC_PATH)
-
-export const STATIC_PATH = resolve(process.cwd(), 'static')
-export const getStaticFile = getXFile(STATIC_PATH)
-
export const SCRIPTS_PATH = resolve(process.cwd(), 'scripts')
diff --git a/scripts/lib/files.ts b/scripts/lib/files.ts
index 430b2b6..52cf4cc 100644
--- a/scripts/lib/files.ts
+++ b/scripts/lib/files.ts
@@ -11,13 +11,14 @@ export const CHANGES: { file: string; append?: string | string[] }[] = [
append: [
'locale branding en-US en-US/locale/branding/',
'resource search-extensions browser/content/browser/search-extensions/ contentaccessible=yes',
+ 'content bextensions browser/content/extensions/',
],
},
{
file: 'components/components.manifest',
append: [
- 'category webextension-modules browser chrome://browser/content/extensions/ext-browser.json',
- 'category webextension-scripts c-browser chrome://browser/content/extensions/parent/ext-browser.js',
+ 'category webextension-modules browser chrome://bextensions/content/ext-browser.json',
+ 'category webextension-scripts c-browser chrome://bextensions/content/parent/ext-browser.js',
],
},
]
diff --git a/scripts/lib/fs.ts b/scripts/lib/fs.ts
index 1416aca..6f6b3b9 100644
--- a/scripts/lib/fs.ts
+++ b/scripts/lib/fs.ts
@@ -7,6 +7,9 @@ import { isAbsolute, join } from 'node:path'
import { failure } from './logging.js'
+/**
+ * Ignores node modules & dist directories
+ */
export async function walkDirectory(directory: string): Promise {
const output: string[] = []
@@ -18,6 +21,8 @@ export async function walkDirectory(directory: string): Promise {
const directoryContents = await readdir(directory)
for (const file of directoryContents) {
+ if (file.includes('node_modules') || file.includes('dist')) continue
+
const fullPath = join(directory, file)
const fStat = await stat(fullPath)
diff --git a/scripts/lib/linker.ts b/scripts/lib/linker.ts
index 8b5b843..027f84f 100644
--- a/scripts/lib/linker.ts
+++ b/scripts/lib/linker.ts
@@ -1,66 +1,36 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-import { mkdir, readFile, rm, symlink } from 'fs/promises'
+import { mkdir, readdir, rm, stat, symlink } from 'fs/promises'
import { existsSync } from 'node:fs'
import { dirname } from 'path'
-import {
- getArtifactFile,
- getDistFile,
- getSrcFile,
- getStaticFile,
-} from './constants.js'
+export async function linkContents(from: string, to: string) {
+ const folderContents = await readdir(from)
-export async function linkTscFolder(folderName: string) {
- const linkFile = await readFile(
- getSrcFile(`${folderName}/link.json`),
- 'utf-8',
- )
- const links = JSON.parse(linkFile) as string[]
+ for (const item of folderContents) {
+ const statResult = await stat(`${from}/${item}`)
- for (const link of links) {
- const distFileName = `${link}.js`
- const geckoName = `${link}.sys.mjs`
- const geckoPath = getArtifactFile(`${folderName}/${geckoName}`)
+ if (statResult.isDirectory()) {
+ await linkContents(`${from}/${item}`, `${to}/${item}`)
+ continue
+ }
- if (existsSync(geckoPath)) await rm(geckoPath)
- await symlink(getDistFile(`${folderName}/${distFileName}`), geckoPath)
+ if (existsSync(`${to}/${item}`)) await rm(`${to}/${item}`)
+ if (!existsSync(dirname(`${to}/${item}`)))
+ await mkdir(dirname(`${to}/${item}`), { recursive: true })
+ await symlink(`${from}/${item}`, `${to}/${item}`)
}
}
-export async function linkStaticFolder(
- folderName: string,
- outFolderName?: string,
- ext = '.sys.mjs',
-) {
- const linkFile = await readFile(
- getStaticFile(`${folderName}/link.json`),
- 'utf-8',
- )
- const links = JSON.parse(linkFile) as string[]
+/**
+ * Creates a link for a specific folder
+ * @param from The directory to source the link
+ * @param to The location to place the link
+ */
+export async function linkFolder(from: string, to: string) {
+ if (existsSync(to)) await rm(to, { recursive: true })
+ if (!existsSync(dirname(to))) await mkdir(dirname(to), { recursive: true })
- for (const link of links) {
- const fileName = `${link}${ext}`
- const geckoPath = getArtifactFile(
- `${outFolderName || folderName}/${fileName}`,
- )
- const srcFile = getStaticFile(`${folderName}/${fileName}`)
-
- if (existsSync(geckoPath)) await rm(geckoPath)
- if (!existsSync(dirname(geckoPath)))
- await mkdir(dirname(geckoPath), { recursive: true })
- await symlink(srcFile, geckoPath)
- }
-}
-
-export async function linkFolder(staticName: string, outputName: string) {
- const staticFolder = getStaticFile(staticName)
- const geckoFolder = getArtifactFile(outputName)
-
- if (existsSync(geckoFolder)) await rm(geckoFolder, { recursive: true })
- if (!existsSync(dirname(geckoFolder)))
- await mkdir(dirname(geckoFolder), { recursive: true })
-
- await symlink(staticFolder, geckoFolder)
+ await symlink(from, to)
}
diff --git a/scripts/license-check.ts b/scripts/license-check.ts
index a365bea..b706e0d 100644
--- a/scripts/license-check.ts
+++ b/scripts/license-check.ts
@@ -4,20 +4,20 @@
import { readFileSync } from 'node:fs'
import { argv } from 'node:process'
-import { SCRIPTS_PATH, SRC_PATH, STATIC_PATH } from './lib/constants.js'
+import { SCRIPTS_PATH, getFile } from './lib/constants.js'
import { walkDirectory } from './lib/fs.js'
import { autoFix, isValidLicense } from './lib/license.js'
import { failure } from './lib/logging.js'
const IGNORED_FILES = new RegExp(
- '.*\\.(json|patch|md|jpeg|png|gif|tiff|ico|txt)',
+ '(.*pnpm-lock\\.yaml)|(.*\\.(json|patch|md|jpeg|png|gif|tiff|ico|txt))',
)
const shouldFix = argv.includes('--fix')
const filesToCheck = [
...(await walkDirectory(SCRIPTS_PATH)),
- ...(await walkDirectory(SRC_PATH)),
- ...(await walkDirectory(STATIC_PATH)),
+ ...(await walkDirectory(getFile('apps'))),
+ ...(await walkDirectory(getFile('libs'))),
]
const invalidFiles = filesToCheck
diff --git a/scripts/setup.ts b/scripts/setup.ts
index 07fd20f..9485dd5 100644
--- a/scripts/setup.ts
+++ b/scripts/setup.ts
@@ -12,16 +12,11 @@
*/
import { execa } from 'execa'
import { existsSync } from 'fs'
-import { mkdir, rm, symlink } from 'fs/promises'
+import { mkdir, rm } from 'fs/promises'
-import {
- ARTIFACT_RT_PATH,
- getArtifactFile,
- getDistFile,
- getSrcFile,
-} from './lib/constants.js'
+import { ARTIFACT_RT_PATH, getArtifactFile, getFile } from './lib/constants.js'
import { setupFiles } from './lib/files.js'
-import { linkStaticFolder, linkTscFolder } from './lib/linker.js'
+import { linkContents, linkFolder } from './lib/linker.js'
import { failure, info } from './lib/logging.js'
import { downloadReleaseAsset, getLatestRelease } from './lib/releases.js'
@@ -68,32 +63,24 @@ await execa('unzip', [omnijar], { cwd: ARTIFACT_RT_PATH })
await rm(omnijar)
info('Setting up symlinks...')
-const contentDir = getArtifactFile('chrome/browser/content/browser')
-const contentDirDist = getDistFile('browser_content')
-await mkdir(contentDirDist, { recursive: true })
-await rm(contentDir, { recursive: true, force: true })
-await symlink(contentDirDist, contentDir)
-
-// Link preference file
-const prefFile = getArtifactFile('defaults/pref/prefs.js')
-const prefFileSrc = getSrcFile('prefs.js')
-await rm(prefFile, { recursive: true, force: true })
-await symlink(prefFileSrc, prefFile)
+await linkFolder(
+ getFile('apps/content/dist'),
+ getArtifactFile('chrome/browser/content/browser'),
+)
+await linkFolder(
+ getFile('apps/extensions/lib'),
+ getArtifactFile('chrome/browser/content/extensions'),
+)
-// Link typescript folders
-await linkTscFolder('modules')
-await linkTscFolder('actors')
+await linkContents(getFile('apps/misc/static'), ARTIFACT_RT_PATH)
-// Link static folders
-await linkStaticFolder('modules')
-await linkStaticFolder('localization', undefined, '')
-await linkStaticFolder('chrome', undefined, '')
-// await linkFolder('extensions', 'chrome/browser/content/browser/extensions')
+await linkContents(getFile('apps/actors/lib'), getArtifactFile('actors'))
+await linkContents(getFile('apps/modules/lib'), getArtifactFile('modules'))
info('Setting up files...')
await setupFiles()
info('')
info('You are all set up!')
-info(' To start webpack, run `pnpm dev`')
+info(' To start the dev server, run `pnpm dev`')
info(' To launch the app, run `pnpm app:start`')
diff --git a/tsconfigs/tsconfig.scripts.json b/scripts/tsconfig.json
similarity index 99%
rename from tsconfigs/tsconfig.scripts.json
rename to scripts/tsconfig.json
index 9af788a..811dede 100644
--- a/tsconfigs/tsconfig.scripts.json
+++ b/scripts/tsconfig.json
@@ -1,7 +1,6 @@
{
"compilerOptions": {
/* Visit https://aka.ms/tsconfig to read more about this file */
-
/* Projects */
// "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
@@ -9,7 +8,6 @@
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
-
/* Language and Environment */
"target": "es2022" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
@@ -23,7 +21,6 @@
// "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
// "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
-
/* Modules */
"module": "nodenext" /* Specify what module code is generated. */,
// "rootDir": "./", /* Specify the root folder within your source files. */
@@ -42,12 +39,10 @@
// "resolveJsonModule": true, /* Enable importing .json files. */
// "allowArbitraryExtensions": true /* Enable importing files with any extension, provided a declaration file is present. */,
// "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */
-
/* JavaScript Support */
// "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
// "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
// "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
-
/* Emit */
// "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
// "declarationMap": true, /* Create sourcemaps for d.ts files. */
@@ -72,7 +67,6 @@
// "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
// "declarationDir": "./", /* Specify the output directory for generated declaration files. */
// "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
-
/* Interop Constraints */
// "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
// "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
@@ -80,7 +74,6 @@
"esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
// "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
-
/* Type Checking */
"strict": true /* Enable all strict type-checking options. */,
// "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
@@ -101,10 +94,9 @@
// "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
// "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
// "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
-
/* Completeness */
// "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
"skipLibCheck": true /* Skip type checking all .d.ts files. */
},
- "include": ["../scripts/**/*"]
+ "include": ["./**/*"]
}
diff --git a/tsconfigs/tsconfig.actors.json b/tsconfigs/tsconfig.actors.json
deleted file mode 100644
index f89e7a5..0000000
--- a/tsconfigs/tsconfig.actors.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "$schema": "http://json.schemastore.org/tsconfig",
- "extends": "./tsconfig.modules.json",
- "compilerOptions": {
- "outDir": "../dist/actors",
- "rootDir": "../src/actors/"
- },
- "include": ["../src/actors/**/*"]
-}
diff --git a/tsconfigs/tsconfig.modules.json b/tsconfigs/tsconfig.modules.json
deleted file mode 100644
index faffa5e..0000000
--- a/tsconfigs/tsconfig.modules.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "compilerOptions": {
- /* Visit https://aka.ms/tsconfig to read more about this file */
-
- /* Projects */
- // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
- // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
- // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
- // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
- // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
- // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
-
- /* Language and Environment */
- "target": "esnext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
- // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
- // "jsx": "preserve", /* Specify what JSX code is generated. */
- // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
- // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
- // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
- // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
- // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
- // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
- // "noLib": true /* Disable including any library files, including the default lib.d.ts. */,
- // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
- // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
-
- /* Modules */
- "module": "esnext" /* Specify what module code is generated. */,
- "rootDir": "../src/modules/" /* Specify the root folder within your source files. */,
- // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
- // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
- // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
- // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
- // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
- // "types": [], /* Specify type package names to be included without being referenced in a source file. */
- // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
- // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
- // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
- // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */
- // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */
- // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
- // "resolveJsonModule": true, /* Enable importing .json files. */
- // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
- // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */
-
- /* JavaScript Support */
- // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
- // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
- // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
-
- /* Emit */
- // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
- // "declarationMap": true, /* Create sourcemaps for d.ts files. */
- // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
- // "sourceMap": true, /* Create source map files for emitted JavaScript files. */
- // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
- // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
- "outDir": "../dist/modules/" /* Specify an output folder for all emitted files. */,
- // "removeComments": true, /* Disable emitting comments. */
- // "noEmit": true, /* Disable emitting files from a compilation. */
- // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
- // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */
- // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
- // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
- // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
- // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
- // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
- // "newLine": "crlf", /* Set the newline character for emitting files. */
- // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
- // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
- // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
- // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
- // "declarationDir": "./", /* Specify the output directory for generated declaration files. */
- // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
-
- /* Interop Constraints */
- // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
- // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
- // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
- "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
- // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
- "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
-
- /* Type Checking */
- "strict": true /* Enable all strict type-checking options. */,
- // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
- // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
- // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
- // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
- // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
- // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
- // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
- // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
- // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
- // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
- // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
- // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
- // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
- // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
- // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
- // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
- // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
- // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
-
- /* Completeness */
- // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
- "skipLibCheck": true /* Skip type checking all .d.ts files. */
- },
- "include": ["../src/modules/**/*"]
-}
From a869aa76d33066cebb17651b0542132e614fc9bd Mon Sep 17 00:00:00 2001
From: trickypr <23250792+trickypr@users.noreply.github.com>
Date: Tue, 2 Jan 2024 14:49:52 +1100
Subject: [PATCH 04/10] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Bump=20tld=20data?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
apps/content/src/shared/search/providers/data/tld.txt | 6 +-----
package.json | 2 +-
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/apps/content/src/shared/search/providers/data/tld.txt b/apps/content/src/shared/search/providers/data/tld.txt
index fb2417b..225b529 100644
--- a/apps/content/src/shared/search/providers/data/tld.txt
+++ b/apps/content/src/shared/search/providers/data/tld.txt
@@ -1,4 +1,4 @@
-# Version 2023111200, Last Updated Sun Nov 12 07:07:01 2023 UTC
+# Version 2023123101, Last Updated Mon Jan 1 07:07:01 2024 UTC
AAA
AARP
ABB
@@ -379,7 +379,6 @@ ES
ESQ
ESTATE
ET
-ETISALAT
EU
EUROVISION
EUS
@@ -1017,7 +1016,6 @@ SB
SBI
SBS
SC
-SCA
SCB
SCHAEFFLER
SCHMIDT
@@ -1235,7 +1233,6 @@ VIVO
VLAANDEREN
VN
VODKA
-VOLKSWAGEN
VOLVO
VOTE
VOTING
@@ -1370,7 +1367,6 @@ XN--MGB9AWBF
XN--MGBA3A3EJT
XN--MGBA3A4F16A
XN--MGBA7C0BBN0A
-XN--MGBAAKC7DVF
XN--MGBAAM7A8H
XN--MGBAB2BD
XN--MGBAH1A3HJKRD
diff --git a/package.json b/package.json
index b9a9637..06d42a2 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"lint": "eslint .",
"format": "pnpm lint && pnpm script:license-check --fix && prettier . --write --plugin prettier-plugin-svelte",
"data": "concurrently -c auto pnpm:data:*",
- "data:tld": "wget https://data.iana.org/TLD/tlds-alpha-by-domain.txt -O ./src/content/shared/search/providers/data/tld.txt"
+ "data:tld": "wget https://data.iana.org/TLD/tlds-alpha-by-domain.txt -O ./apps/content/src/shared/search/providers/data/tld.txt"
},
"keywords": [],
"author": "",
From 1c4d336a14361e65cd6e8ec5aacb200fe29111e9 Mon Sep 17 00:00:00 2001
From: trickypr <23250792+trickypr@users.noreply.github.com>
Date: Tue, 2 Jan 2024 15:51:09 +1100
Subject: [PATCH 05/10] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Move=20to=20turbo?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 5 +-
apps/content/package.json | 1 +
.../components/keybindings/Keybinding.svelte | 2 +-
.../menus/BrowserContextMenu.svelte | 2 +-
.../components/omnibox/PageAction.svelte | 6 +-
.../src/browser/components/tabs/tabDrag.ts | 3 +-
apps/content/src/browser/lib/window/tab.ts | 2 +-
apps/content/src/browser/lib/window/tabs.ts | 3 +-
apps/content/src/browser/lib/xul/domevents.ts | 3 +-
apps/content/src/history/History.svelte | 5 +-
apps/content/src/shared/Deferred.ts | 35 ---
apps/content/src/shared/ExtBookmarkAPI.ts | 2 +-
apps/content/src/shared/ExtHistoryAPI.ts | 3 +-
.../src/shared/contextMenus/MenuItem.ts | 2 +-
.../src/shared/customizableUI/helpers.ts | 10 +-
apps/content/src/shared/domUtils.ts | 3 +-
apps/content/src/shared/lazy.ts | 17 --
apps/content/src/shared/mittUtils.ts | 21 --
apps/content/src/shared/search/engine.ts | 3 +-
.../shared/search/providers/EngineProvider.ts | 4 +-
.../src/shared/svelteUtils.svelte.license.md | 9 -
apps/content/src/shared/svelteUtils.ts | 122 -----------
apps/content/src/shared/xul/PlacesModel.ts | 199 ------------------
apps/content/src/shared/xul/messageReciver.ts | 14 --
apps/content/src/shared/xul/observable.ts | 22 --
apps/extensions/lib/ext-browser.json | 2 +-
.../en-US/locale/branding/brand.properties | 7 +
apps/misc/static/defaults/pref/prefs.js | 100 ++++-----
libs/shared/package.json | 16 +-
libs/shared/src/utilities/index.ts | 1 +
libs/shared/src/utilities/svelte.ts | 22 +-
libs/shared/src/xul/PlacesModel.ts | 2 +-
package.json | 7 +-
pnpm-lock.yaml | 127 ++++++++---
scripts/lib/fs.ts | 9 +-
turbo.json | 9 +
36 files changed, 229 insertions(+), 571 deletions(-)
delete mode 100644 apps/content/src/shared/Deferred.ts
delete mode 100644 apps/content/src/shared/lazy.ts
delete mode 100644 apps/content/src/shared/mittUtils.ts
delete mode 100644 apps/content/src/shared/svelteUtils.svelte.license.md
delete mode 100644 apps/content/src/shared/svelteUtils.ts
delete mode 100644 apps/content/src/shared/xul/PlacesModel.ts
delete mode 100644 apps/content/src/shared/xul/messageReciver.ts
delete mode 100644 apps/content/src/shared/xul/observable.ts
create mode 100644 apps/misc/static/chrome/en-US/locale/branding/brand.properties
create mode 100644 turbo.json
diff --git a/.gitignore b/.gitignore
index 5286b3c..b685e45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,4 @@
.store/
dist/
node_modules/
-# For some reson, tsc will generate some in place js files
-src/**/*.j*
-!src/prefs.js
-
+**/.turbo
diff --git a/apps/content/package.json b/apps/content/package.json
index f69e4e5..ccec4f2 100644
--- a/apps/content/package.json
+++ b/apps/content/package.json
@@ -33,6 +33,7 @@
"webpack-license-plugin": "^4.4.2"
},
"dependencies": {
+ "@experiment/shared": "workspace:*",
"@catppuccin/palette": "^1.0.1",
"@melt-ui/svelte": "^0.67.0",
"fnts": "^2.1.0",
diff --git a/apps/content/src/browser/components/keybindings/Keybinding.svelte b/apps/content/src/browser/components/keybindings/Keybinding.svelte
index 0a1f8ea..bf02194 100644
--- a/apps/content/src/browser/components/keybindings/Keybinding.svelte
+++ b/apps/content/src/browser/components/keybindings/Keybinding.svelte
@@ -4,8 +4,8 @@