diff --git a/apps/landing/package.json b/apps/landing/package.json index d350b5e87..7a472f641 100644 --- a/apps/landing/package.json +++ b/apps/landing/package.json @@ -35,7 +35,7 @@ "ts-node": "^10.9.1", "tsparticles": "^2.3.4", "typescript": "^4.8.4", - "vite": "^3.1.4", + "vite": "^4.0.4", "vite-plugin-ssr": "^0.4.39" }, "devDependencies": { diff --git a/crates/sync/example/web/package.json b/crates/sync/example/web/package.json index 32617cec0..f3fa0746b 100644 --- a/crates/sync/example/web/package.json +++ b/crates/sync/example/web/package.json @@ -15,7 +15,7 @@ "@tanstack/react-query": "^4.10.1", "@vitejs/plugin-react": "^2.1.0", "typescript": "^4.8.2", - "vite": "^3.0.9" + "vite": "^4.0.4" }, "dependencies": { "clsx": "^1.2.1", diff --git a/packages/config/vite/index.js b/packages/config/vite/index.js index 2e863c3ac..3797547c4 100644 --- a/packages/config/vite/index.js +++ b/packages/config/vite/index.js @@ -17,7 +17,19 @@ module.exports = { const item = folderItems.find((i) => i.startsWith(sourcePath.split('/').at(-1))); - return absolutePath + path.extname(item); + const fullPath = absolutePath + path.extname(item); + + const stats = await fs.stat(fullPath); + + if (stats.isDirectory()) { + const directoryItems = await fs.readdir(absolutePath + path.extname(item)); + + const indexFile = directoryItems.find((i) => i.startsWith('index')); + + return `${absolutePath}/${indexFile}`; + } else { + return fullPath; + } } } }; diff --git a/packages/interface/package.json b/packages/interface/package.json index 42958f85b..630002813 100644 --- a/packages/interface/package.json +++ b/packages/interface/package.json @@ -75,7 +75,7 @@ "@vitejs/plugin-react": "^1.3.1", "prettier": "^2.7.1", "typescript": "^4.8.4", - "vite": "^3.1.4", + "vite": "^4.0.4", "vite-plugin-svgr": "^2.2.1" } } diff --git a/packages/interface/src/AppLayout.tsx b/packages/interface/src/AppLayout.tsx index f9de5823c..56f5dcec1 100644 --- a/packages/interface/src/AppLayout.tsx +++ b/packages/interface/src/AppLayout.tsx @@ -2,7 +2,6 @@ import clsx from 'clsx'; import { Suspense } from 'react'; import { Outlet } from 'react-router-dom'; import { useCurrentLibrary } from '@sd/client'; -import { Dialogs } from '@sd/ui'; import { Sidebar } from '~/components/layout/Sidebar'; import { Toasts } from '~/components/primitive/Toasts'; import { useOperatingSystem } from '~/hooks/useOperatingSystem'; diff --git a/packages/interface/src/AppRouter.tsx b/packages/interface/src/AppRouter.tsx index 777478bce..699a5c87c 100644 --- a/packages/interface/src/AppRouter.tsx +++ b/packages/interface/src/AppRouter.tsx @@ -1,42 +1,12 @@ -import { lazy } from '@loadable/component'; -import { Navigate, Route, Routes } from 'react-router-dom'; +import { Route, Routes } from 'react-router-dom'; import { useCurrentLibrary, useInvalidateQuery } from '@sd/client'; +import { AppLayout } from '~/AppLayout'; import { useKeybindHandler } from '~/hooks/useKeyboardHandler'; -import { AppLayout } from './AppLayout'; +import screens from '~/screens'; +import { lazyEl } from '~/util'; -// Using React.lazy breaks hot reload so we don't use it. -const DebugScreen = lazy(() => import('./screens/Debug')); -const SettingsScreen = lazy(() => import('./screens/settings/Settings')); -const TagExplorer = lazy(() => import('./screens/TagExplorer')); -const PhotosScreen = lazy(() => import('./screens/Photos')); -const OverviewScreen = lazy(() => import('./screens/Overview')); -const ContentScreen = lazy(() => import('./screens/Content')); -const LocationExplorer = lazy(() => import('./screens/LocationExplorer')); -const OnboardingScreen = lazy(() => import('./components/onboarding/Onboarding')); -const NotFound = lazy(() => import('./NotFound')); - -const AppearanceSettings = lazy(() => import('./screens/settings/client/AppearanceSettings')); -const ExtensionSettings = lazy(() => import('./screens/settings/client/ExtensionsSettings')); -const GeneralSettings = lazy(() => import('./screens/settings/client/GeneralSettings')); -const KeybindingSettings = lazy(() => import('./screens/settings/client/KeybindingSettings')); -const PrivacySettings = lazy(() => import('./screens/settings/client/PrivacySettings')); -const AboutSpacedrive = lazy(() => import('./screens/settings/info/AboutSpacedrive')); -const Changelog = lazy(() => import('./screens/settings/info/Changelog')); -const Support = lazy(() => import('./screens/settings/info/Support')); -const ContactsSettings = lazy(() => import('./screens/settings/library/ContactsSettings')); -const KeysSettings = lazy(() => import('./screens/settings/library/KeysSetting')); -const LibraryGeneralSettings = lazy( - () => import('./screens/settings/library/LibraryGeneralSettings') -); -const LocationSettings = lazy(() => import('./screens/settings/library/LocationSettings')); -const NodesSettings = lazy(() => import('./screens/settings/library/NodesSettings')); -const SecuritySettings = lazy(() => import('./screens/settings/library/SecuritySettings')); -const SharingSettings = lazy(() => import('./screens/settings/library/SharingSettings')); -const SyncSettings = lazy(() => import('./screens/settings/library/SyncSettings')); -const TagsSettings = lazy(() => import('./screens/settings/library/TagsSettings')); -const ExperimentalSettings = lazy(() => import('./screens/settings/node/ExperimentalSettings')); -const LibrarySettings = lazy(() => import('./screens/settings/node/LibrariesSettings')); -const P2PSettings = lazy(() => import('./screens/settings/node/P2PSettings')); +const Onboarding = lazyEl(() => import('./components/onboarding/Onboarding')); +const NotFound = lazyEl(() => import('./NotFound')); export function AppRouter() { const { library } = useCurrentLibrary(); @@ -46,7 +16,7 @@ export function AppRouter() { return ( - } /> + }> {/* As we are caching the libraries in localStore so this *shouldn't* result is visual problems unless something else is wrong */} {library === undefined ? ( @@ -58,40 +28,8 @@ export function AppRouter() { /> ) : ( <> - } /> - } /> - } /> - } /> - } /> - }> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - - } /> - } /> - } /> + {screens} + )} diff --git a/packages/interface/src/screens/index.tsx b/packages/interface/src/screens/index.tsx new file mode 100644 index 000000000..ff9cbb6d7 --- /dev/null +++ b/packages/interface/src/screens/index.tsx @@ -0,0 +1,32 @@ +import { Navigate, Route, RouteProps } from 'react-router-dom'; +import { lazyEl } from '~/util'; +import settingsScreens from './settings'; + +const routes: RouteProps[] = [ + { + index: true, + element: + }, + { + path: 'overview', + element: lazyEl(() => import('./Overview')) + }, + { path: 'content', element: lazyEl(() => import('./Content')) }, + { path: 'photos', element: lazyEl(() => import('./Photos')) }, + { path: 'debug', element: lazyEl(() => import('./Debug')) }, + { path: 'location/:id', element: lazyEl(() => import('./LocationExplorer')) }, + { path: 'tag/:id', element: lazyEl(() => import('./TagExplorer')) }, + { + path: 'settings', + element: lazyEl(() => import('./settings/Layout')), + children: settingsScreens + } +]; + +export default ( + <> + {routes.map((route) => ( + + ))} + +); diff --git a/packages/interface/src/screens/settings/Settings.tsx b/packages/interface/src/screens/settings/Layout.tsx similarity index 100% rename from packages/interface/src/screens/settings/Settings.tsx rename to packages/interface/src/screens/settings/Layout.tsx diff --git a/packages/interface/src/screens/settings/index.tsx b/packages/interface/src/screens/settings/index.tsx new file mode 100644 index 000000000..b1c757d77 --- /dev/null +++ b/packages/interface/src/screens/settings/index.tsx @@ -0,0 +1,37 @@ +import { Navigate, Route, RouteProps } from 'react-router-dom'; +import { lazyEl } from '~/util'; + +const routes: RouteProps[] = [ + { index: true, element: }, + { path: 'general', element: lazyEl(() => import('./client/GeneralSettings')) }, + { path: 'appearance', element: lazyEl(() => import('./client/AppearanceSettings')) }, + { path: 'keybindings', element: lazyEl(() => import('./client/KeybindingSettings')) }, + { path: 'extensions', element: lazyEl(() => import('./client/ExtensionsSettings')) }, + { path: 'p2p', element: lazyEl(() => import('./node/P2PSettings')) }, + { path: 'contacts', element: lazyEl(() => import('./library/ContactsSettings')) }, + { path: 'experimental', element: lazyEl(() => import('./node/ExperimentalSettings')) }, + { path: 'keys', element: lazyEl(() => import('./library/KeysSetting')) }, + { path: 'libraries', element: lazyEl(() => import('./node/LibrariesSettings')) }, + { path: 'security', element: lazyEl(() => import('./library/SecuritySettings')) }, + { path: 'locations', element: lazyEl(() => import('./library/LocationSettings')) }, + { path: 'sharing', element: lazyEl(() => import('./library/SharingSettings')) }, + { path: 'sync', element: lazyEl(() => import('./library/SyncSettings')) }, + { path: 'tags', element: lazyEl(() => import('./library/TagsSettings')) }, + { path: 'library', element: lazyEl(() => import('./library/LibraryGeneralSettings')) }, + { path: 'locations', element: lazyEl(() => import('./library/LocationSettings')) }, + { path: 'tags', element: lazyEl(() => import('./library/TagsSettings')) }, + { path: 'nodes', element: lazyEl(() => import('./library/NodesSettings')) }, + { path: 'keys', element: lazyEl(() => import('./library/KeysSetting')) }, + { path: 'privacy', element: lazyEl(() => import('./client/PrivacySettings')) }, + { path: 'about', element: lazyEl(() => import('./info/AboutSpacedrive')) }, + { path: 'changelog', element: lazyEl(() => import('./info/Changelog')) }, + { path: 'support', element: lazyEl(() => import('./info/Support')) } +]; + +export default ( + <> + {routes.map((route) => ( + + ))} + +); diff --git a/packages/interface/src/util/index.tsx b/packages/interface/src/util/index.tsx new file mode 100644 index 000000000..4511a3be0 --- /dev/null +++ b/packages/interface/src/util/index.tsx @@ -0,0 +1,7 @@ +import { lazy } from '@loadable/component'; +import { ReactNode } from 'react'; + +export function lazyEl(fn: Parameters[0]): ReactNode { + const Element = lazy(fn); + return ; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4296912a8..7f1e7f2e0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -119,7 +119,7 @@ importers: ts-node: ^10.9.1 tsparticles: ^2.3.4 typescript: ^4.8.4 - vite: ^3.1.4 + vite: ^4.0.4 vite-plugin-esmodule: ^1.4.4 vite-plugin-markdown: ^2.1.0 vite-plugin-ssr: ^0.4.39 @@ -131,7 +131,7 @@ importers: '@sd/assets': link:../../packages/assets '@sd/docs': link:../../docs '@tryghost/content-api': 1.11.5 - '@vitejs/plugin-react': 2.2.0_vite@3.2.5 + '@vitejs/plugin-react': 2.2.0_vite@4.0.4 clsx: 1.2.1 compression: 1.7.4 cross-env: 7.0.3 @@ -150,8 +150,8 @@ importers: ts-node: 10.9.1_awa2wsr5thmg3i7jqycphctjfq tsparticles: 2.8.0 typescript: 4.9.4 - vite: 3.2.5_ovmyjmuuyckt3r3gpaexj2onji - vite-plugin-ssr: 0.4.70_vite@3.2.5 + vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji + vite-plugin-ssr: 0.4.70_vite@4.0.4 devDependencies: '@sd/config': link:../../packages/config '@sd/ui': link:../../packages/ui @@ -171,9 +171,9 @@ importers: rollup-plugin-visualizer: 5.9.0 sass: 1.57.1 vite-plugin-esmodule: 1.4.4 - vite-plugin-markdown: 2.1.0_vite@3.2.5 - vite-plugin-svgr: 2.4.0_vite@3.2.5 - vite-tsconfig-paths: 3.6.0_vite@3.2.5 + vite-plugin-markdown: 2.1.0_vite@4.0.4 + vite-plugin-svgr: 2.4.0_vite@4.0.4 + vite-tsconfig-paths: 3.6.0_vite@4.0.4 apps/mobile: specifiers: @@ -340,7 +340,7 @@ importers: solid-js: ^1.5.1 tailwindcss: ^3.1.8 typescript: ^4.8.2 - vite: ^3.0.9 + vite: ^4.0.4 dependencies: clsx: 1.2.1 react: 18.2.0 @@ -351,9 +351,9 @@ importers: '@rspc/client': 0.0.0-main-7c0a67c1 '@rspc/react': 0.0.0-main-7c0a67c1_ews3p2w6ewwkufep3giz5zum7m '@tanstack/react-query': 4.22.0_biqbaboplfbrettd7655fr4n2y - '@vitejs/plugin-react': 2.2.0_vite@3.2.5 + '@vitejs/plugin-react': 2.2.0_vite@4.0.4 typescript: 4.9.4 - vite: 3.2.5 + vite: 4.0.4 docs: specifiers: {} @@ -455,7 +455,7 @@ importers: use-count-up: ^3.0.1 use-debounce: ^8.0.4 valtio: ^1.7.4 - vite: ^3.1.4 + vite: ^4.0.4 vite-plugin-svgr: ^2.2.1 zod: ^3.20.2 dependencies: @@ -477,7 +477,7 @@ importers: '@tanstack/react-query': 4.22.0_biqbaboplfbrettd7655fr4n2y '@tanstack/react-query-devtools': 4.22.0_gp275tdwez2a4eujt75dnnp754 '@tanstack/react-virtual': 3.0.0-beta.18_react@18.2.0 - '@vitejs/plugin-react': 2.2.0_vite@3.2.5 + '@vitejs/plugin-react': 2.2.0_vite@4.0.4 '@zxcvbn-ts/core': 2.1.0 '@zxcvbn-ts/language-common': 2.0.1 '@zxcvbn-ts/language-en': 2.1.0 @@ -514,8 +514,8 @@ importers: '@types/react-router-dom': 5.3.3 prettier: 2.8.3 typescript: 4.9.4 - vite: 3.2.5_@types+node@18.11.18 - vite-plugin-svgr: 2.4.0_vite@3.2.5 + vite: 4.0.4_@types+node@18.11.18 + vite-plugin-svgr: 2.4.0_vite@4.0.4 packages/ui: specifiers: @@ -3397,21 +3397,12 @@ packages: dev: false optional: true - /@esbuild/android-arm/0.15.18: - resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - /@esbuild/android-arm/0.16.17: resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-arm64/0.16.17: @@ -3420,7 +3411,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-x64/0.16.17: @@ -3429,7 +3419,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/darwin-arm64/0.16.17: @@ -3438,7 +3427,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/darwin-x64/0.16.17: @@ -3447,7 +3435,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-arm64/0.16.17: @@ -3456,7 +3443,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-x64/0.16.17: @@ -3465,7 +3451,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm/0.16.17: @@ -3474,7 +3459,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm64/0.16.17: @@ -3483,7 +3467,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ia32/0.16.17: @@ -3492,15 +3475,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64/0.15.18: - resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true optional: true /@esbuild/linux-loong64/0.16.17: @@ -3509,7 +3483,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-mips64el/0.16.17: @@ -3518,7 +3491,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ppc64/0.16.17: @@ -3527,7 +3499,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-riscv64/0.16.17: @@ -3536,7 +3507,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-s390x/0.16.17: @@ -3545,7 +3515,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-x64/0.16.17: @@ -3554,7 +3523,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/netbsd-x64/0.16.17: @@ -3563,7 +3531,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true optional: true /@esbuild/openbsd-x64/0.16.17: @@ -3572,7 +3539,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true /@esbuild/sunos-x64/0.16.17: @@ -3581,7 +3547,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true optional: true /@esbuild/win32-arm64/0.16.17: @@ -3590,7 +3555,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-ia32/0.16.17: @@ -3599,7 +3563,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-x64/0.16.17: @@ -3608,7 +3571,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@eslint/eslintrc/1.4.1: @@ -8286,23 +8248,6 @@ packages: wonka: 4.0.15 dev: false - /@vitejs/plugin-react/2.2.0_vite@3.2.5: - resolution: {integrity: sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^3.0.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/plugin-transform-react-jsx': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-transform-react-jsx-development': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-react-jsx-self': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.12 - magic-string: 0.26.7 - react-refresh: 0.14.0 - vite: 3.2.5_ovmyjmuuyckt3r3gpaexj2onji - transitivePeerDependencies: - - supports-color - /@vitejs/plugin-react/2.2.0_vite@4.0.4: resolution: {integrity: sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -8319,7 +8264,6 @@ packages: vite: 4.0.4_sass@1.57.1 transitivePeerDependencies: - supports-color - dev: true /@vue/compiler-core/3.2.45: resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} @@ -11579,195 +11523,6 @@ packages: resolution: {integrity: sha512-baZkUfTDSx7X69+NA8imbvGrsPfqH0MX7ADdIDjqwsI8lkTgLIiD2QWrUCSGsUQ0YMnSCA/4pNgSyXdnLHWf3A==} dev: true - /esbuild-android-64/0.15.18: - resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /esbuild-android-arm64/0.15.18: - resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /esbuild-darwin-64/0.15.18: - resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /esbuild-darwin-arm64/0.15.18: - resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /esbuild-freebsd-64/0.15.18: - resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /esbuild-freebsd-arm64/0.15.18: - resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /esbuild-linux-32/0.15.18: - resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-64/0.15.18: - resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-arm/0.15.18: - resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-arm64/0.15.18: - resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-mips64le/0.15.18: - resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-ppc64le/0.15.18: - resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-riscv64/0.15.18: - resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-s390x/0.15.18: - resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-netbsd-64/0.15.18: - resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /esbuild-openbsd-64/0.15.18: - resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /esbuild-sunos-64/0.15.18: - resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - - /esbuild-windows-32/0.15.18: - resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /esbuild-windows-64/0.15.18: - resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /esbuild-windows-arm64/0.15.18: - resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /esbuild/0.15.18: - resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.15.18 - '@esbuild/linux-loong64': 0.15.18 - esbuild-android-64: 0.15.18 - esbuild-android-arm64: 0.15.18 - esbuild-darwin-64: 0.15.18 - esbuild-darwin-arm64: 0.15.18 - esbuild-freebsd-64: 0.15.18 - esbuild-freebsd-arm64: 0.15.18 - esbuild-linux-32: 0.15.18 - esbuild-linux-64: 0.15.18 - esbuild-linux-arm: 0.15.18 - esbuild-linux-arm64: 0.15.18 - esbuild-linux-mips64le: 0.15.18 - esbuild-linux-ppc64le: 0.15.18 - esbuild-linux-riscv64: 0.15.18 - esbuild-linux-s390x: 0.15.18 - esbuild-netbsd-64: 0.15.18 - esbuild-openbsd-64: 0.15.18 - esbuild-sunos-64: 0.15.18 - esbuild-windows-32: 0.15.18 - esbuild-windows-64: 0.15.18 - esbuild-windows-arm64: 0.15.18 - /esbuild/0.16.17: resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} engines: {node: '>=12'} @@ -11796,7 +11551,6 @@ packages: '@esbuild/win32-arm64': 0.16.17 '@esbuild/win32-ia32': 0.16.17 '@esbuild/win32-x64': 0.16.17 - dev: true /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -18417,20 +18171,12 @@ packages: yargs: 17.6.2 dev: true - /rollup/2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - /rollup/3.10.0: resolution: {integrity: sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.2 - dev: true /rooks/5.14.1_biqbaboplfbrettd7655fr4n2y: resolution: {integrity: sha512-ZldHmIdi6NM9zgGJlLbYrOcwvdadzX9RLw11KgfD4WuePMz7Dy50JHZzoPz9oCaKM5iTjAaBXZ3z7Gz9dvt2Hg==} @@ -20949,7 +20695,7 @@ packages: vite: 4.0.4 dev: true - /vite-plugin-markdown/2.1.0_vite@3.2.5: + /vite-plugin-markdown/2.1.0_vite@4.0.4: resolution: {integrity: sha512-eWLlrWzYZXEX3/HaXZo/KLjRpO72IUhbgaoFrbwB07ueXi6QfwqrgdZQfUcXTSofJCkN7GhErMC1K1RTAE0gGQ==} peerDependencies: vite: ^2.0.0 || ^3.0.0 @@ -20957,14 +20703,14 @@ packages: front-matter: 4.0.2 htmlparser2: 6.1.0 markdown-it: 12.3.2 - vite: 3.2.5_ovmyjmuuyckt3r3gpaexj2onji + vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji dev: true /vite-plugin-optimizer/1.4.2: resolution: {integrity: sha512-UNQy+J31b+DeEc2NCxV+WIkwyYPWGPjYsnXO4+gM26CKY5KJ47JeRjchR11F3qfR8MWDX1+425LZfkUyXOfGFA==} dev: true - /vite-plugin-ssr/0.4.70_vite@3.2.5: + /vite-plugin-ssr/0.4.70_vite@4.0.4: resolution: {integrity: sha512-qcAqNss7phJnfK8QwT0KIotwvTuJLZhEA6jZiAYfS++HOLffEqUVSx620LfAr9j1H1MCoTwGd82zAbspOKnEHQ==} engines: {node: '>=12.19.0'} hasBin: true @@ -20983,22 +20729,9 @@ packages: fast-glob: 3.2.12 picocolors: 1.0.0 sirv: 2.0.2 - vite: 3.2.5_ovmyjmuuyckt3r3gpaexj2onji + vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji dev: false - /vite-plugin-svgr/2.4.0_vite@3.2.5: - resolution: {integrity: sha512-q+mJJol6ThvqkkJvvVFEndI4EaKIjSI0I3jNFgSoC9fXAz1M7kYTVUin8fhUsFojFDKZ9VHKtX6NXNaOLpbsHA==} - peerDependencies: - vite: ^2.6.0 || 3 || 4 - dependencies: - '@rollup/pluginutils': 5.0.2 - '@svgr/core': 6.5.1 - vite: 3.2.5_ovmyjmuuyckt3r3gpaexj2onji - transitivePeerDependencies: - - rollup - - supports-color - dev: true - /vite-plugin-svgr/2.4.0_vite@4.0.4: resolution: {integrity: sha512-q+mJJol6ThvqkkJvvVFEndI4EaKIjSI0I3jNFgSoC9fXAz1M7kYTVUin8fhUsFojFDKZ9VHKtX6NXNaOLpbsHA==} peerDependencies: @@ -21012,20 +20745,6 @@ packages: - supports-color dev: true - /vite-tsconfig-paths/3.6.0_vite@3.2.5: - resolution: {integrity: sha512-UfsPYonxLqPD633X8cWcPFVuYzx/CMNHAjZTasYwX69sXpa4gNmQkR0XCjj82h7zhLGdTWagMjC1qfb9S+zv0A==} - peerDependencies: - vite: '>2.0.0-0' - dependencies: - debug: 4.3.4 - globrex: 0.1.2 - recrawl-sync: 2.2.3 - tsconfig-paths: 4.1.2 - vite: 3.2.5_ovmyjmuuyckt3r3gpaexj2onji - transitivePeerDependencies: - - supports-color - dev: true - /vite-tsconfig-paths/3.6.0_vite@4.0.4: resolution: {integrity: sha512-UfsPYonxLqPD633X8cWcPFVuYzx/CMNHAjZTasYwX69sXpa4gNmQkR0XCjj82h7zhLGdTWagMjC1qfb9S+zv0A==} peerDependencies: @@ -21035,7 +20754,7 @@ packages: globrex: 0.1.2 recrawl-sync: 2.2.3 tsconfig-paths: 4.1.2 - vite: 4.0.4 + vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji transitivePeerDependencies: - supports-color dev: true @@ -21051,107 +20770,6 @@ packages: - typescript dev: true - /vite/3.2.5: - resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.15.18 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 2.79.1 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /vite/3.2.5_@types+node@18.11.18: - resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.11.18 - esbuild: 0.15.18 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 2.79.1 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /vite/3.2.5_ovmyjmuuyckt3r3gpaexj2onji: - resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.11.18 - esbuild: 0.15.18 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 2.79.1 - sass: 1.57.1 - optionalDependencies: - fsevents: 2.3.2 - /vite/4.0.4: resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -21185,6 +20803,74 @@ packages: fsevents: 2.3.2 dev: true + /vite/4.0.4_@types+node@18.11.18: + resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.11.18 + esbuild: 0.16.17 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 3.10.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vite/4.0.4_ovmyjmuuyckt3r3gpaexj2onji: + resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.11.18 + esbuild: 0.16.17 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 3.10.0 + sass: 1.57.1 + optionalDependencies: + fsevents: 2.3.2 + /vite/4.0.4_sass@1.57.1: resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -21217,7 +20903,6 @@ packages: sass: 1.57.1 optionalDependencies: fsevents: 2.3.2 - dev: true /vlq/1.0.1: resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==}