From ade38247d8a4c988e0516ca6c955eaedbe53fe6c Mon Sep 17 00:00:00 2001 From: David Sheldrick Date: Fri, 19 Jan 2024 15:31:01 +0000 Subject: [PATCH] [dotcom] Delete service worker, cache tldraw assets (#2552) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A few things happening here - Delete our service worker. Turns out that a couple of years back browsers decided that a service worker is no longer required for a PWA so you can just have the manifest and still install on the user's device. - Cache tldraw's assets as part of the dotcom vite asset pipeline. This allows them to participate in the asset coalescing (preserving old versions of asset files so old clients don't stop working when you deploy new versions of things, see https://github.com/tldraw/brivate/pull/3132 for more context). - Add a new 'imports.vite.js' file to the assets package, because we import a bunch of json translation files, and vite imports .json files as parsed json objects instead of string urls, and there's no good way to tell it not to. Even if there was we wouldn't want to impose that config on our users. So another way to tell vite to load any asset as a url string is to append `?url` to the end of the import path. That's what this file does. closes [#2486](https://github.com/tldraw/tldraw/issues/2486) ### Change Type - [x] `minor` — New feature [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version ### Release Notes - Fix 'could not load assets' error that we often see on tldraw.com after a deploy --- .eslintignore | 2 + apps/dotcom/.gitignore | 1 - apps/dotcom/package.json | 1 - apps/dotcom/public/manifest.webmanifest | 38 ++ apps/dotcom/public/sw.js | 19 + apps/dotcom/src/components/LocalEditor.tsx | 17 +- apps/dotcom/src/main.tsx | 12 + apps/dotcom/src/utils/assetUrls.ts | 18 +- apps/dotcom/vite.config.ts | 51 +- package.json | 1 + packages/assets/imports.vite.d.ts | 2 + packages/assets/imports.vite.js | 466 +++++++++++++++ packages/assets/package.json | 2 + packages/assets/tsconfig.json | 9 +- scripts/refresh-assets.ts | 12 +- yarn.lock | 634 +-------------------- 16 files changed, 581 insertions(+), 704 deletions(-) create mode 100644 apps/dotcom/public/manifest.webmanifest create mode 100644 apps/dotcom/public/sw.js create mode 100644 packages/assets/imports.vite.d.ts create mode 100644 packages/assets/imports.vite.js diff --git a/.eslintignore b/.eslintignore index ba793d8a1..f0d18f085 100644 --- a/.eslintignore +++ b/.eslintignore @@ -26,3 +26,5 @@ apps/vscode/extension/editor/tldraw-assets.json **/sentry.server.config.js **/scripts/upload-sourcemaps.js **/coverage/**/* + +apps/dotcom/public/sw.js \ No newline at end of file diff --git a/apps/dotcom/.gitignore b/apps/dotcom/.gitignore index e125cc140..f2f34a37e 100644 --- a/apps/dotcom/.gitignore +++ b/apps/dotcom/.gitignore @@ -13,7 +13,6 @@ /out/ # PWA build artifacts -/public/*.js /dev-dist # production diff --git a/apps/dotcom/package.json b/apps/dotcom/package.json index 4d54f8864..fa32dcd4b 100644 --- a/apps/dotcom/package.json +++ b/apps/dotcom/package.json @@ -44,7 +44,6 @@ "fast-glob": "^3.3.1", "lazyrepo": "0.0.0-alpha.27", "vite": "^5.0.0", - "vite-plugin-pwa": "^0.17.0", "ws": "^8.16.0" }, "jest": { diff --git a/apps/dotcom/public/manifest.webmanifest b/apps/dotcom/public/manifest.webmanifest new file mode 100644 index 000000000..e67bef1d0 --- /dev/null +++ b/apps/dotcom/public/manifest.webmanifest @@ -0,0 +1,38 @@ +{ + "name": "tldraw", + "short_name": "tldraw", + "start_url": "/", + "display": "standalone", + "background_color": "#ffffff", + "lang": "en", + "scope": "/", + "description": "a very good free whiteboard", + "icons": [ + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/android-chrome-maskable-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/android-chrome-maskable-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any maskable" + } + ], + "theme_color": "#ffffff", + "orientation": "any" +} \ No newline at end of file diff --git a/apps/dotcom/public/sw.js b/apps/dotcom/public/sw.js new file mode 100644 index 000000000..4e17b2e1b --- /dev/null +++ b/apps/dotcom/public/sw.js @@ -0,0 +1,19 @@ +// Self-destroying service worker +// Taken from https://www.benjaminrancourt.ca/how-to-remove-a-service-worker/ +// Inspired from https://github.com/NekR/self-destroying-sw +self.addEventListener("install", (event) => { + self.skipWaiting(); +}); + +self.addEventListener("activate", (event) => { + self.registration + .unregister() + .then(() => self.clients.matchAll()) + .then((clients) => { + clients.forEach((client) => { + if (client.url && "navigate" in client) { + client.navigate(client.url); + } + }); + }); +}); \ No newline at end of file diff --git a/apps/dotcom/src/components/LocalEditor.tsx b/apps/dotcom/src/components/LocalEditor.tsx index b6af6db46..ae49b55b3 100644 --- a/apps/dotcom/src/components/LocalEditor.tsx +++ b/apps/dotcom/src/components/LocalEditor.tsx @@ -1,8 +1,7 @@ import { Editor, Tldraw } from '@tldraw/tldraw' -import { useCallback, useEffect } from 'react' +import { useCallback } from 'react' import { assetUrls } from '../utils/assetUrls' import { createAssetFromUrl } from '../utils/createAssetFromUrl' -import { isPreviewEnv } from '../utils/env' import { linksUiOverrides } from '../utils/links' import { DebugMenuItems } from '../utils/migration/DebugMenuItems' import { LocalMigration } from '../utils/migration/LocalMigration' @@ -14,8 +13,6 @@ import { ShareMenu } from './ShareMenu' import { SneakyOnDropOverride } from './SneakyOnDropOverride' import { ThemeUpdater } from './ThemeUpdater/ThemeUpdater' -const TLDRAW_REDIRECTED_TO_SIGN_IN = 'tldraw-redirected-to-sign-in' - export function LocalEditor() { const handleUiEvent = useHandleUiEvents() const sharingUiOverrides = useSharing({ isMultiplayer: false }) @@ -25,18 +22,6 @@ export function LocalEditor() { editor.registerExternalAssetHandler('url', createAssetFromUrl) }, []) - // Redirect to sign in if in preview mode - useEffect(() => { - if (isPreviewEnv) { - const alreadyRedirected = localStorage.getItem(TLDRAW_REDIRECTED_TO_SIGN_IN) - // We only want to redirect once so that we can still test the editor - if (alreadyRedirected && alreadyRedirected === 'true') return - localStorage.setItem(TLDRAW_REDIRECTED_TO_SIGN_IN, 'true') - const url = new URL(window.location.href) - window.location.assign(`${url.origin}/sign-in`) - } - }, []) - return (
) + +try { + // we have a dummy service worker that unregisters itself immediately + // this was needed to remove the service worker we used to have from the cache + // we can remove this if we ever need a service worker again, or if enough time passes that + // anybody returning to tldraw.com should not have a service worker running + navigator.serviceWorker.register('/sw.js', { + scope: '/', + }) +} catch (e) { + // ignore +} diff --git a/apps/dotcom/src/utils/assetUrls.ts b/apps/dotcom/src/utils/assetUrls.ts index a1ab66c93..d3616dde2 100644 --- a/apps/dotcom/src/utils/assetUrls.ts +++ b/apps/dotcom/src/utils/assetUrls.ts @@ -1,21 +1,7 @@ // eslint-disable-next-line import/no-internal-modules -import type { AssetUrls } from '@tldraw/assets/types' -// eslint-disable-next-line import/no-internal-modules -import { getAssetUrlsByMetaUrl } from '@tldraw/assets/urls' -import { isProductionEnv } from './env' +import { getAssetUrlsByImport } from '@tldraw/assets/imports.vite' -const _assetUrls = getAssetUrlsByMetaUrl() - -export const assetUrls: AssetUrls = isProductionEnv - ? _assetUrls - : // let's try out shantell sans 'informal' style for a bit on staging/dev - { - ..._assetUrls, - fonts: { - ..._assetUrls.fonts, - draw: '/Shantell_Sans-Tldrawish.woff2', - }, - } +export const assetUrls = getAssetUrlsByImport() let didPreloadIcons = false async function preloadIcons() { diff --git a/apps/dotcom/vite.config.ts b/apps/dotcom/vite.config.ts index 2d2f01239..8347c19bd 100644 --- a/apps/dotcom/vite.config.ts +++ b/apps/dotcom/vite.config.ts @@ -1,7 +1,6 @@ import react from '@vitejs/plugin-react-swc' import { config } from 'dotenv' import { defineConfig } from 'vite' -import { VitePWA, VitePWAOptions } from 'vite-plugin-pwa' config({ path: './.env.local', @@ -11,57 +10,9 @@ export const getMultiplayerServerURL = () => { return process.env.MULTIPLAYER_SERVER?.replace(/^ws/, 'http') ?? 'http://127.0.0.1:8787' } -const pwaConfig: Partial = { - registerType: 'autoUpdate', - // Make sure the service worker doesn't try to handle API requests - workbox: { - navigateFallbackDenylist: [/^\/api/], - runtimeCaching: [{ handler: 'NetworkFirst', urlPattern: /\/.*/ }], - }, - // Uncomment this to test the PWA install flow locally - // devOptions: { enabled: true }, - manifest: { - name: 'tldraw', - short_name: 'tldraw', - description: 'a very good free whiteboard', - - icons: [ - { - src: '/android-chrome-512x512.png', - sizes: '512x512', - type: 'image/png', - purpose: 'any', - }, - { - src: '/android-chrome-maskable-512x512.png', - sizes: '512x512', - type: 'image/png', - purpose: 'any maskable', - }, - { - src: '/android-chrome-192x192.png', - sizes: '192x192', - type: 'image/png', - purpose: 'any', - }, - { - src: '/android-chrome-maskable-192x192.png', - sizes: '192x192', - type: 'image/png', - purpose: 'any maskable', - }, - ], - theme_color: '#ffffff', - background_color: '#ffffff', - start_url: '/', - display: 'standalone', - orientation: 'any', - }, -} - // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react({ tsDecorators: true }), VitePWA(pwaConfig)], + plugins: [react({ tsDecorators: true })], publicDir: './public', build: { // output source maps to .map files and include //sourceMappingURL comments in JavaScript files diff --git a/package.json b/package.json index 4dcbf36ba..e209b9cd7 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "build-types": "lazy inherit", "build-api": "lazy build-api", "build-package": "lazy build-package", + "preview-app": "VITE_PREVIEW=1 yarn dev-app", "lint": "lazy lint", "format": "prettier --write --cache \"**/*.{ts,tsx,js,jsx,json}\"", "typecheck": "yarn refresh-assets && tsx scripts/typecheck.ts", diff --git a/packages/assets/imports.vite.d.ts b/packages/assets/imports.vite.d.ts new file mode 100644 index 000000000..70601de48 --- /dev/null +++ b/packages/assets/imports.vite.d.ts @@ -0,0 +1,2 @@ +import { AssetUrlOptions, AssetUrls } from './types' +export function getAssetUrlsByImport(opts?: AssetUrlOptions): AssetUrls diff --git a/packages/assets/imports.vite.js b/packages/assets/imports.vite.js new file mode 100644 index 000000000..478dee9cc --- /dev/null +++ b/packages/assets/imports.vite.js @@ -0,0 +1,466 @@ +// This file is automatically generated by scripts/refresh-assets.ts. +// Do not edit manually. + +// eslint-disable-next-line @typescript-eslint/triple-slash-reference +/// +import { formatAssetUrl } from './utils.js' + +import embedIconsCodepen from './embed-icons/codepen.png?url' +import embedIconsCodesandbox from './embed-icons/codesandbox.png?url' +import embedIconsExcalidraw from './embed-icons/excalidraw.png?url' +import embedIconsFelt from './embed-icons/felt.png?url' +import embedIconsFigma from './embed-icons/figma.png?url' +import embedIconsGithubGist from './embed-icons/github_gist.png?url' +import embedIconsGoogleCalendar from './embed-icons/google_calendar.png?url' +import embedIconsGoogleMaps from './embed-icons/google_maps.png?url' +import embedIconsGoogleSlides from './embed-icons/google_slides.png?url' +import embedIconsObservable from './embed-icons/observable.png?url' +import embedIconsReplit from './embed-icons/replit.png?url' +import embedIconsScratch from './embed-icons/scratch.png?url' +import embedIconsSpotify from './embed-icons/spotify.png?url' +import embedIconsTldraw from './embed-icons/tldraw.png?url' +import embedIconsValTown from './embed-icons/val_town.png?url' +import embedIconsVimeo from './embed-icons/vimeo.png?url' +import embedIconsYoutube from './embed-icons/youtube.png?url' +import fontsMonospace from './fonts/IBMPlexMono-Medium.woff2?url' +import fontsSansSerif from './fonts/IBMPlexSans-Medium.woff2?url' +import fontsSerif from './fonts/IBMPlexSerif-Medium.woff2?url' +import fontsDraw from './fonts/Shantell_Sans-Tldrawish.woff2?url' +import iconsAlignBottomCenter from './icons/icon/align-bottom-center.svg?url' +import iconsAlignBottomLeft from './icons/icon/align-bottom-left.svg?url' +import iconsAlignBottomRight from './icons/icon/align-bottom-right.svg?url' +import iconsAlignBottom from './icons/icon/align-bottom.svg?url' +import iconsAlignCenterCenter from './icons/icon/align-center-center.svg?url' +import iconsAlignCenterHorizontal from './icons/icon/align-center-horizontal.svg?url' +import iconsAlignCenterLeft from './icons/icon/align-center-left.svg?url' +import iconsAlignCenterRight from './icons/icon/align-center-right.svg?url' +import iconsAlignCenterVertical from './icons/icon/align-center-vertical.svg?url' +import iconsAlignLeft from './icons/icon/align-left.svg?url' +import iconsAlignRight from './icons/icon/align-right.svg?url' +import iconsAlignTopCenter from './icons/icon/align-top-center.svg?url' +import iconsAlignTopLeft from './icons/icon/align-top-left.svg?url' +import iconsAlignTopRight from './icons/icon/align-top-right.svg?url' +import iconsAlignTop from './icons/icon/align-top.svg?url' +import iconsArrowLeft from './icons/icon/arrow-left.svg?url' +import iconsArrowheadArrow from './icons/icon/arrowhead-arrow.svg?url' +import iconsArrowheadBar from './icons/icon/arrowhead-bar.svg?url' +import iconsArrowheadDiamond from './icons/icon/arrowhead-diamond.svg?url' +import iconsArrowheadDot from './icons/icon/arrowhead-dot.svg?url' +import iconsArrowheadNone from './icons/icon/arrowhead-none.svg?url' +import iconsArrowheadSquare from './icons/icon/arrowhead-square.svg?url' +import iconsArrowheadTriangleInverted from './icons/icon/arrowhead-triangle-inverted.svg?url' +import iconsArrowheadTriangle from './icons/icon/arrowhead-triangle.svg?url' +import iconsAspectRatio from './icons/icon/aspect-ratio.svg?url' +import iconsAvatar from './icons/icon/avatar.svg?url' +import iconsBlob from './icons/icon/blob.svg?url' +import iconsBringForward from './icons/icon/bring-forward.svg?url' +import iconsBringToFront from './icons/icon/bring-to-front.svg?url' +import iconsCheck from './icons/icon/check.svg?url' +import iconsCheckboxChecked from './icons/icon/checkbox-checked.svg?url' +import iconsCheckboxEmpty from './icons/icon/checkbox-empty.svg?url' +import iconsChevronDown from './icons/icon/chevron-down.svg?url' +import iconsChevronLeft from './icons/icon/chevron-left.svg?url' +import iconsChevronRight from './icons/icon/chevron-right.svg?url' +import iconsChevronUp from './icons/icon/chevron-up.svg?url' +import iconsChevronsNe from './icons/icon/chevrons-ne.svg?url' +import iconsChevronsSw from './icons/icon/chevrons-sw.svg?url' +import iconsClipboardCopied from './icons/icon/clipboard-copied.svg?url' +import iconsClipboardCopy from './icons/icon/clipboard-copy.svg?url' +import iconsCode from './icons/icon/code.svg?url' +import iconsCollab from './icons/icon/collab.svg?url' +import iconsColor from './icons/icon/color.svg?url' +import iconsComment from './icons/icon/comment.svg?url' +import iconsCross2 from './icons/icon/cross-2.svg?url' +import iconsCross from './icons/icon/cross.svg?url' +import iconsDashDashed from './icons/icon/dash-dashed.svg?url' +import iconsDashDotted from './icons/icon/dash-dotted.svg?url' +import iconsDashDraw from './icons/icon/dash-draw.svg?url' +import iconsDashSolid from './icons/icon/dash-solid.svg?url' +import iconsDiscord from './icons/icon/discord.svg?url' +import iconsDistributeHorizontal from './icons/icon/distribute-horizontal.svg?url' +import iconsDistributeVertical from './icons/icon/distribute-vertical.svg?url' +import iconsDot from './icons/icon/dot.svg?url' +import iconsDotsHorizontal from './icons/icon/dots-horizontal.svg?url' +import iconsDotsVertical from './icons/icon/dots-vertical.svg?url' +import iconsDragHandleDots from './icons/icon/drag-handle-dots.svg?url' +import iconsDuplicate from './icons/icon/duplicate.svg?url' +import iconsEdit from './icons/icon/edit.svg?url' +import iconsExternalLink from './icons/icon/external-link.svg?url' +import iconsFile from './icons/icon/file.svg?url' +import iconsFillNone from './icons/icon/fill-none.svg?url' +import iconsFillPattern from './icons/icon/fill-pattern.svg?url' +import iconsFillSemi from './icons/icon/fill-semi.svg?url' +import iconsFillSolid from './icons/icon/fill-solid.svg?url' +import iconsFollow from './icons/icon/follow.svg?url' +import iconsFollowing from './icons/icon/following.svg?url' +import iconsFontDraw from './icons/icon/font-draw.svg?url' +import iconsFontMono from './icons/icon/font-mono.svg?url' +import iconsFontSans from './icons/icon/font-sans.svg?url' +import iconsFontSerif from './icons/icon/font-serif.svg?url' +import iconsGeoArrowDown from './icons/icon/geo-arrow-down.svg?url' +import iconsGeoArrowLeft from './icons/icon/geo-arrow-left.svg?url' +import iconsGeoArrowRight from './icons/icon/geo-arrow-right.svg?url' +import iconsGeoArrowUp from './icons/icon/geo-arrow-up.svg?url' +import iconsGeoCheckBox from './icons/icon/geo-check-box.svg?url' +import iconsGeoCloud from './icons/icon/geo-cloud.svg?url' +import iconsGeoDiamond from './icons/icon/geo-diamond.svg?url' +import iconsGeoEllipse from './icons/icon/geo-ellipse.svg?url' +import iconsGeoHexagon from './icons/icon/geo-hexagon.svg?url' +import iconsGeoOctagon from './icons/icon/geo-octagon.svg?url' +import iconsGeoOval from './icons/icon/geo-oval.svg?url' +import iconsGeoPentagon from './icons/icon/geo-pentagon.svg?url' +import iconsGeoRectangle from './icons/icon/geo-rectangle.svg?url' +import iconsGeoRhombus2 from './icons/icon/geo-rhombus-2.svg?url' +import iconsGeoRhombus from './icons/icon/geo-rhombus.svg?url' +import iconsGeoStar from './icons/icon/geo-star.svg?url' +import iconsGeoTrapezoid from './icons/icon/geo-trapezoid.svg?url' +import iconsGeoTriangle from './icons/icon/geo-triangle.svg?url' +import iconsGeoXBox from './icons/icon/geo-x-box.svg?url' +import iconsGithub from './icons/icon/github.svg?url' +import iconsGroup from './icons/icon/group.svg?url' +import iconsHidden from './icons/icon/hidden.svg?url' +import iconsImage from './icons/icon/image.svg?url' +import iconsInfoCircle from './icons/icon/info-circle.svg?url' +import iconsLeading from './icons/icon/leading.svg?url' +import iconsLink from './icons/icon/link.svg?url' +import iconsLockSmall from './icons/icon/lock-small.svg?url' +import iconsLock from './icons/icon/lock.svg?url' +import iconsMenu from './icons/icon/menu.svg?url' +import iconsMinus from './icons/icon/minus.svg?url' +import iconsMixed from './icons/icon/mixed.svg?url' +import iconsPack from './icons/icon/pack.svg?url' +import iconsPage from './icons/icon/page.svg?url' +import iconsPlus from './icons/icon/plus.svg?url' +import iconsQuestionMarkCircle from './icons/icon/question-mark-circle.svg?url' +import iconsQuestionMark from './icons/icon/question-mark.svg?url' +import iconsRedo from './icons/icon/redo.svg?url' +import iconsResetZoom from './icons/icon/reset-zoom.svg?url' +import iconsRotateCcw from './icons/icon/rotate-ccw.svg?url' +import iconsRotateCw from './icons/icon/rotate-cw.svg?url' +import iconsRuler from './icons/icon/ruler.svg?url' +import iconsSearch from './icons/icon/search.svg?url' +import iconsSendBackward from './icons/icon/send-backward.svg?url' +import iconsSendToBack from './icons/icon/send-to-back.svg?url' +import iconsSettingsHorizontal from './icons/icon/settings-horizontal.svg?url' +import iconsSettingsVertical1 from './icons/icon/settings-vertical-1.svg?url' +import iconsSettingsVertical from './icons/icon/settings-vertical.svg?url' +import iconsShare1 from './icons/icon/share-1.svg?url' +import iconsShare2 from './icons/icon/share-2.svg?url' +import iconsSizeExtraLarge from './icons/icon/size-extra-large.svg?url' +import iconsSizeLarge from './icons/icon/size-large.svg?url' +import iconsSizeMedium from './icons/icon/size-medium.svg?url' +import iconsSizeSmall from './icons/icon/size-small.svg?url' +import iconsSplineCubic from './icons/icon/spline-cubic.svg?url' +import iconsSplineLine from './icons/icon/spline-line.svg?url' +import iconsStackHorizontal from './icons/icon/stack-horizontal.svg?url' +import iconsStackVertical from './icons/icon/stack-vertical.svg?url' +import iconsStatusOffline from './icons/icon/status-offline.svg?url' +import iconsStatusOnline from './icons/icon/status-online.svg?url' +import iconsStretchHorizontal from './icons/icon/stretch-horizontal.svg?url' +import iconsStretchVertical from './icons/icon/stretch-vertical.svg?url' +import iconsTextAlignCenter from './icons/icon/text-align-center.svg?url' +import iconsTextAlignJustify from './icons/icon/text-align-justify.svg?url' +import iconsTextAlignLeft from './icons/icon/text-align-left.svg?url' +import iconsTextAlignRight from './icons/icon/text-align-right.svg?url' +import iconsToolArrow from './icons/icon/tool-arrow.svg?url' +import iconsToolEmbed from './icons/icon/tool-embed.svg?url' +import iconsToolEraser from './icons/icon/tool-eraser.svg?url' +import iconsToolFrame from './icons/icon/tool-frame.svg?url' +import iconsToolHand from './icons/icon/tool-hand.svg?url' +import iconsToolHighlight from './icons/icon/tool-highlight.svg?url' +import iconsToolLaser from './icons/icon/tool-laser.svg?url' +import iconsToolLine from './icons/icon/tool-line.svg?url' +import iconsToolMedia from './icons/icon/tool-media.svg?url' +import iconsToolNote from './icons/icon/tool-note.svg?url' +import iconsToolPencil from './icons/icon/tool-pencil.svg?url' +import iconsToolPointer from './icons/icon/tool-pointer.svg?url' +import iconsToolText from './icons/icon/tool-text.svg?url' +import iconsTrash from './icons/icon/trash.svg?url' +import iconsTriangleDown from './icons/icon/triangle-down.svg?url' +import iconsTriangleUp from './icons/icon/triangle-up.svg?url' +import iconsTwitter from './icons/icon/twitter.svg?url' +import iconsUndo from './icons/icon/undo.svg?url' +import iconsUngroup from './icons/icon/ungroup.svg?url' +import iconsUnlockSmall from './icons/icon/unlock-small.svg?url' +import iconsUnlock from './icons/icon/unlock.svg?url' +import iconsVerticalAlignCenter from './icons/icon/vertical-align-center.svg?url' +import iconsVerticalAlignEnd from './icons/icon/vertical-align-end.svg?url' +import iconsVerticalAlignStart from './icons/icon/vertical-align-start.svg?url' +import iconsVisible from './icons/icon/visible.svg?url' +import iconsWarningTriangle from './icons/icon/warning-triangle.svg?url' +import iconsZoomIn from './icons/icon/zoom-in.svg?url' +import iconsZoomOut from './icons/icon/zoom-out.svg?url' +import translationsAr from './translations/ar.json?url' +import translationsCa from './translations/ca.json?url' +import translationsCs from './translations/cs.json?url' +import translationsDa from './translations/da.json?url' +import translationsDe from './translations/de.json?url' +import translationsEn from './translations/en.json?url' +import translationsEs from './translations/es.json?url' +import translationsFa from './translations/fa.json?url' +import translationsFi from './translations/fi.json?url' +import translationsFr from './translations/fr.json?url' +import translationsGl from './translations/gl.json?url' +import translationsHe from './translations/he.json?url' +import translationsHiIn from './translations/hi-in.json?url' +import translationsHu from './translations/hu.json?url' +import translationsIt from './translations/it.json?url' +import translationsJa from './translations/ja.json?url' +import translationsKoKr from './translations/ko-kr.json?url' +import translationsKu from './translations/ku.json?url' +import translationsLanguages from './translations/languages.json?url' +import translationsMain from './translations/main.json?url' +import translationsMy from './translations/my.json?url' +import translationsNe from './translations/ne.json?url' +import translationsNo from './translations/no.json?url' +import translationsPl from './translations/pl.json?url' +import translationsPtBr from './translations/pt-br.json?url' +import translationsPtPt from './translations/pt-pt.json?url' +import translationsRo from './translations/ro.json?url' +import translationsRu from './translations/ru.json?url' +import translationsSv from './translations/sv.json?url' +import translationsTe from './translations/te.json?url' +import translationsTh from './translations/th.json?url' +import translationsTr from './translations/tr.json?url' +import translationsUk from './translations/uk.json?url' +import translationsVi from './translations/vi.json?url' +import translationsZhCn from './translations/zh-cn.json?url' +import translationsZhTw from './translations/zh-tw.json?url' + +/** + * @param {AssetUrlOptions} [opts] + * @public + */ +export function getAssetUrlsByImport(opts) { + return { + fonts: { + monospace: formatAssetUrl(fontsMonospace, opts), + sansSerif: formatAssetUrl(fontsSansSerif, opts), + serif: formatAssetUrl(fontsSerif, opts), + draw: formatAssetUrl(fontsDraw, opts), + }, + icons: { + 'align-bottom-center': formatAssetUrl(iconsAlignBottomCenter, opts), + 'align-bottom-left': formatAssetUrl(iconsAlignBottomLeft, opts), + 'align-bottom-right': formatAssetUrl(iconsAlignBottomRight, opts), + 'align-bottom': formatAssetUrl(iconsAlignBottom, opts), + 'align-center-center': formatAssetUrl(iconsAlignCenterCenter, opts), + 'align-center-horizontal': formatAssetUrl(iconsAlignCenterHorizontal, opts), + 'align-center-left': formatAssetUrl(iconsAlignCenterLeft, opts), + 'align-center-right': formatAssetUrl(iconsAlignCenterRight, opts), + 'align-center-vertical': formatAssetUrl(iconsAlignCenterVertical, opts), + 'align-left': formatAssetUrl(iconsAlignLeft, opts), + 'align-right': formatAssetUrl(iconsAlignRight, opts), + 'align-top-center': formatAssetUrl(iconsAlignTopCenter, opts), + 'align-top-left': formatAssetUrl(iconsAlignTopLeft, opts), + 'align-top-right': formatAssetUrl(iconsAlignTopRight, opts), + 'align-top': formatAssetUrl(iconsAlignTop, opts), + 'arrow-left': formatAssetUrl(iconsArrowLeft, opts), + 'arrowhead-arrow': formatAssetUrl(iconsArrowheadArrow, opts), + 'arrowhead-bar': formatAssetUrl(iconsArrowheadBar, opts), + 'arrowhead-diamond': formatAssetUrl(iconsArrowheadDiamond, opts), + 'arrowhead-dot': formatAssetUrl(iconsArrowheadDot, opts), + 'arrowhead-none': formatAssetUrl(iconsArrowheadNone, opts), + 'arrowhead-square': formatAssetUrl(iconsArrowheadSquare, opts), + 'arrowhead-triangle-inverted': formatAssetUrl(iconsArrowheadTriangleInverted, opts), + 'arrowhead-triangle': formatAssetUrl(iconsArrowheadTriangle, opts), + 'aspect-ratio': formatAssetUrl(iconsAspectRatio, opts), + avatar: formatAssetUrl(iconsAvatar, opts), + blob: formatAssetUrl(iconsBlob, opts), + 'bring-forward': formatAssetUrl(iconsBringForward, opts), + 'bring-to-front': formatAssetUrl(iconsBringToFront, opts), + check: formatAssetUrl(iconsCheck, opts), + 'checkbox-checked': formatAssetUrl(iconsCheckboxChecked, opts), + 'checkbox-empty': formatAssetUrl(iconsCheckboxEmpty, opts), + 'chevron-down': formatAssetUrl(iconsChevronDown, opts), + 'chevron-left': formatAssetUrl(iconsChevronLeft, opts), + 'chevron-right': formatAssetUrl(iconsChevronRight, opts), + 'chevron-up': formatAssetUrl(iconsChevronUp, opts), + 'chevrons-ne': formatAssetUrl(iconsChevronsNe, opts), + 'chevrons-sw': formatAssetUrl(iconsChevronsSw, opts), + 'clipboard-copied': formatAssetUrl(iconsClipboardCopied, opts), + 'clipboard-copy': formatAssetUrl(iconsClipboardCopy, opts), + code: formatAssetUrl(iconsCode, opts), + collab: formatAssetUrl(iconsCollab, opts), + color: formatAssetUrl(iconsColor, opts), + comment: formatAssetUrl(iconsComment, opts), + 'cross-2': formatAssetUrl(iconsCross2, opts), + cross: formatAssetUrl(iconsCross, opts), + 'dash-dashed': formatAssetUrl(iconsDashDashed, opts), + 'dash-dotted': formatAssetUrl(iconsDashDotted, opts), + 'dash-draw': formatAssetUrl(iconsDashDraw, opts), + 'dash-solid': formatAssetUrl(iconsDashSolid, opts), + discord: formatAssetUrl(iconsDiscord, opts), + 'distribute-horizontal': formatAssetUrl(iconsDistributeHorizontal, opts), + 'distribute-vertical': formatAssetUrl(iconsDistributeVertical, opts), + dot: formatAssetUrl(iconsDot, opts), + 'dots-horizontal': formatAssetUrl(iconsDotsHorizontal, opts), + 'dots-vertical': formatAssetUrl(iconsDotsVertical, opts), + 'drag-handle-dots': formatAssetUrl(iconsDragHandleDots, opts), + duplicate: formatAssetUrl(iconsDuplicate, opts), + edit: formatAssetUrl(iconsEdit, opts), + 'external-link': formatAssetUrl(iconsExternalLink, opts), + file: formatAssetUrl(iconsFile, opts), + 'fill-none': formatAssetUrl(iconsFillNone, opts), + 'fill-pattern': formatAssetUrl(iconsFillPattern, opts), + 'fill-semi': formatAssetUrl(iconsFillSemi, opts), + 'fill-solid': formatAssetUrl(iconsFillSolid, opts), + follow: formatAssetUrl(iconsFollow, opts), + following: formatAssetUrl(iconsFollowing, opts), + 'font-draw': formatAssetUrl(iconsFontDraw, opts), + 'font-mono': formatAssetUrl(iconsFontMono, opts), + 'font-sans': formatAssetUrl(iconsFontSans, opts), + 'font-serif': formatAssetUrl(iconsFontSerif, opts), + 'geo-arrow-down': formatAssetUrl(iconsGeoArrowDown, opts), + 'geo-arrow-left': formatAssetUrl(iconsGeoArrowLeft, opts), + 'geo-arrow-right': formatAssetUrl(iconsGeoArrowRight, opts), + 'geo-arrow-up': formatAssetUrl(iconsGeoArrowUp, opts), + 'geo-check-box': formatAssetUrl(iconsGeoCheckBox, opts), + 'geo-cloud': formatAssetUrl(iconsGeoCloud, opts), + 'geo-diamond': formatAssetUrl(iconsGeoDiamond, opts), + 'geo-ellipse': formatAssetUrl(iconsGeoEllipse, opts), + 'geo-hexagon': formatAssetUrl(iconsGeoHexagon, opts), + 'geo-octagon': formatAssetUrl(iconsGeoOctagon, opts), + 'geo-oval': formatAssetUrl(iconsGeoOval, opts), + 'geo-pentagon': formatAssetUrl(iconsGeoPentagon, opts), + 'geo-rectangle': formatAssetUrl(iconsGeoRectangle, opts), + 'geo-rhombus-2': formatAssetUrl(iconsGeoRhombus2, opts), + 'geo-rhombus': formatAssetUrl(iconsGeoRhombus, opts), + 'geo-star': formatAssetUrl(iconsGeoStar, opts), + 'geo-trapezoid': formatAssetUrl(iconsGeoTrapezoid, opts), + 'geo-triangle': formatAssetUrl(iconsGeoTriangle, opts), + 'geo-x-box': formatAssetUrl(iconsGeoXBox, opts), + github: formatAssetUrl(iconsGithub, opts), + group: formatAssetUrl(iconsGroup, opts), + hidden: formatAssetUrl(iconsHidden, opts), + image: formatAssetUrl(iconsImage, opts), + 'info-circle': formatAssetUrl(iconsInfoCircle, opts), + leading: formatAssetUrl(iconsLeading, opts), + link: formatAssetUrl(iconsLink, opts), + 'lock-small': formatAssetUrl(iconsLockSmall, opts), + lock: formatAssetUrl(iconsLock, opts), + menu: formatAssetUrl(iconsMenu, opts), + minus: formatAssetUrl(iconsMinus, opts), + mixed: formatAssetUrl(iconsMixed, opts), + pack: formatAssetUrl(iconsPack, opts), + page: formatAssetUrl(iconsPage, opts), + plus: formatAssetUrl(iconsPlus, opts), + 'question-mark-circle': formatAssetUrl(iconsQuestionMarkCircle, opts), + 'question-mark': formatAssetUrl(iconsQuestionMark, opts), + redo: formatAssetUrl(iconsRedo, opts), + 'reset-zoom': formatAssetUrl(iconsResetZoom, opts), + 'rotate-ccw': formatAssetUrl(iconsRotateCcw, opts), + 'rotate-cw': formatAssetUrl(iconsRotateCw, opts), + ruler: formatAssetUrl(iconsRuler, opts), + search: formatAssetUrl(iconsSearch, opts), + 'send-backward': formatAssetUrl(iconsSendBackward, opts), + 'send-to-back': formatAssetUrl(iconsSendToBack, opts), + 'settings-horizontal': formatAssetUrl(iconsSettingsHorizontal, opts), + 'settings-vertical-1': formatAssetUrl(iconsSettingsVertical1, opts), + 'settings-vertical': formatAssetUrl(iconsSettingsVertical, opts), + 'share-1': formatAssetUrl(iconsShare1, opts), + 'share-2': formatAssetUrl(iconsShare2, opts), + 'size-extra-large': formatAssetUrl(iconsSizeExtraLarge, opts), + 'size-large': formatAssetUrl(iconsSizeLarge, opts), + 'size-medium': formatAssetUrl(iconsSizeMedium, opts), + 'size-small': formatAssetUrl(iconsSizeSmall, opts), + 'spline-cubic': formatAssetUrl(iconsSplineCubic, opts), + 'spline-line': formatAssetUrl(iconsSplineLine, opts), + 'stack-horizontal': formatAssetUrl(iconsStackHorizontal, opts), + 'stack-vertical': formatAssetUrl(iconsStackVertical, opts), + 'status-offline': formatAssetUrl(iconsStatusOffline, opts), + 'status-online': formatAssetUrl(iconsStatusOnline, opts), + 'stretch-horizontal': formatAssetUrl(iconsStretchHorizontal, opts), + 'stretch-vertical': formatAssetUrl(iconsStretchVertical, opts), + 'text-align-center': formatAssetUrl(iconsTextAlignCenter, opts), + 'text-align-justify': formatAssetUrl(iconsTextAlignJustify, opts), + 'text-align-left': formatAssetUrl(iconsTextAlignLeft, opts), + 'text-align-right': formatAssetUrl(iconsTextAlignRight, opts), + 'tool-arrow': formatAssetUrl(iconsToolArrow, opts), + 'tool-embed': formatAssetUrl(iconsToolEmbed, opts), + 'tool-eraser': formatAssetUrl(iconsToolEraser, opts), + 'tool-frame': formatAssetUrl(iconsToolFrame, opts), + 'tool-hand': formatAssetUrl(iconsToolHand, opts), + 'tool-highlight': formatAssetUrl(iconsToolHighlight, opts), + 'tool-laser': formatAssetUrl(iconsToolLaser, opts), + 'tool-line': formatAssetUrl(iconsToolLine, opts), + 'tool-media': formatAssetUrl(iconsToolMedia, opts), + 'tool-note': formatAssetUrl(iconsToolNote, opts), + 'tool-pencil': formatAssetUrl(iconsToolPencil, opts), + 'tool-pointer': formatAssetUrl(iconsToolPointer, opts), + 'tool-text': formatAssetUrl(iconsToolText, opts), + trash: formatAssetUrl(iconsTrash, opts), + 'triangle-down': formatAssetUrl(iconsTriangleDown, opts), + 'triangle-up': formatAssetUrl(iconsTriangleUp, opts), + twitter: formatAssetUrl(iconsTwitter, opts), + undo: formatAssetUrl(iconsUndo, opts), + ungroup: formatAssetUrl(iconsUngroup, opts), + 'unlock-small': formatAssetUrl(iconsUnlockSmall, opts), + unlock: formatAssetUrl(iconsUnlock, opts), + 'vertical-align-center': formatAssetUrl(iconsVerticalAlignCenter, opts), + 'vertical-align-end': formatAssetUrl(iconsVerticalAlignEnd, opts), + 'vertical-align-start': formatAssetUrl(iconsVerticalAlignStart, opts), + visible: formatAssetUrl(iconsVisible, opts), + 'warning-triangle': formatAssetUrl(iconsWarningTriangle, opts), + 'zoom-in': formatAssetUrl(iconsZoomIn, opts), + 'zoom-out': formatAssetUrl(iconsZoomOut, opts), + }, + translations: { + ar: formatAssetUrl(translationsAr, opts), + ca: formatAssetUrl(translationsCa, opts), + cs: formatAssetUrl(translationsCs, opts), + da: formatAssetUrl(translationsDa, opts), + de: formatAssetUrl(translationsDe, opts), + en: formatAssetUrl(translationsEn, opts), + es: formatAssetUrl(translationsEs, opts), + fa: formatAssetUrl(translationsFa, opts), + fi: formatAssetUrl(translationsFi, opts), + fr: formatAssetUrl(translationsFr, opts), + gl: formatAssetUrl(translationsGl, opts), + he: formatAssetUrl(translationsHe, opts), + 'hi-in': formatAssetUrl(translationsHiIn, opts), + hu: formatAssetUrl(translationsHu, opts), + it: formatAssetUrl(translationsIt, opts), + ja: formatAssetUrl(translationsJa, opts), + 'ko-kr': formatAssetUrl(translationsKoKr, opts), + ku: formatAssetUrl(translationsKu, opts), + languages: formatAssetUrl(translationsLanguages, opts), + main: formatAssetUrl(translationsMain, opts), + my: formatAssetUrl(translationsMy, opts), + ne: formatAssetUrl(translationsNe, opts), + no: formatAssetUrl(translationsNo, opts), + pl: formatAssetUrl(translationsPl, opts), + 'pt-br': formatAssetUrl(translationsPtBr, opts), + 'pt-pt': formatAssetUrl(translationsPtPt, opts), + ro: formatAssetUrl(translationsRo, opts), + ru: formatAssetUrl(translationsRu, opts), + sv: formatAssetUrl(translationsSv, opts), + te: formatAssetUrl(translationsTe, opts), + th: formatAssetUrl(translationsTh, opts), + tr: formatAssetUrl(translationsTr, opts), + uk: formatAssetUrl(translationsUk, opts), + vi: formatAssetUrl(translationsVi, opts), + 'zh-cn': formatAssetUrl(translationsZhCn, opts), + 'zh-tw': formatAssetUrl(translationsZhTw, opts), + }, + embedIcons: { + codepen: formatAssetUrl(embedIconsCodepen, opts), + codesandbox: formatAssetUrl(embedIconsCodesandbox, opts), + excalidraw: formatAssetUrl(embedIconsExcalidraw, opts), + felt: formatAssetUrl(embedIconsFelt, opts), + figma: formatAssetUrl(embedIconsFigma, opts), + github_gist: formatAssetUrl(embedIconsGithubGist, opts), + google_calendar: formatAssetUrl(embedIconsGoogleCalendar, opts), + google_maps: formatAssetUrl(embedIconsGoogleMaps, opts), + google_slides: formatAssetUrl(embedIconsGoogleSlides, opts), + observable: formatAssetUrl(embedIconsObservable, opts), + replit: formatAssetUrl(embedIconsReplit, opts), + scratch: formatAssetUrl(embedIconsScratch, opts), + spotify: formatAssetUrl(embedIconsSpotify, opts), + tldraw: formatAssetUrl(embedIconsTldraw, opts), + val_town: formatAssetUrl(embedIconsValTown, opts), + vimeo: formatAssetUrl(embedIconsVimeo, opts), + youtube: formatAssetUrl(embedIconsYoutube, opts), + }, + } +} diff --git a/packages/assets/package.json b/packages/assets/package.json index d2cfc6950..be7b1dd87 100644 --- a/packages/assets/package.json +++ b/packages/assets/package.json @@ -31,6 +31,8 @@ "translations", "imports.js", "imports.d.ts", + "imports.vite.js", + "imports.vite.d.ts", "selfHosted.js", "selfHosted.d.ts", "types.d.ts", diff --git a/packages/assets/tsconfig.json b/packages/assets/tsconfig.json index 6abc01d4a..ff0df6ad9 100644 --- a/packages/assets/tsconfig.json +++ b/packages/assets/tsconfig.json @@ -1,6 +1,13 @@ { "extends": "../../config/tsconfig.base.json", - "include": ["urls.js", "imports.js", "selfHosted.js", "utils.js", "modules.d.ts"], + "include": [ + "urls.js", + "imports.js", + "imports.vite.js", + "selfHosted.js", + "utils.js", + "modules.d.ts" + ], "exclude": ["node_modules", "dist", ".tsbuild*"], "compilerOptions": { "outDir": "./.tsbuild", diff --git a/scripts/refresh-assets.ts b/scripts/refresh-assets.ts index 8942c96bc..e429b7efc 100644 --- a/scripts/refresh-assets.ts +++ b/scripts/refresh-assets.ts @@ -298,7 +298,10 @@ async function writeUrlBasedAssetDeclarationFile() { await writeCodeFile('scripts/refresh-assets.ts', 'javascript', codeFilePath, codeFile) } -async function writeImportBasedAssetDeclarationFile(): Promise { +async function writeImportBasedAssetDeclarationFile( + importSuffix: string, + fileName: string +): Promise { let imports = ` // eslint-disable-next-line @typescript-eslint/triple-slash-reference /// @@ -322,7 +325,7 @@ async function writeImportBasedAssetDeclarationFile(): Promise { .replace(/[^a-zA-Z0-9_]/g, '_') .replace(/_+/g, '_') .replace(/_(.)/g, (_, letter) => letter.toUpperCase()) - imports += `import ${variableName} from ${JSON.stringify('./' + href)};\n` + imports += `import ${variableName} from ${JSON.stringify('./' + href + importSuffix)};\n` declarations += `${JSON.stringify(name)}: formatAssetUrl(${variableName}, opts),\n` } declarations += '},\n' @@ -333,7 +336,7 @@ async function writeImportBasedAssetDeclarationFile(): Promise { } ` - const codeFilePath = join(REPO_ROOT, 'packages', 'assets', 'imports.js') + const codeFilePath = join(REPO_ROOT, 'packages', 'assets', fileName) await writeCodeFile( 'scripts/refresh-assets.ts', 'javascript', @@ -408,7 +411,8 @@ async function main() { nicelog('Writing asset declaration file...') await writeAssetDeclarationDTSFile() await writeUrlBasedAssetDeclarationFile() - await writeImportBasedAssetDeclarationFile() + await writeImportBasedAssetDeclarationFile('', 'imports.js') + await writeImportBasedAssetDeclarationFile('?url', 'imports.vite.js') await writeSelfHostedAssetDeclarationFile() nicelog('Done!') } diff --git a/yarn.lock b/yarn.lock index 6e2dc4e00..1f6baa951 100644 --- a/yarn.lock +++ b/yarn.lock @@ -51,19 +51,6 @@ __metadata: languageName: node linkType: hard -"@apideck/better-ajv-errors@npm:^0.3.1": - version: 0.3.6 - resolution: "@apideck/better-ajv-errors@npm:0.3.6" - dependencies: - json-schema: "npm:^0.4.0" - jsonpointer: "npm:^5.0.0" - leven: "npm:^3.1.0" - peerDependencies: - ajv: ">=8" - checksum: d638f4d5654081b874671a5729b111d1bea5960834968847e8b05d5f57bf2f50cf29fd29d0bbb7f0077640785daacec22cf018a5f01501e276ee96d271fe8330 - languageName: node - linkType: hard - "@auto-it/bot-list@npm:10.46.0": version: 10.46.0 resolution: "@auto-it/bot-list@npm:10.46.0" @@ -931,7 +918,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.18.6, @babel/core@npm:^7.20.7, @babel/core@npm:^7.23.5": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.18.6, @babel/core@npm:^7.20.7, @babel/core@npm:^7.23.5": version: 7.23.7 resolution: "@babel/core@npm:7.23.7" dependencies: @@ -1079,7 +1066,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.22.15": +"@babel/helper-module-imports@npm:^7.22.15": version: 7.22.15 resolution: "@babel/helper-module-imports@npm:7.22.15" dependencies: @@ -2152,7 +2139,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.18.6": +"@babel/preset-env@npm:^7.18.6": version: 7.23.8 resolution: "@babel/preset-env@npm:7.23.8" dependencies: @@ -2286,7 +2273,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": version: 7.23.8 resolution: "@babel/runtime@npm:7.23.8" dependencies: @@ -3761,16 +3748,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.3": - version: 0.3.5 - resolution: "@jridgewell/source-map@npm:0.3.5" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.0" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 73838ac43235edecff5efc850c0d759704008937a56b1711b28c261e270fe4bf2dc06d0b08663aeb1ab304f81f6de4f5fb844344403cf53ba7096967a9953cae - languageName: node - linkType: hard - "@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" @@ -5537,64 +5514,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-babel@npm:^5.2.0": - version: 5.3.1 - resolution: "@rollup/plugin-babel@npm:5.3.1" - dependencies: - "@babel/helper-module-imports": "npm:^7.10.4" - "@rollup/pluginutils": "npm:^3.1.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 - checksum: eb3ee5fedd86fa39ad70c2f8e05f14f8b185261b9f63699a01ac7eae664167f2e5cf87377434bf6aadad7eaf2b13c955ac26f8332a02f8d6a46b3c91990a9fbc - languageName: node - linkType: hard - -"@rollup/plugin-node-resolve@npm:^11.2.1": - version: 11.2.1 - resolution: "@rollup/plugin-node-resolve@npm:11.2.1" - dependencies: - "@rollup/pluginutils": "npm:^3.1.0" - "@types/resolve": "npm:1.17.1" - builtin-modules: "npm:^3.1.0" - deepmerge: "npm:^4.2.2" - is-module: "npm:^1.0.0" - resolve: "npm:^1.19.0" - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 8007f6a01d709da1078df19bb5ecb1339f43042786a68d98645e0a4c1765064d1500a1b86b65e12de6ae35d9b1ae693e22e63b3ebb69a627ce81172ea21cc228 - languageName: node - linkType: hard - -"@rollup/plugin-replace@npm:^2.4.1": - version: 2.4.2 - resolution: "@rollup/plugin-replace@npm:2.4.2" - dependencies: - "@rollup/pluginutils": "npm:^3.1.0" - magic-string: "npm:^0.25.7" - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - checksum: fc4844c4cd7286013d4ccb51a7a2c86135024e3940797af1af1f24357622c8e874d9a17acfa4be9d2546542a87b68e158cc8d2c1f2a7926d17b9433eea00f6bf - languageName: node - linkType: hard - -"@rollup/pluginutils@npm:^3.1.0": - version: 3.1.0 - resolution: "@rollup/pluginutils@npm:3.1.0" - dependencies: - "@types/estree": "npm:0.0.39" - estree-walker: "npm:^1.0.1" - picomatch: "npm:^2.2.2" - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 3b69f02893eea42455fb97b81f612ac6bfadf94ac73bebd481ea13e90a693eef52c163210a095b12e574a25603af5e55f86a020889019167f331aa8dd3ff30e0 - languageName: node - linkType: hard - "@rollup/pluginutils@npm:^4.0.0": version: 4.2.1 resolution: "@rollup/pluginutils@npm:4.2.1" @@ -6744,18 +6663,6 @@ __metadata: languageName: node linkType: hard -"@surma/rollup-plugin-off-main-thread@npm:^2.2.3": - version: 2.2.3 - resolution: "@surma/rollup-plugin-off-main-thread@npm:2.2.3" - dependencies: - ejs: "npm:^3.1.6" - json5: "npm:^2.2.0" - magic-string: "npm:^0.25.0" - string.prototype.matchall: "npm:^4.0.6" - checksum: 0c7dc1c1fc396454513dec9ef34e743ffc8662adc20eeaf392a9cca4bd8a4a33af239c057022b6272c3fc438550e3c7099cdea5f50eb61c5058308989c7c48d6 - languageName: node - linkType: hard - "@swc/core-darwin-arm64@npm:1.3.102": version: 1.3.102 resolution: "@swc/core-darwin-arm64@npm:1.3.102" @@ -7682,13 +7589,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:0.0.39": - version: 0.0.39 - resolution: "@types/estree@npm:0.0.39" - checksum: 9f0f20990dbf725470564d4d815d3758ac688b790f601ea98654b6e0b9797dc3c80306fb525abdacd9e75e014e3d09ad326098eaa2ed1851e4823a8e278538aa - languageName: node - linkType: hard - "@types/fs-extra@npm:^11.0.1": version: 11.0.4 resolution: "@types/fs-extra@npm:11.0.4" @@ -8091,15 +7991,6 @@ __metadata: languageName: node linkType: hard -"@types/resolve@npm:1.17.1": - version: 1.17.1 - resolution: "@types/resolve@npm:1.17.1" - dependencies: - "@types/node": "npm:*" - checksum: dc6a6df507656004e242dcb02c784479deca516d5f4b58a1707e708022b269ae147e1da0521f3e8ad0d63638869d87e0adc023f0bd5454aa6f72ac66c7525cf5 - languageName: node - linkType: hard - "@types/responselike@npm:^1.0.0": version: 1.0.3 resolution: "@types/responselike@npm:1.0.3" @@ -8179,13 +8070,6 @@ __metadata: languageName: node linkType: hard -"@types/trusted-types@npm:^2.0.2": - version: 2.0.7 - resolution: "@types/trusted-types@npm:2.0.7" - checksum: 8e4202766a65877efcf5d5a41b7dd458480b36195e580a3b1085ad21e948bc417d55d6f8af1fd2a7ad008015d4117d5fdfe432731157da3c68678487174e4ba3 - languageName: node - linkType: hard - "@types/unist@npm:*, @types/unist@npm:^3.0.0": version: 3.0.2 resolution: "@types/unist@npm:3.0.2" @@ -8871,7 +8755,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.1.0, acorn@npm:^8.11.3, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.0, acorn@npm:^8.8.0, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.0.0, acorn@npm:^8.1.0, acorn@npm:^8.11.3, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.0, acorn@npm:^8.8.0, acorn@npm:^8.8.1, acorn@npm:^8.9.0": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -8941,18 +8825,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.6.0": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" - dependencies: - fast-deep-equal: "npm:^3.1.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.2.2" - checksum: b406f3b79b5756ac53bfe2c20852471b08e122bc1ee4cde08ae4d6a800574d9cd78d60c81c69c63ff81e4da7cd0b638fafbb2303ae580d49cf1600b9059efb85 - languageName: node - linkType: hard - "ansi-colors@npm:4.1.1": version: 4.1.1 resolution: "ansi-colors@npm:4.1.1" @@ -9412,13 +9284,6 @@ __metadata: languageName: node linkType: hard -"async@npm:^3.2.3": - version: 3.2.5 - resolution: "async@npm:3.2.5" - checksum: 323c3615c3f0ab1ac25a6f953296bc0ac3213d5e0f1c0debdb12964e55963af288d570293c11e44f7967af58c06d2a88d0ea588c86ec0fbf62fa98037f604a0f - languageName: node - linkType: hard - "asynciterator.prototype@npm:^1.0.0": version: 1.0.0 resolution: "asynciterator.prototype@npm:1.0.0" @@ -9984,13 +9849,6 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.1.0": - version: 3.3.0 - resolution: "builtin-modules@npm:3.3.0" - checksum: 62e063ab40c0c1efccbfa9ffa31873e4f9d57408cb396a2649981a0ecbce56aabc93c28feaccbc5658c95aab2703ad1d11980e62ec2e5e72637404e1eb60f39e - languageName: node - linkType: hard - "busboy@npm:1.6.0": version: 1.6.0 resolution: "busboy@npm:1.6.0" @@ -10223,7 +10081,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -10681,13 +10539,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.20.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: 90c5b6898610cd075984c58c4f88418a4fb44af08c1b1415e9854c03171bec31b336b7f3e4cefe33de994b3f12b03c5e2d638da4316df83593b9e82554e7e95b - languageName: node - linkType: hard - "commander@npm:^6.1.0": version: 6.2.1 resolution: "commander@npm:6.2.1" @@ -10709,13 +10560,6 @@ __metadata: languageName: node linkType: hard -"common-tags@npm:^1.8.0": - version: 1.8.2 - resolution: "common-tags@npm:1.8.2" - checksum: c665d0f463ee79dda801471ad8da6cb33ff7332ba45609916a508ad3d77ba07ca9deeb452e83f81f24c2b081e2c1315347f23d239210e63d1c5e1a0c7c019fe2 - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -10952,13 +10796,6 @@ __metadata: languageName: node linkType: hard -"crypto-random-string@npm:^2.0.0": - version: 2.0.0 - resolution: "crypto-random-string@npm:2.0.0" - checksum: 0283879f55e7c16fdceacc181f87a0a65c53bc16ffe1d58b9d19a6277adcd71900d02bb2c4843dd55e78c51e30e89b0fec618a7f170ebcc95b33182c28f05fd6 - languageName: node - linkType: hard - "css-select@npm:^5.1.0": version: 5.1.0 resolution: "css-select@npm:5.1.0" @@ -11623,7 +11460,6 @@ __metadata: react-helmet-async: "npm:^1.3.0" react-router-dom: "npm:^6.17.0" vite: "npm:^5.0.0" - vite-plugin-pwa: "npm:^0.17.0" ws: "npm:^8.16.0" languageName: unknown linkType: soft @@ -11722,17 +11558,6 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.6": - version: 3.1.9 - resolution: "ejs@npm:3.1.9" - dependencies: - jake: "npm:^10.8.5" - bin: - ejs: bin/cli.js - checksum: 71f56d37540d2c2d71701f0116710c676f75314a3e997ef8b83515d5d4d2b111c5a72725377caeecb928671bacb84a0d38135f345904812e989847057d59f21a - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.4.601": version: 1.4.630 resolution: "electron-to-chromium@npm:1.4.630" @@ -13119,13 +12944,6 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^1.0.1": - version: 1.0.1 - resolution: "estree-walker@npm:1.0.1" - checksum: 1cf11a0aff7613aa765dc535ed1d83e2a1986207d2353f4795df309a2c55726de3ca4948df635c09969a739dc59e8e2d69f88d3b3d2c6dfc5701257aafd1d11b - languageName: node - linkType: hard - "estree-walker@npm:^3.0.0": version: 3.0.3 resolution: "estree-walker@npm:3.0.3" @@ -13415,7 +13233,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.3, fast-glob@npm:^3.1.1, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.0.3, fast-glob@npm:^3.1.1, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -13537,15 +13355,6 @@ __metadata: languageName: node linkType: hard -"filelist@npm:^1.0.4": - version: 1.0.4 - resolution: "filelist@npm:1.0.4" - dependencies: - minimatch: "npm:^5.0.1" - checksum: 4b436fa944b1508b95cffdfc8176ae6947b92825483639ef1b9a89b27d82f3f8aa22b21eed471993f92709b431670d4e015b39c087d435a61e1bb04564cf51de - languageName: node - linkType: hard - "fill-range@npm:^7.0.1": version: 7.0.1 resolution: "fill-range@npm:7.0.1" @@ -13834,7 +13643,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": +"fs-extra@npm:^9.0.0": version: 9.1.0 resolution: "fs-extra@npm:9.1.0" dependencies: @@ -14048,13 +13857,6 @@ __metadata: languageName: node linkType: hard -"get-own-enumerable-property-symbols@npm:^3.0.0": - version: 3.0.2 - resolution: "get-own-enumerable-property-symbols@npm:3.0.2" - checksum: 8f0331f14159f939830884799f937343c8c0a2c330506094bc12cbee3665d88337fe97a4ea35c002cc2bdba0f5d9975ad7ec3abb925015cdf2a93e76d4759ede - languageName: node - linkType: hard - "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -14250,7 +14052,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.6, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"glob@npm:^7.0.6, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -15028,7 +14830,7 @@ __metadata: languageName: node linkType: hard -"idb@npm:^7.0.1, idb@npm:^7.1.1": +"idb@npm:^7.1.1": version: 7.1.1 resolution: "idb@npm:7.1.1" checksum: 8e33eaebf21055129864acb89932e0739b8c96788e559df24c253ce114d8c6deb977a3b30ea47a9bb8a2ae8a55964861c3df65f360d95745e341cee40d5c17f4 @@ -15510,13 +15312,6 @@ __metadata: languageName: node linkType: hard -"is-module@npm:^1.0.0": - version: 1.0.0 - resolution: "is-module@npm:1.0.0" - checksum: 8cd5390730c7976fb4e8546dd0b38865ee6f7bacfa08dfbb2cc07219606755f0b01709d9361e01f13009bbbd8099fa2927a8ed665118a6105d66e40f1b838c3f - languageName: node - linkType: hard - "is-nan@npm:^1.3.2": version: 1.3.2 resolution: "is-nan@npm:1.3.2" @@ -15550,13 +15345,6 @@ __metadata: languageName: node linkType: hard -"is-obj@npm:^1.0.1": - version: 1.0.1 - resolution: "is-obj@npm:1.0.1" - checksum: 3ccf0efdea12951e0b9c784e2b00e77e87b2f8bd30b42a498548a8afcc11b3287342a2030c308e473e93a7a19c9ea7854c99a8832a476591c727df2a9c79796c - languageName: node - linkType: hard - "is-object@npm:^1.0.1": version: 1.0.2 resolution: "is-object@npm:1.0.2" @@ -15625,13 +15413,6 @@ __metadata: languageName: node linkType: hard -"is-regexp@npm:^1.0.0": - version: 1.0.0 - resolution: "is-regexp@npm:1.0.0" - checksum: be692828e24cba479ec33644326fa98959ec68ba77965e0291088c1a741feaea4919d79f8031708f85fd25e39de002b4520622b55460660b9c369e6f7187faef - languageName: node - linkType: hard - "is-set@npm:^2.0.1, is-set@npm:^2.0.2": version: 2.0.2 resolution: "is-set@npm:2.0.2" @@ -15886,20 +15667,6 @@ __metadata: languageName: node linkType: hard -"jake@npm:^10.8.5": - version: 10.8.7 - resolution: "jake@npm:10.8.7" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.4" - minimatch: "npm:^3.1.2" - bin: - jake: bin/cli.js - checksum: ad1cfe398836df4e6962954e5095597c21c5af1ea5a4182f6adf0869df8aca467a2eeca7869bf44f47120f4dd4ea52589d16050d295c87a5906c0d744775acc3 - languageName: node - linkType: hard - "java-properties@npm:^1.0.0": version: 1.0.2 resolution: "java-properties@npm:1.0.2" @@ -16427,17 +16194,6 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^26.2.1": - version: 26.6.2 - resolution: "jest-worker@npm:26.6.2" - dependencies: - "@types/node": "npm:*" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^7.0.0" - checksum: 5f6b94cf0e8701392a9402fc7af34a1324d334fc6a440d4d55d2d9348114659c035b8d9b259930f9c9e40cbdda0ef9bfe4d7c780e1107057bbe1202672b38533 - languageName: node - linkType: hard - "jest-worker@npm:^28.1.3": version: 28.1.3 resolution: "jest-worker@npm:28.1.3" @@ -16684,7 +16440,7 @@ __metadata: languageName: node linkType: hard -"json-schema@npm:0.4.0, json-schema@npm:^0.4.0": +"json-schema@npm:0.4.0": version: 0.4.0 resolution: "json-schema@npm:0.4.0" checksum: 8b3b64eff4a807dc2a3045b104ed1b9335cd8d57aa74c58718f07f0f48b8baa3293b00af4dcfbdc9144c3aafea1e97982cc27cc8e150fc5d93c540649507a458 @@ -16728,7 +16484,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.2.0, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.1.2, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -16776,13 +16532,6 @@ __metadata: languageName: node linkType: hard -"jsonpointer@npm:^5.0.0": - version: 5.0.1 - resolution: "jsonpointer@npm:5.0.1" - checksum: 0b40f712900ad0c846681ea2db23b6684b9d5eedf55807b4708c656f5894b63507d0e28ae10aa1bddbea551241035afe62b6df0800fc94c2e2806a7f3adecd7c - languageName: node - linkType: hard - "jsonwebtoken@npm:^9.0.0, jsonwebtoken@npm:^9.0.2": version: 9.0.2 resolution: "jsonwebtoken@npm:9.0.2" @@ -17244,7 +16993,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0, lodash@npm:~4.17.15": +"lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0, lodash@npm:~4.17.15": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532 @@ -17361,7 +17110,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.25.0, magic-string@npm:^0.25.3, magic-string@npm:^0.25.7": +"magic-string@npm:^0.25.3": version: 0.25.9 resolution: "magic-string@npm:0.25.9" dependencies: @@ -20306,20 +20055,13 @@ __metadata: languageName: node linkType: hard -"pretty-bytes@npm:5.6.0, pretty-bytes@npm:^5.3.0": +"pretty-bytes@npm:5.6.0": version: 5.6.0 resolution: "pretty-bytes@npm:5.6.0" checksum: 9c082500d1e93434b5b291bd651662936b8bd6204ec9fa17d563116a192d6d86b98f6d328526b4e8d783c07d5499e2614a807520249692da9ec81564b2f439cd languageName: node linkType: hard -"pretty-bytes@npm:^6.1.1": - version: 6.1.1 - resolution: "pretty-bytes@npm:6.1.1" - checksum: 43d29d909d2d88072da2c3d72f8fd0f2d2523c516bfa640aff6e31f596ea1004b6601f4cabc50d14b2cf10e82635ebe5b7d9378f3d5bae1c0067131829421b8a - languageName: node - linkType: hard - "pretty-format@npm:^27.0.2": version: 27.5.1 resolution: "pretty-format@npm:27.5.1" @@ -21440,7 +21182,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.0.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.4, resolve@npm:~1.22.1": +"resolve@npm:^1.0.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.4, resolve@npm:~1.22.1": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -21485,7 +21227,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A~1.22.1#optional!builtin": +"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A~1.22.1#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -21662,20 +21404,6 @@ __metadata: languageName: node linkType: hard -"rollup-plugin-terser@npm:^7.0.0": - version: 7.0.2 - resolution: "rollup-plugin-terser@npm:7.0.2" - dependencies: - "@babel/code-frame": "npm:^7.10.4" - jest-worker: "npm:^26.2.1" - serialize-javascript: "npm:^4.0.0" - terser: "npm:^5.0.0" - peerDependencies: - rollup: ^2.0.0 - checksum: af84bb7a7a894cd00852b6486528dfb8653cf94df4c126f95f389a346f401d054b08c46bee519a2ab6a22b33804d1d6ac6d8c90b1b2bf8fffb097eed73fc3c72 - languageName: node - linkType: hard - "rollup-pluginutils@npm:^2.8.1": version: 2.8.2 resolution: "rollup-pluginutils@npm:2.8.2" @@ -21685,20 +21413,6 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^2.43.1": - version: 2.79.1 - resolution: "rollup@npm:2.79.1" - dependencies: - fsevents: "npm:~2.3.2" - dependenciesMeta: - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: df087b701304432f30922bbee5f534ab189aa6938bd383b5686c03147e0d00cd1789ea10a462361326ce6b6ebe448ce272ad3f3cc40b82eeb3157df12f33663c - languageName: node - linkType: hard - "rollup@npm:^3.27.1": version: 3.29.4 resolution: "rollup@npm:3.29.4" @@ -21978,15 +21692,6 @@ __metadata: languageName: node linkType: hard -"serialize-javascript@npm:^4.0.0": - version: 4.0.0 - resolution: "serialize-javascript@npm:4.0.0" - dependencies: - randombytes: "npm:^2.1.0" - checksum: df6809168973a84facade7d73e2d6dc418f5dee704d1e6cbe79e92fdb4c10af55237e99d2e67881ae3b29aa96ba596a0dfec4e609bd289ab8ec93c5ae78ede8e - languageName: node - linkType: hard - "serve-static@npm:1.15.0": version: 1.15.0 resolution: "serve-static@npm:1.15.0" @@ -22290,7 +21995,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:0.5.21, source-map-support@npm:^0.5.12, source-map-support@npm:^0.5.17, source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20": +"source-map-support@npm:0.5.21, source-map-support@npm:^0.5.12, source-map-support@npm:^0.5.17, source-map-support@npm:^0.5.21": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -22321,15 +22026,6 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.8.0-beta.0": - version: 0.8.0-beta.0 - resolution: "source-map@npm:0.8.0-beta.0" - dependencies: - whatwg-url: "npm:^7.0.0" - checksum: c02e22ab9f8b8e38655ba1e9abae9fe1f8ba216cbbea922718d5e2ea45821606a74f10edec1db9055e7f7cfd1e6a62e5eade67ec30c017a02f4c8e990accbc1c - languageName: node - linkType: hard - "sourcemap-codec@npm:^1.4.8": version: 1.4.8 resolution: "sourcemap-codec@npm:1.4.8" @@ -22638,7 +22334,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.6, string.prototype.matchall@npm:^4.0.8": +"string.prototype.matchall@npm:^4.0.8": version: 4.0.10 resolution: "string.prototype.matchall@npm:4.0.10" dependencies: @@ -22723,17 +22419,6 @@ __metadata: languageName: node linkType: hard -"stringify-object@npm:^3.3.0": - version: 3.3.0 - resolution: "stringify-object@npm:3.3.0" - dependencies: - get-own-enumerable-property-symbols: "npm:^3.0.0" - is-obj: "npm:^1.0.1" - is-regexp: "npm:^1.0.0" - checksum: 973782f09a3df3f39a2cf07dbf43fb9ba6cb32976f3616cd0f6c10e0a5c5415dd72b7b700e72920e8da2bf57c3001b8e37b5af7174bab9a748ce0416989e19b1 - languageName: node - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -22802,13 +22487,6 @@ __metadata: languageName: node linkType: hard -"strip-comments@npm:^2.0.1": - version: 2.0.1 - resolution: "strip-comments@npm:2.0.1" - checksum: 43ea36189e4ba543c6ffb0384831e9e23c3b57ede5592c6edcbfc883f489f91d00328fe2670b4e467f61c7886eff68deae3e946f0f092346b2b3cb058b9cfdba - languageName: node - linkType: hard - "strip-final-newline@npm:^2.0.0": version: 2.0.0 resolution: "strip-final-newline@npm:2.0.0" @@ -23020,25 +22698,6 @@ __metadata: languageName: node linkType: hard -"temp-dir@npm:^2.0.0": - version: 2.0.0 - resolution: "temp-dir@npm:2.0.0" - checksum: cc4f0404bf8d6ae1a166e0e64f3f409b423f4d1274d8c02814a59a5529f07db6cd070a749664141b992b2c1af337fa9bb451a460a43bb9bcddc49f235d3115aa - languageName: node - linkType: hard - -"tempy@npm:^0.6.0": - version: 0.6.0 - resolution: "tempy@npm:0.6.0" - dependencies: - is-stream: "npm:^2.0.0" - temp-dir: "npm:^2.0.0" - type-fest: "npm:^0.16.0" - unique-string: "npm:^2.0.0" - checksum: 64f110666b3892ff00d2b5f9d89a5e0198813cc7e25aa187eca5ce310ff1697ef2cb7239f9eccbe0e8a23c1cdfaae949ce37511fe60ebfc637018ce7e9642a49 - languageName: node - linkType: hard - "terminal-link@npm:^2.0.0, terminal-link@npm:^2.1.1": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -23049,20 +22708,6 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.0.0": - version: 5.26.0 - resolution: "terser@npm:5.26.0" - dependencies: - "@jridgewell/source-map": "npm:^0.3.3" - acorn: "npm:^8.8.2" - commander: "npm:^2.20.0" - source-map-support: "npm:~0.5.20" - bin: - terser: bin/terser - checksum: 0282c5c065cbfa1e725d5609b99579252bc20b83cd1d75e8ab8b46d5da2c9d0fcfc453a12624f2d2d4c1240bfa0017a90fcf1e3b88258e5842fca1b0b82be8d8 - languageName: node - linkType: hard - "test-exclude@npm:^6.0.0": version: 6.0.0 resolution: "test-exclude@npm:6.0.0" @@ -23639,13 +23284,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.16.0": - version: 0.16.0 - resolution: "type-fest@npm:0.16.0" - checksum: fd8c47ccb90e9fe7bae8bfc0e116e200e096120200c1ab1737bf0bc9334b344dd4925f876ed698174ffd58cd179bb56a55467be96aedc22d5d72748eac428bc8 - languageName: node - linkType: hard - "type-fest@npm:^0.20.2": version: 0.20.2 resolution: "type-fest@npm:0.20.2" @@ -23987,15 +23625,6 @@ __metadata: languageName: node linkType: hard -"unique-string@npm:^2.0.0": - version: 2.0.0 - resolution: "unique-string@npm:2.0.0" - dependencies: - crypto-random-string: "npm:^2.0.0" - checksum: 107cae65b0b618296c2c663b8e52e4d1df129e9af04ab38d53b4f2189e96da93f599c85f4589b7ffaf1a11c9327cbb8a34f04c71b8d4950d3e385c2da2a93828 - languageName: node - linkType: hard - "unist-builder@npm:^3.0.0": version: 3.0.1 resolution: "unist-builder@npm:3.0.1" @@ -24182,13 +23811,6 @@ __metadata: languageName: node linkType: hard -"upath@npm:^1.2.0": - version: 1.2.0 - resolution: "upath@npm:1.2.0" - checksum: ac07351d9e913eb7bc9bc0a17ed7d033a52575f0f2959e19726956c3e96f5d4d75aa6a7a777c4c9506e72372f58e06215e581f8dbff35611fc0a7b68ab4a6ddb - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.0.13": version: 1.0.13 resolution: "update-browserslist-db@npm:1.0.13" @@ -24587,23 +24209,6 @@ __metadata: languageName: node linkType: hard -"vite-plugin-pwa@npm:^0.17.0": - version: 0.17.4 - resolution: "vite-plugin-pwa@npm:0.17.4" - dependencies: - debug: "npm:^4.3.4" - fast-glob: "npm:^3.3.2" - pretty-bytes: "npm:^6.1.1" - workbox-build: "npm:^7.0.0" - workbox-window: "npm:^7.0.0" - peerDependencies: - vite: ^3.1.0 || ^4.0.0 || ^5.0.0 - workbox-build: ^7.0.0 - workbox-window: ^7.0.0 - checksum: 4dc3764f074e523dbb620399d4c83637b3219be3fe9cb3dd18664eaa8a39c6aa8c639d83f14127876cae4c0cdb1c7ded7910c26546c38b066f4514e4b58d4849 - languageName: node - linkType: hard - "vite@npm:^3.0.0 || ^4.0.0, vite@npm:^4.1.4": version: 4.5.1 resolution: "vite@npm:4.5.1" @@ -24888,17 +24493,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^7.0.0": - version: 7.1.0 - resolution: "whatwg-url@npm:7.1.0" - dependencies: - lodash.sortby: "npm:^4.7.0" - tr46: "npm:^1.0.1" - webidl-conversions: "npm:^4.0.2" - checksum: 769fd35838b4e50536ae08d836472e86adbedda1d5493ea34353c55468147e7868b91d2535b59e01a9e7331ab7e4cdfdf5490c279c045da23c327cf33e32f755 - languageName: node - linkType: hard - "whatwg-url@npm:^8.4.0": version: 8.7.0 resolution: "whatwg-url@npm:8.7.0" @@ -25032,196 +24626,6 @@ __metadata: languageName: node linkType: hard -"workbox-background-sync@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-background-sync@npm:7.0.0" - dependencies: - idb: "npm:^7.0.1" - workbox-core: "npm:7.0.0" - checksum: 41f89cd970c69bebe1ac648485c89f033ccd116f8140696de5f5489f2138e67ccc30ce33158025b8e312c49ad390f80eb8e372f9c569f5d6f35ab1e6185c2d74 - languageName: node - linkType: hard - -"workbox-broadcast-update@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-broadcast-update@npm:7.0.0" - dependencies: - workbox-core: "npm:7.0.0" - checksum: e6110207465c574327dc89cbedad90795093e181341e2b093141a7171c46d2d4bb5862ba2a3a1e0c753e359f4462bf9929ce911c2082fe566f2551da295abf68 - languageName: node - linkType: hard - -"workbox-build@npm:^7.0.0": - version: 7.0.0 - resolution: "workbox-build@npm:7.0.0" - dependencies: - "@apideck/better-ajv-errors": "npm:^0.3.1" - "@babel/core": "npm:^7.11.1" - "@babel/preset-env": "npm:^7.11.0" - "@babel/runtime": "npm:^7.11.2" - "@rollup/plugin-babel": "npm:^5.2.0" - "@rollup/plugin-node-resolve": "npm:^11.2.1" - "@rollup/plugin-replace": "npm:^2.4.1" - "@surma/rollup-plugin-off-main-thread": "npm:^2.2.3" - ajv: "npm:^8.6.0" - common-tags: "npm:^1.8.0" - fast-json-stable-stringify: "npm:^2.1.0" - fs-extra: "npm:^9.0.1" - glob: "npm:^7.1.6" - lodash: "npm:^4.17.20" - pretty-bytes: "npm:^5.3.0" - rollup: "npm:^2.43.1" - rollup-plugin-terser: "npm:^7.0.0" - source-map: "npm:^0.8.0-beta.0" - stringify-object: "npm:^3.3.0" - strip-comments: "npm:^2.0.1" - tempy: "npm:^0.6.0" - upath: "npm:^1.2.0" - workbox-background-sync: "npm:7.0.0" - workbox-broadcast-update: "npm:7.0.0" - workbox-cacheable-response: "npm:7.0.0" - workbox-core: "npm:7.0.0" - workbox-expiration: "npm:7.0.0" - workbox-google-analytics: "npm:7.0.0" - workbox-navigation-preload: "npm:7.0.0" - workbox-precaching: "npm:7.0.0" - workbox-range-requests: "npm:7.0.0" - workbox-recipes: "npm:7.0.0" - workbox-routing: "npm:7.0.0" - workbox-strategies: "npm:7.0.0" - workbox-streams: "npm:7.0.0" - workbox-sw: "npm:7.0.0" - workbox-window: "npm:7.0.0" - checksum: b7b19cb27053e10de36c49fa90fa3f10e027184ea84d6b96d998120e3c801b123de2f7a0b33358ff7a1390cc729e51c6f0b25ea8c7b2504792cd7585aef9d507 - languageName: node - linkType: hard - -"workbox-cacheable-response@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-cacheable-response@npm:7.0.0" - dependencies: - workbox-core: "npm:7.0.0" - checksum: b18de42a55802f18ecb7d08c6f3dac5f18cded64f36bb74b00eceb01199d2f8362c96d76ee12e75381fb51a06d705d901e3985c24017dc3d3e3fc9fc36282e51 - languageName: node - linkType: hard - -"workbox-core@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-core@npm:7.0.0" - checksum: 680c65e926517a6cd7b515243b9a33a5f4cdc45de31e060fbdc89e28f79b10a2fa211576802a29790cd37fa8a801f3fccfb9cbe371acaa8095c858c9afefc7e6 - languageName: node - linkType: hard - -"workbox-expiration@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-expiration@npm:7.0.0" - dependencies: - idb: "npm:^7.0.1" - workbox-core: "npm:7.0.0" - checksum: a9b23c7c76cbabe8f04567e603428db939cb169cf40c1e5ba1c5a1eb966f7b8a4d0182dffdd3d77917b5edca966be0d6e347b7eff274292256fe6ea9a40fa754 - languageName: node - linkType: hard - -"workbox-google-analytics@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-google-analytics@npm:7.0.0" - dependencies: - workbox-background-sync: "npm:7.0.0" - workbox-core: "npm:7.0.0" - workbox-routing: "npm:7.0.0" - workbox-strategies: "npm:7.0.0" - checksum: e66b390a86b6b9e872e004207c2c920629b45a1be396ec80f9a190986a4e8eaff69bd002f266bd907d0ab7a16cf2b1a8dc3719b0d2bb147640afb6eed795e0d3 - languageName: node - linkType: hard - -"workbox-navigation-preload@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-navigation-preload@npm:7.0.0" - dependencies: - workbox-core: "npm:7.0.0" - checksum: 69bd82c12adabf7a210a3a9d8ce01082ef7276521ba375e0455ba3c17cf42b101783f0ec2af4ab0191989b0ea118794e0c8ebe3800abe806142ac7fef0674ac5 - languageName: node - linkType: hard - -"workbox-precaching@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-precaching@npm:7.0.0" - dependencies: - workbox-core: "npm:7.0.0" - workbox-routing: "npm:7.0.0" - workbox-strategies: "npm:7.0.0" - checksum: 8882d5ba888b08aba5e82656b26cd2f293c5adbb858bdff5e17cb4bf1823063cf51d16d3d6640716de96f11cf458f8aaf33b5ffef1ef07d327df8680711bf02e - languageName: node - linkType: hard - -"workbox-range-requests@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-range-requests@npm:7.0.0" - dependencies: - workbox-core: "npm:7.0.0" - checksum: 8cb991173df19f01f00aa6fee901946d73cdaefb7fef74fda99e53cdfeb0400efebba152f36ba02048af605464b725c743d306ec6e244b1bf6d1fb4df29a284f - languageName: node - linkType: hard - -"workbox-recipes@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-recipes@npm:7.0.0" - dependencies: - workbox-cacheable-response: "npm:7.0.0" - workbox-core: "npm:7.0.0" - workbox-expiration: "npm:7.0.0" - workbox-precaching: "npm:7.0.0" - workbox-routing: "npm:7.0.0" - workbox-strategies: "npm:7.0.0" - checksum: efb84b7eec97cd8423b33cad7d561f7c05db46fbbcdb175f3095e8efe839f5323c7af3fcd784b802fdcc7bf5e33648f95159f5462200884f37ae6aa66498e086 - languageName: node - linkType: hard - -"workbox-routing@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-routing@npm:7.0.0" - dependencies: - workbox-core: "npm:7.0.0" - checksum: 294c4b0f136e39c44678caa736195bd99bf93e55ba3605d0a880e36e7ffc9a4b6be36c2c37bca3ee1f905615641167d5b2a0eab742f46b94536f2c5eaac0e832 - languageName: node - linkType: hard - -"workbox-strategies@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-strategies@npm:7.0.0" - dependencies: - workbox-core: "npm:7.0.0" - checksum: 7d7dbe9dff54c22e01d01238dbf0b3ba259b85c08cbd8b617b9f5104efef948b760848fcf36385d26fd651a2fe57c4faa3d6a4fc2739e05fc684da0a7eb2197a - languageName: node - linkType: hard - -"workbox-streams@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-streams@npm:7.0.0" - dependencies: - workbox-core: "npm:7.0.0" - workbox-routing: "npm:7.0.0" - checksum: a11a134536e21a04d29dd2b0da8a79524ae27c993c98c63db8c6ddf49449a2f9d4d09766c6351cca08538b713e837e7d3ddf93842fd15eea3ecab75bc674cdf2 - languageName: node - linkType: hard - -"workbox-sw@npm:7.0.0": - version: 7.0.0 - resolution: "workbox-sw@npm:7.0.0" - checksum: 2b34da7efad8788e024bb22b25293459a9b0adc19fe185c3d155a4956f67ccdd35829a88b82436b4afe956a99c0ac934e5624a1469a762a53b522c2f32329d34 - languageName: node - linkType: hard - -"workbox-window@npm:7.0.0, workbox-window@npm:^7.0.0": - version: 7.0.0 - resolution: "workbox-window@npm:7.0.0" - dependencies: - "@types/trusted-types": "npm:^2.0.2" - workbox-core: "npm:7.0.0" - checksum: 5511ed9b86602ee6999233fc09ab9da298b7d62dbf865737c920d7f768877f8f9031896fad413f9b34f46ed2db58e0967b66b08cd78cf2f70bd7f734e7cac324 - languageName: node - linkType: hard - "workerd@npm:1.20231030.0": version: 1.20231030.0 resolution: "workerd@npm:1.20231030.0"