diff --git a/package.json b/package.json index 8d43501..c073521 100644 --- a/package.json +++ b/package.json @@ -25,10 +25,10 @@ "devDependencies": { "cross-env": "^7.0.3", "eslint": "^8.31.0", - "prettier": "^2.8.1", - "turbo": "^1.8.3", + "prettier": "^2.8.8", + "turbo": "^1.9.3", "typescript": "^4.9.5", - "tsx": "^3.12.1", - "prettier-plugin-tailwindcss": "^0.2.1" + "tsx": "^3.12.7", + "prettier-plugin-tailwindcss": "^0.2.8" } } diff --git a/packages/desktop/build/icons/1024x1024.png b/packages/desktop/build/icons/1024x1024.png index f7c002c..5634d5a 100644 Binary files a/packages/desktop/build/icons/1024x1024.png and b/packages/desktop/build/icons/1024x1024.png differ diff --git a/packages/desktop/build/icons/icon.icns b/packages/desktop/build/icons/icon.icns index be71ae2..def3d26 100644 Binary files a/packages/desktop/build/icons/icon.icns and b/packages/desktop/build/icons/icon.icns differ diff --git a/packages/desktop/main/ipcMain.ts b/packages/desktop/main/ipcMain.ts index 9b3bfb1..a822994 100755 --- a/packages/desktop/main/ipcMain.ts +++ b/packages/desktop/main/ipcMain.ts @@ -13,6 +13,7 @@ import fastFolderSize from 'fast-folder-size' import path from 'path' import prettyBytes from 'pretty-bytes' import { db, Tables } from './db' +import { promisify } from 'util' log.info('[electron] ipcMain.ts') @@ -137,15 +138,15 @@ function initOtherIpcMain() { /** * 清除API缓存 */ - on(IpcChannels.ClearAPICache, () => { - // db.truncate(Tables.Track) - // db.truncate(Tables.Album) - // db.truncate(Tables.Artist) - // db.truncate(Tables.Playlist) - // db.truncate(Tables.ArtistAlbum) - // db.truncate(Tables.AccountData) - // db.truncate(Tables.Audio) - // db.vacuum() + handle(IpcChannels.ClearAPICache, async () => { + db.truncate(Tables.Track) + db.truncate(Tables.Album) + db.truncate(Tables.Artist) + db.truncate(Tables.Playlist) + db.truncate(Tables.ArtistAlbum) + db.truncate(Tables.AccountData) + db.truncate(Tables.Audio) + db.vacuum() }) /** @@ -170,6 +171,31 @@ function initOtherIpcMain() { } }) + // 获取缓存位置 + handle(IpcChannels.GetCachePath, async () => { + return path.join(app.getPath('userData'), './audio_cache') + }) + + /** + * 获取音频缓存文件夹大小 + */ + handle(IpcChannels.GetAudioCacheSize, async () => { + const fastFolderSizeAsync = promisify(fastFolderSize) + const bytes = await fastFolderSizeAsync(path.join(app.getPath('userData'), './audio_cache')) + return prettyBytes(bytes ?? 0) + }) + + handle(IpcChannels.ClearAudioCache, async () => { + try { + const audioCachePath = path.join(app.getPath('userData'), './audio_cache') + fs.rmdirSync(audioCachePath, { recursive: true }) + fs.mkdirSync(audioCachePath) + return true + } catch (e) { + return false + } + }) + /** * 缓存封面颜色 */ @@ -178,17 +204,6 @@ function initOtherIpcMain() { cache.set(CacheAPIs.CoverColor, { id, color }) }) - /** - * 获取音频缓存文件夹大小 - */ - on(IpcChannels.GetAudioCacheSize, event => { - fastFolderSize(path.join(app.getPath('userData'), './audio_cache'), (error, bytes) => { - if (error) throw error - - event.returnValue = prettyBytes(bytes ?? 0) - }) - }) - /** * 从Apple Music获取专辑信息 */ @@ -235,30 +250,26 @@ function initOtherIpcMain() { * 导出tables到json文件,方便查看table大小(dev环境) */ if (process.env.NODE_ENV === 'development') { - // on(IpcChannels.DevDbExportJson, () => { - // const tables = [ - // Tables.ArtistAlbum, - // Tables.Playlist, - // Tables.Album, - // Tables.Track, - // Tables.Artist, - // Tables.Audio, - // Tables.AccountData, - // Tables.Lyric, - // ] - // tables.forEach(table => { - // const data = db.findAll(table) - // fs.writeFile( - // `./tmp/${table}.json`, - // JSON.stringify(data), - // function (err) { - // if (err) { - // return console.log(err) - // } - // console.log('The file was saved!') - // } - // ) - // }) - // }) + on(IpcChannels.DevDbExportJson, () => { + const tables = [ + Tables.ArtistAlbum, + Tables.Playlist, + Tables.Album, + Tables.Track, + Tables.Artist, + Tables.Audio, + Tables.AccountData, + Tables.Lyrics, + ] + tables.forEach(table => { + const data = db.findAll(table) + fs.writeFile(`./tmp/${table}.json`, JSON.stringify(data), function (err) { + if (err) { + return console.log(err) + } + console.log('The file was saved!') + }) + }) + }) } } diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 034759b..08fe6b4 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -27,7 +27,7 @@ "@fastify/static": "^6.6.1", "@sentry/electron": "^3.0.7", "NeteaseCloudMusicApi": "^4.8.9", - "better-sqlite3": "8.1.0", + "better-sqlite3": "8.3.0", "change-case": "^4.1.2", "compare-versions": "^4.1.3", "electron-log": "^4.4.8", @@ -39,12 +39,12 @@ "ytdl-core": "^4.11.2" }, "devDependencies": { - "@types/better-sqlite3": "^7.6.3", + "@types/better-sqlite3": "^7.6.4", "@vitest/ui": "^0.20.3", "axios": "^1.3.4", "cross-env": "^7.0.3", "dotenv": "^16.0.3", - "electron": "^23.1.4", + "electron": "^24.1.3", "electron-builder": "23.6.0", "electron-devtools-installer": "^3.2.0", "electron-rebuild": "^3.2.9", diff --git a/packages/shared/IpcChannels.ts b/packages/shared/IpcChannels.ts index 92bbaa1..d8042c5 100644 --- a/packages/shared/IpcChannels.ts +++ b/packages/shared/IpcChannels.ts @@ -27,6 +27,8 @@ export const enum IpcChannels { GetAlbumFromAppleMusic = 'GetAlbumFromAppleMusic', GetArtistFromAppleMusic = 'GetArtistFromAppleMusic', Logout = 'Logout', + GetCachePath = 'GetCachePath', + ClearAudioCache = 'ClearAudioCache', } // ipcMain.on params @@ -70,6 +72,8 @@ export interface IpcChannelsParams { } [IpcChannels.GetArtistFromAppleMusic]: { id: number; name: string } [IpcChannels.Logout]: void + [IpcChannels.GetCachePath]: void + [IpcChannels.ClearAudioCache]: void } // ipcRenderer.on params @@ -95,4 +99,6 @@ export interface IpcChannelsReturns { [IpcChannels.GetAlbumFromAppleMusic]: AppleMusicAlbum | undefined [IpcChannels.GetArtistFromAppleMusic]: AppleMusicArtist | undefined [IpcChannels.Logout]: void + [IpcChannels.GetCachePath]: string + [IpcChannels.ClearAudioCache]: boolean } diff --git a/packages/web/api/hooks/useTracks.ts b/packages/web/api/hooks/useTracks.ts index 8ef6418..66abe1f 100644 --- a/packages/web/api/hooks/useTracks.ts +++ b/packages/web/api/hooks/useTracks.ts @@ -1,5 +1,5 @@ import { fetchAudioSource, fetchTracks } from '@/web/api/track' -import type { } from '@/web/api/track' +import type {} from '@/web/api/track' import reactQueryClient from '@/web/utils/reactQueryClient' import { IpcChannels } from '@/shared/IpcChannels' import { diff --git a/packages/web/components/ArtistRow.tsx b/packages/web/components/ArtistRow.tsx index 8937ffd..44ce13c 100644 --- a/packages/web/components/ArtistRow.tsx +++ b/packages/web/components/ArtistRow.tsx @@ -26,7 +26,7 @@ const Artist = ({ artist }: { artist: Artist }) => { />
{artist.name}
@@ -46,7 +46,7 @@ const Placeholder = ({ row }: { row: number }) => { minWidth: '96px', }} /> -
+
NAME
diff --git a/packages/web/components/ContextMenus/MenuItem.tsx b/packages/web/components/ContextMenus/MenuItem.tsx index f5a419d..21cafd9 100644 --- a/packages/web/components/ContextMenus/MenuItem.tsx +++ b/packages/web/components/ContextMenus/MenuItem.tsx @@ -98,7 +98,7 @@ const MenuItem = ({ > {/* 增加三角形,避免斜着移动到submenu时意外关闭菜单 */} -
+
)} diff --git a/packages/web/components/CoverRow.tsx b/packages/web/components/CoverRow.tsx index 35e1a8b..8a1b587 100644 --- a/packages/web/components/CoverRow.tsx +++ b/packages/web/components/CoverRow.tsx @@ -56,7 +56,7 @@ const Album = ({ onMouseOver={prefetch} /> {title && ( -
{title}
+
{title}
)} {subtitle &&
{subtitle}
} diff --git a/packages/web/components/DescriptionViewer.tsx b/packages/web/components/DescriptionViewer.tsx index 43dfc78..17fb206 100644 --- a/packages/web/components/DescriptionViewer.tsx +++ b/packages/web/components/DescriptionViewer.tsx @@ -48,7 +48,7 @@ function DescriptionViewer({ >
{/* Title */} -
+
{title}
diff --git a/packages/web/components/Layout.tsx b/packages/web/components/Layout.tsx index 49148f6..a5ba962 100644 --- a/packages/web/components/Layout.tsx +++ b/packages/web/components/Layout.tsx @@ -33,7 +33,7 @@ const Layout = () => { {showPlayer && } {window.env?.isMac && ( -
+
)} diff --git a/packages/web/components/MenuBar.tsx b/packages/web/components/MenuBar.tsx index 3909b1d..05f73c1 100644 --- a/packages/web/components/MenuBar.tsx +++ b/packages/web/components/MenuBar.tsx @@ -53,7 +53,7 @@ const TabName = () => { return (
{
{ const { track, progress } = useSnapshot(player) return ( -
+
{
{ uiStates.mobileShowPlayingNext = true }} className={cx( - 'absolute right-0 left-0 flex justify-center', + 'absolute left-0 right-0 flex justify-center', css` --height: 20px; height: var(--height); @@ -100,7 +100,7 @@ const PlayerMobile = () => { >
{track?.name}
-
+
{track?.ar?.map(a => a.name).join(', ')}
@@ -109,7 +109,7 @@ const PlayerMobile = () => {
{ >
{ )} style={buttonStyle} > -
+
) @@ -61,7 +61,7 @@ const ShuffleButton = () => { style={buttonStyle} > -
+
) } @@ -71,7 +71,7 @@ const Header = () => { return (
@@ -134,7 +134,7 @@ const Track = ({ > {track?.name}
-
+
{track?.ar.map(a => a.name).join(', ')}
diff --git a/packages/web/components/Tabs.tsx b/packages/web/components/Tabs.tsx index 15146e0..4aeabd5 100644 --- a/packages/web/components/Tabs.tsx +++ b/packages/web/components/Tabs.tsx @@ -22,7 +22,7 @@ function Tabs({
{ return (
diff --git a/packages/web/pages/Playlist/TrackList.tsx b/packages/web/pages/Playlist/TrackList.tsx index ad65b5b..d372634 100644 --- a/packages/web/pages/Playlist/TrackList.tsx +++ b/packages/web/pages/Playlist/TrackList.tsx @@ -55,10 +55,10 @@ const Track = ({ {track?.name} {[1318912, 1310848].includes(track?.mark || 0) && ( - + )}
-
+
{track?.ar.map((a, index) => ( {index > 0 && ', '} diff --git a/packages/web/pages/Search/Search.tsx b/packages/web/pages/Search/Search.tsx index 31c015f..023369d 100644 --- a/packages/web/pages/Search/Search.tsx +++ b/packages/web/pages/Search/Search.tsx @@ -88,7 +88,7 @@ const Track = ({ > {track?.name}
-
+
{track?.ar.map(a => a.name).join(', ')}
@@ -151,7 +151,7 @@ const Search = () => { return (
-
+
搜索 "{keywords}"
diff --git a/packages/web/pages/Settings/Controls.tsx b/packages/web/pages/Settings/Controls.tsx index 7e4d0d7..45b3cbd 100644 --- a/packages/web/pages/Settings/Controls.tsx +++ b/packages/web/pages/Settings/Controls.tsx @@ -39,7 +39,7 @@ export function Select({ onChange(e.target.value)} {...{ type, value }} /> @@ -80,11 +80,20 @@ export function Input({ ) } -export function Button({ children, onClick }: { children: React.ReactNode; onClick: () => void }) { +export function Button({ + disalbed: disabled, + children, + onClick, +}: { + disalbed?: boolean + children: React.ReactNode + onClick: () => void +}) { return ( @@ -104,5 +113,9 @@ export function Option({ children }: { children: React.ReactNode }) { } export function OptionText({ children }: { children: React.ReactNode }) { - return
{children}
+ return ( +
+ {children} +
+ ) } diff --git a/packages/web/pages/Settings/Player.tsx b/packages/web/pages/Settings/Player.tsx index 758580e..e8dd2fc 100644 --- a/packages/web/pages/Settings/Player.tsx +++ b/packages/web/pages/Settings/Player.tsx @@ -6,12 +6,14 @@ import Slider from '@/web/components/Slider' import { cx } from '@emotion/css' import player from '@/web/states/player' import { ceil } from 'lodash' +import { useMutation, useQuery } from '@tanstack/react-query' +import { IpcChannels } from '@/shared/IpcChannels' +import { useCopyToClipboard } from 'react-use' function Player() { return (
-
) } @@ -59,31 +61,4 @@ function FindTrackOnYouTube() { ) } -function VolumeSlider() { - const { t } = useTranslation() - const { volume } = useSnapshot(player) - const onChange = (volume: number) => { - player.volume = volume - } - return ( -
- {t(`settings.volume-control`)} -
- -
-
- 0 - {ceil(volume * 100)} -
-
- ) -} - export default Player diff --git a/packages/web/pages/Settings/Settings.tsx b/packages/web/pages/Settings/Settings.tsx index c6ec0e3..21cb93a 100644 --- a/packages/web/pages/Settings/Settings.tsx +++ b/packages/web/pages/Settings/Settings.tsx @@ -11,7 +11,7 @@ import PageTransition from '@/web/components/PageTransition' import { ease } from '@/web/utils/const' export const categoryIds = ['general', 'appearance', 'player', 'lab', 'about'] as const -export type Category = typeof categoryIds[number] +export type Category = (typeof categoryIds)[number] const Sidebar = ({ activeCategory, @@ -42,7 +42,7 @@ const Sidebar = ({ initial={{ y: 11.5 }} animate={indicatorAnimation} transition={{ type: 'spring', duration: 0.6, bounce: 0.36 }} - className='absolute top-0 left-3 mr-2 h-4 w-1 rounded-full bg-brand-700' + className='absolute left-3 top-0 mr-2 h-4 w-1 rounded-full bg-brand-700' > {categories.map(category => ( diff --git a/packages/web/styles/global.css b/packages/web/styles/global.css index ef12ba2..2e650bf 100644 --- a/packages/web/styles/global.css +++ b/packages/web/styles/global.css @@ -16,42 +16,6 @@ .no-drag { -webkit-user-drag: none; } - - .line-clamp-1 { - display: -webkit-box; - -webkit-box-orient: vertical; - overflow: hidden; - word-break: break-all; - -webkit-line-clamp: 1; - } - - .line-clamp-2 { - display: -webkit-box; - -webkit-box-orient: vertical; - overflow: hidden; - -webkit-line-clamp: 2; - } - - .line-clamp-3 { - display: -webkit-box; - -webkit-box-orient: vertical; - overflow: hidden; - -webkit-line-clamp: 3; - } - - .line-clamp-4 { - display: -webkit-box; - -webkit-box-orient: vertical; - overflow: hidden; - -webkit-line-clamp: 4; - } - - .line-clamp-5 { - display: -webkit-box; - -webkit-box-orient: vertical; - overflow: hidden; - -webkit-line-clamp: 4; - } } @font-face { @@ -96,6 +60,9 @@ input { font-family: Roboto, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, microsoft uighur, sans-serif; + -webkit-font-smoothing: antialiased; + text-rendering: optimizelegibility; + -webkit-tap-highlight-color: transparent; } body { diff --git a/packages/web/tailwind.config.js b/packages/web/tailwind.config.ts similarity index 91% rename from packages/web/tailwind.config.js rename to packages/web/tailwind.config.ts index 2ee4a6e..e197877 100644 --- a/packages/web/tailwind.config.js +++ b/packages/web/tailwind.config.ts @@ -1,13 +1,14 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const colors = require('tailwindcss/colors') -// const pickedColors = require('./scripts/pickedColors.js') +// import colors from "tailwindcss/colors" +// import pickedColors = "./scripts/pickedColors" +import type { Config } from 'tailwindcss' +import containerQueryPlugin from '@tailwindcss/container-queries' const fontSizeDefault = { lineHeight: '1.2', letterSpacing: '0.02em', } -module.exports = { +export default { content: ['./index.html', './**/*.{vue,js,ts,jsx,tsx}', '!./node_modules/**/*'], darkMode: 'class', theme: { @@ -121,5 +122,5 @@ module.exports = { }, }, }, - plugins: [require('@tailwindcss/container-queries')], -} + plugins: [containerQueryPlugin], +} satisfies Config diff --git a/packages/web/utils/common.ts b/packages/web/utils/common.ts index badb04d..b4f0450 100644 --- a/packages/web/utils/common.ts +++ b/packages/web/utils/common.ts @@ -167,8 +167,8 @@ export async function calcCoverColor(coverUrl: string) { export const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) export const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) -export const isPWA = - () => (navigator as any).standalone || window.matchMedia('(display-mode: standalone)').matches +export const isPWA = () => + (navigator as any).standalone || window.matchMedia('(display-mode: standalone)').matches export const isIosPwa = isIOS && isPWA() && isSafari export const sleep = (ms: number) => new Promise(r => setTimeout(r, ms)) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6b5ec1..0383721 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,18 +6,18 @@ importers: specifiers: cross-env: ^7.0.3 eslint: ^8.31.0 - prettier: ^2.8.1 - prettier-plugin-tailwindcss: ^0.2.1 - tsx: ^3.12.1 - turbo: ^1.8.3 + prettier: ^2.8.8 + prettier-plugin-tailwindcss: ^0.2.8 + tsx: ^3.12.7 + turbo: ^1.9.3 typescript: ^4.9.5 devDependencies: cross-env: 7.0.3 eslint: 8.31.0 - prettier: 2.8.1 - prettier-plugin-tailwindcss: 0.2.1_prettier@2.8.1 - tsx: 3.12.1 - turbo: 1.8.3 + prettier: 2.8.8 + prettier-plugin-tailwindcss: 0.2.8_prettier@2.8.8 + tsx: 3.12.7 + turbo: 1.9.3 typescript: 4.9.5 packages/desktop: @@ -27,16 +27,16 @@ importers: '@fastify/multipart': ^7.4.0 '@fastify/static': ^6.6.1 '@sentry/electron': ^3.0.7 - '@types/better-sqlite3': ^7.6.3 + '@types/better-sqlite3': ^7.6.4 '@vitest/ui': ^0.20.3 NeteaseCloudMusicApi: ^4.8.9 axios: ^1.3.4 - better-sqlite3: 8.1.0 + better-sqlite3: 8.3.0 change-case: ^4.1.2 compare-versions: ^4.1.3 cross-env: ^7.0.3 dotenv: ^16.0.3 - electron: ^23.1.4 + electron: ^24.1.3 electron-builder: 23.6.0 electron-devtools-installer: ^3.2.0 electron-log: ^4.4.8 @@ -65,7 +65,7 @@ importers: '@fastify/static': 6.6.1 '@sentry/electron': 3.0.7 NeteaseCloudMusicApi: 4.8.9 - better-sqlite3: 8.1.0 + better-sqlite3: 8.3.0 change-case: 4.1.2 compare-versions: 4.1.3 electron-log: 4.4.8 @@ -76,12 +76,12 @@ importers: pretty-bytes: 6.0.0 ytdl-core: 4.11.2 devDependencies: - '@types/better-sqlite3': 7.6.3 + '@types/better-sqlite3': 7.6.4 '@vitest/ui': 0.20.3 axios: 1.3.4 cross-env: 7.0.3 dotenv: 16.0.3 - electron: 23.1.4 + electron: 24.1.3 electron-builder: 23.6.0 electron-devtools-installer: 3.2.0 electron-rebuild: 3.2.9 @@ -148,7 +148,7 @@ importers: '@types/qrcode': ^1.4.2 '@types/react': ^18.0.15 '@types/react-dom': ^18.0.6 - '@vitejs/plugin-react-swc': ^3.2.0 + '@vitejs/plugin-react-swc': ^3.3.0 '@vitest/ui': ^0.26.3 ahooks: ^3.7.4 autoprefixer: ^10.4.13 @@ -173,7 +173,7 @@ importers: qrcode: ^1.5.1 react: ^18.2.0 react-dom: ^18.2.0 - react-ga4: ^1.4.1 + react-ga4: ^2.1.0 react-hot-toast: ^2.4.0 react-i18next: ^12.1.5 react-router-dom: ^6.6.1 @@ -181,18 +181,18 @@ importers: react-use-measure: ^2.1.1 react-virtuoso: ^2.16.6 rollup-plugin-visualizer: ^5.9.0 - tailwindcss: ^3.2.4 + tailwindcss: ^3.3.2 typescript: '*' - valtio: ^1.8.0 - vite: ^4.2.0 - vite-plugin-pwa: ^0.14.4 + valtio: ^1.10.4 + vite: ^4.3.3 + vite-plugin-pwa: ^0.14.7 vite-plugin-svg-icons: ^2.0.1 vitest: ^0.26.3 dependencies: '@emotion/css': 11.10.5 '@sentry/react': 7.29.0_react@18.2.0 '@sentry/tracing': 7.29.0 - '@tailwindcss/container-queries': 0.1.0_tailwindcss@3.2.4 + '@tailwindcss/container-queries': 0.1.0_tailwindcss@3.3.2 '@tanstack/react-query': 4.26.1_biqbaboplfbrettd7655fr4n2y '@tanstack/react-query-devtools': 4.26.1_brdhmlf72zuns3lsk66phyptty ahooks: 3.7.4_react@18.2.0 @@ -210,14 +210,14 @@ importers: qrcode: 1.5.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - react-ga4: 1.4.1 + react-ga4: 2.1.0 react-hot-toast: 2.4.0_biqbaboplfbrettd7655fr4n2y react-i18next: 12.1.5_iakk3dtjhjpukdoa4oua5khgci react-router-dom: 6.6.1_biqbaboplfbrettd7655fr4n2y react-use: 17.4.0_biqbaboplfbrettd7655fr4n2y react-use-measure: 2.1.1_biqbaboplfbrettd7655fr4n2y react-virtuoso: 2.16.6_biqbaboplfbrettd7655fr4n2y - valtio: 1.8.0_react@18.2.0+vite@4.2.0 + valtio: 1.10.4_react@18.2.0 devDependencies: '@testing-library/react': 13.3.0_biqbaboplfbrettd7655fr4n2y '@types/howler': 2.2.7 @@ -227,7 +227,7 @@ importers: '@types/qrcode': 1.4.2 '@types/react': 18.0.15 '@types/react-dom': 18.0.6 - '@vitejs/plugin-react-swc': 3.2.0_vite@4.2.0 + '@vitejs/plugin-react-swc': 3.3.0_vite@4.3.3 '@vitest/ui': 0.26.3 autoprefixer: 10.4.13_postcss@8.4.20 c8: 7.12.0 @@ -238,11 +238,11 @@ importers: prettier: 2.7.1 prettier-plugin-tailwindcss: 0.2.1_prettier@2.7.1 rollup-plugin-visualizer: 5.9.0 - tailwindcss: 3.2.4_postcss@8.4.20 + tailwindcss: 3.3.2 typescript: 4.7.4 - vite: 4.2.0 - vite-plugin-pwa: 0.14.4_vite@4.2.0 - vite-plugin-svg-icons: 2.0.1_vite@4.2.0 + vite: 4.3.3 + vite-plugin-pwa: 0.14.7_vite@4.3.3 + vite-plugin-svg-icons: 2.0.1_vite@4.3.3 vitest: 0.26.3_lae363bjhdipllr6jstkmuhhna packages: @@ -251,6 +251,10 @@ packages: resolution: {integrity: sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==} dev: true + /@alloc/quick-lru/5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + /@ampproject/remapping/2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} @@ -382,7 +386,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.1 + resolve: 1.22.2 semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -1567,6 +1571,13 @@ packages: get-tsconfig: 4.3.0 dev: true + /@esbuild-kit/cjs-loader/2.4.2: + resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} + dependencies: + '@esbuild-kit/core-utils': 3.0.0 + get-tsconfig: 4.5.0 + dev: true + /@esbuild-kit/core-utils/3.0.0: resolution: {integrity: sha512-TXmwH9EFS3DC2sI2YJWJBgHGhlteK0Xyu1VabwetMULfm3oYhbrsWV5yaSr2NTWZIgDGVLHbRf0inxbjXqAcmQ==} dependencies: @@ -1581,6 +1592,13 @@ packages: get-tsconfig: 4.3.0 dev: true + /@esbuild-kit/esm-loader/2.5.5: + resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} + dependencies: + '@esbuild-kit/core-utils': 3.0.0 + get-tsconfig: 4.5.0 + dev: true + /@esbuild/android-arm/0.15.18: resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} engines: {node: '>=12'} @@ -1605,6 +1623,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm64/0.16.10: @@ -1622,6 +1641,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-x64/0.16.10: @@ -1639,6 +1659,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/darwin-arm64/0.16.10: @@ -1656,6 +1677,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-x64/0.16.10: @@ -1673,6 +1695,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-arm64/0.16.10: @@ -1690,6 +1713,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-x64/0.16.10: @@ -1707,6 +1731,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm/0.16.10: @@ -1724,6 +1749,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm64/0.16.10: @@ -1741,6 +1767,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ia32/0.16.10: @@ -1758,6 +1785,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-loong64/0.14.53: @@ -1793,6 +1821,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-mips64el/0.16.10: @@ -1810,6 +1839,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ppc64/0.16.10: @@ -1827,6 +1857,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-riscv64/0.16.10: @@ -1844,6 +1875,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-s390x/0.16.10: @@ -1861,6 +1893,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-x64/0.16.10: @@ -1878,6 +1911,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/netbsd-x64/0.16.10: @@ -1895,6 +1929,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: true optional: true /@esbuild/openbsd-x64/0.16.10: @@ -1912,6 +1947,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: true optional: true /@esbuild/sunos-x64/0.16.10: @@ -1929,6 +1965,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: true optional: true /@esbuild/win32-arm64/0.16.10: @@ -1946,6 +1983,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-ia32/0.16.10: @@ -1963,6 +2001,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-x64/0.16.10: @@ -1980,6 +2019,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@eslint/eslintrc/1.4.1: @@ -2183,17 +2223,14 @@ packages: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 '@jridgewell/trace-mapping': 0.3.14 - dev: true /@jridgewell/resolve-uri/3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/set-array/1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/source-map/0.3.2: resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} @@ -2204,14 +2241,12 @@ packages: /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true /@jridgewell/trace-mapping/0.3.14: resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - dev: true /@jridgewell/trace-mapping/0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -2386,7 +2421,7 @@ packages: builtin-modules: 3.3.0 deepmerge: 4.2.2 is-module: 1.0.0 - resolve: 1.22.1 + resolve: 1.22.2 rollup: 2.77.2 dev: true @@ -2400,7 +2435,7 @@ packages: rollup: 2.77.2 dev: true - /@rollup/plugin-replace/5.0.2_rollup@3.9.1: + /@rollup/plugin-replace/5.0.2_rollup@3.18.0: resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2409,9 +2444,9 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.9.1 + '@rollup/pluginutils': 5.0.2_rollup@3.18.0 magic-string: 0.27.0 - rollup: 3.9.1 + rollup: 3.18.0 dev: true /@rollup/pluginutils/3.1.0_rollup@2.77.2: @@ -2426,7 +2461,7 @@ packages: rollup: 2.77.2 dev: true - /@rollup/pluginutils/5.0.2_rollup@3.9.1: + /@rollup/pluginutils/5.0.2_rollup@3.18.0: resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2438,7 +2473,7 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.9.1 + rollup: 3.18.0 dev: true /@sentry/browser/6.19.2: @@ -2620,8 +2655,8 @@ packages: string.prototype.matchall: 4.0.7 dev: true - /@swc/core-darwin-arm64/1.3.38: - resolution: {integrity: sha512-4ZTJJ/cR0EsXW5UxFCifZoGfzQ07a8s4ayt1nLvLQ5QoB1GTAf9zsACpvWG8e7cmCR0L76R5xt8uJuyr+noIXA==} + /@swc/core-darwin-arm64/1.3.56: + resolution: {integrity: sha512-DZcu7BzDaLEdWHabz9DRTP0yEBLqkrWmskFcD5BX0lGAvoIvE4duMnAqi5F2B3X7630QioHRCYFoRw2WkeE3Cw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -2629,8 +2664,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64/1.3.38: - resolution: {integrity: sha512-Kim727rNo4Dl8kk0CR8aJQe4zFFtsT1TZGlNrNMUgN1WC3CRX7dLZ6ZJi/VVcTG1cbHp5Fp3mUzwHsMxEh87Mg==} + /@swc/core-darwin-x64/1.3.56: + resolution: {integrity: sha512-VH5saqYFasdRXJy6RAT+MXm0+IjkMZvOkohJwUei+oA65cKJofQwrJ1jZro8yOJFYvUSI3jgNRGsdBkmo/4hMw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -2638,8 +2673,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf/1.3.38: - resolution: {integrity: sha512-yaRdnPNU2enlJDRcIMvYVSyodY+Amhf5QuXdUbAj6rkDD6wUs/s9C6yPYrFDmoTltrG+nBv72mUZj+R46wVfSw==} + /@swc/core-linux-arm-gnueabihf/1.3.56: + resolution: {integrity: sha512-LWwPo6NnJkH01+ukqvkoNIOpMdw+Zundm4vBeicwyVrkP+mC3kwVfi03TUFpQUz3kRKdw/QEnxGTj+MouCPbtw==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -2647,8 +2682,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu/1.3.38: - resolution: {integrity: sha512-iNY1HqKo/wBSu3QOGBUlZaLdBP/EHcwNjBAqIzpb8J64q2jEN02RizqVW0mDxyXktJ3lxr3g7VW9uqklMeXbjQ==} + /@swc/core-linux-arm64-gnu/1.3.56: + resolution: {integrity: sha512-GzsUy/4egJ4cMlxbM+Ub7AMi5CKAc+pxBxrh8MUPQbyStW8jGgnQsJouTnGy0LHawtdEnsCOl6PcO6OgvktXuQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -2656,8 +2691,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl/1.3.38: - resolution: {integrity: sha512-LJCFgLZoPRkPCPmux+Q5ctgXRp6AsWhvWuY61bh5bIPBDlaG9pZk94DeHyvtiwT0syhTtXb2LieBOx6NqN3zeA==} + /@swc/core-linux-arm64-musl/1.3.56: + resolution: {integrity: sha512-9gxL09BIiAv8zY0DjfnFf19bo8+P4T9tdhzPwcm+1yPJcY5yr1+YFWLNFzz01agtOj6VlZ2/wUJTaOfdjjtc+A==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -2665,8 +2700,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu/1.3.38: - resolution: {integrity: sha512-hRQGRIWHmv2PvKQM/mMV45mVXckM2+xLB8TYLLgUG66mmtyGTUJPyxjnJkbI86WNGqo18k+lAuMG2mn6QmzYwQ==} + /@swc/core-linux-x64-gnu/1.3.56: + resolution: {integrity: sha512-n0ORNknl50vMRkll3BDO1E4WOqY6iISlPV1ZQCRLWQ6YQ2q8/WAryBxc2OAybcGHBUFkxyACpJukeU1QZ/9tNw==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -2674,8 +2709,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl/1.3.38: - resolution: {integrity: sha512-PTYSqtsIfPHLKDDNbueI5e0sc130vyHRiFOeeC6qqzA2FAiVvIxuvXHLr0soPvKAR1WyhtYmFB9QarcctemL2w==} + /@swc/core-linux-x64-musl/1.3.56: + resolution: {integrity: sha512-r+D34WLAOAlJtfw1gaVWpHRwCncU9nzW9i7w9kSw4HpWYnHJOz54jLGSEmNsrhdTCz1VK2ar+V2ktFUsrlGlDA==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -2683,8 +2718,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc/1.3.38: - resolution: {integrity: sha512-9lHfs5TPNs+QdkyZFhZledSmzBEbqml/J1rqPSb9Fy8zB6QlspixE6OLZ3nTlUOdoGWkcTTdrOn77Sd7YGf1AA==} + /@swc/core-win32-arm64-msvc/1.3.56: + resolution: {integrity: sha512-29Yt75Is6X24z3x8h/xZC1HnDPkPpyLH9mDQiM6Cuc0I9mVr1XSriPEUB2N/awf5IE4SA8c+3IVq1DtKWbkJIw==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -2692,8 +2727,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc/1.3.38: - resolution: {integrity: sha512-SbL6pfA2lqvDKnwTHwOfKWvfHAdcbAwJS4dBkFidr7BiPTgI5Uk8wAPcRb8mBECpmIa9yFo+N0cAFRvMnf+cNw==} + /@swc/core-win32-ia32-msvc/1.3.56: + resolution: {integrity: sha512-mplp0zbYDrcHtfvkniXlXdB04e2qIjz2Gq/XHKr4Rnc6xVORJjjXF91IemXKpavx2oZYJws+LNJL7UFQ8jyCdQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -2701,8 +2736,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc/1.3.38: - resolution: {integrity: sha512-UFveLrL6eGvViOD8OVqUQa6QoQwdqwRvLtL5elF304OT8eCPZa8BhuXnWk25X8UcOyns8gFcb8Fhp3oaLi/Rlw==} + /@swc/core-win32-x64-msvc/1.3.56: + resolution: {integrity: sha512-zp8MBnrw/bjdLenO/ifYzHrImSjKunqL0C2IF4LXYNRfcbYFh2NwobsVQMZ20IT0474lKRdlP8Oxdt+bHuXrzA==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -2710,21 +2745,26 @@ packages: dev: true optional: true - /@swc/core/1.3.38: - resolution: {integrity: sha512-AiEVehRFws//AiiLx9DPDp1WDXt+yAoGD1kMYewhoF6QLdTz8AtYu6i8j/yAxk26L8xnegy0CDwcNnub9qenyQ==} + /@swc/core/1.3.56: + resolution: {integrity: sha512-yz/EeXT+PMZucUNrYceRUaTfuNS4IIu5EDZSOlvCEvm4jAmZi7CYH1B/kvzEzoAOzr7zkQiDPNJftcQXLkjbjA==} engines: {node: '>=10'} requiresBuild: true + peerDependencies: + '@swc/helpers': ^0.5.0 + peerDependenciesMeta: + '@swc/helpers': + optional: true optionalDependencies: - '@swc/core-darwin-arm64': 1.3.38 - '@swc/core-darwin-x64': 1.3.38 - '@swc/core-linux-arm-gnueabihf': 1.3.38 - '@swc/core-linux-arm64-gnu': 1.3.38 - '@swc/core-linux-arm64-musl': 1.3.38 - '@swc/core-linux-x64-gnu': 1.3.38 - '@swc/core-linux-x64-musl': 1.3.38 - '@swc/core-win32-arm64-msvc': 1.3.38 - '@swc/core-win32-ia32-msvc': 1.3.38 - '@swc/core-win32-x64-msvc': 1.3.38 + '@swc/core-darwin-arm64': 1.3.56 + '@swc/core-darwin-x64': 1.3.56 + '@swc/core-linux-arm-gnueabihf': 1.3.56 + '@swc/core-linux-arm64-gnu': 1.3.56 + '@swc/core-linux-arm64-musl': 1.3.56 + '@swc/core-linux-x64-gnu': 1.3.56 + '@swc/core-linux-x64-musl': 1.3.56 + '@swc/core-win32-arm64-msvc': 1.3.56 + '@swc/core-win32-ia32-msvc': 1.3.56 + '@swc/core-win32-x64-msvc': 1.3.56 dev: true /@szmarczak/http-timer/4.0.6: @@ -2734,12 +2774,12 @@ packages: defer-to-connect: 2.0.1 dev: true - /@tailwindcss/container-queries/0.1.0_tailwindcss@3.2.4: + /@tailwindcss/container-queries/0.1.0_tailwindcss@3.3.2: resolution: {integrity: sha512-t1GeJ9P8ual160BvKy6Y1sG7bjChArMaK6iRXm3ZYjZGN2FTzmqb5ztsTDb9AsTSJD4NMHtsnaI2ielrXEk+hw==} peerDependencies: tailwindcss: '>=3.2.0' dependencies: - tailwindcss: 3.2.4_postcss@8.4.20 + tailwindcss: 3.3.2 dev: false /@tanstack/match-sorter-utils/8.7.2: @@ -2851,8 +2891,8 @@ packages: resolution: {integrity: sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==} dev: true - /@types/better-sqlite3/7.6.3: - resolution: {integrity: sha512-YS64N9SNDT/NAvou3QNdzAu3E2om/W/0dhORimtPGLef+zSK5l1vDzfsWb4xgXOgfhtOI5ZDTRxnvRPb22AIVQ==} + /@types/better-sqlite3/7.6.4: + resolution: {integrity: sha512-dzrRZCYPXIXfSR1/surNbJ/grU3scTaygS0OMzjlGf71i9sc2fGyHPXXiXmEvNIoE0cGwsanEFMVJxPXmco9Eg==} dependencies: '@types/node': 18.11.17 dev: true @@ -2966,14 +3006,14 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node/16.11.47: - resolution: {integrity: sha512-fpP+jk2zJ4VW66+wAMFoBJlx1bxmBKx4DUFf68UHgdGCOuyUTDlLWqsaNPJh7xhNDykyJ9eIzAygilP/4WoN8g==} - dev: true - /@types/node/18.11.17: resolution: {integrity: sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==} dev: true + /@types/node/18.16.3: + resolution: {integrity: sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==} + dev: true + /@types/node/18.6.4: resolution: {integrity: sha512-I4BD3L+6AWiUobfxZ49DlU43gtI+FTHSv9pE2Zekg6KjMpre4ByusaljW3vYSLJrvQ1ck1hUaeVu8HVlY3vzHg==} dev: true @@ -3037,7 +3077,7 @@ packages: /@types/svgo/2.6.3: resolution: {integrity: sha512-5sP0Xgo0dXppY0tbYF6TevB/1+tzFLuu71XXxC/zGvQAn9PW7y+DwtDO81g0ZUPye00K6tPwtsLDOpARa0mFcA==} dependencies: - '@types/node': 18.6.4 + '@types/node': 18.11.17 dev: true /@types/trusted-types/2.0.2: @@ -3063,7 +3103,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 18.11.17 + '@types/node': 18.16.3 dev: true optional: true @@ -3081,13 +3121,15 @@ packages: resolution: {integrity: sha512-iirJNv92A1ZWxoOHHDYW/1KPoi83939o83iUBQHIim0i3tMeSKEh+bxhJdTHQ86Mr4uXx9xGUTq69cp52ZP8Xw==} dev: false - /@vitejs/plugin-react-swc/3.2.0_vite@4.2.0: - resolution: {integrity: sha512-IcBoXL/mcH7JdQr/nfDlDwTdIaH8Rg7LpfQDF4nAht+juHWIuv6WhpKPCSfY4+zztAaB07qdBoFz1XCZsgo3pQ==} + /@vitejs/plugin-react-swc/3.3.0_vite@4.3.3: + resolution: {integrity: sha512-Ycg+n2eyCOTpn/wRy+evVo859+hw7qCj9iaX5CMny6x1fx1Uoq0xBG+a98lFtwLNGfGEnpI0F26YigRuxCRkwg==} peerDependencies: vite: ^4 dependencies: - '@swc/core': 1.3.38 - vite: 4.2.0 + '@swc/core': 1.3.56 + vite: 4.3.3 + transitivePeerDependencies: + - '@swc/helpers' dev: true /@vitest/ui/0.20.3: @@ -3190,26 +3232,10 @@ packages: acorn: 8.8.0 dev: true - /acorn-node/1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - xtend: 4.0.2 - - /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - /acorn-walk/8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - /acorn/8.8.0: resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} @@ -3340,6 +3366,9 @@ packages: engines: {node: '>=10'} dev: true + /any-promise/1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + /anymatch/3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} @@ -3649,8 +3678,8 @@ packages: /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - /better-sqlite3/8.1.0: - resolution: {integrity: sha512-p1m09H+Oi8R9TPj810pdNswMFuVgRNgCJEWypp6jlkOgSwMIrNyuj3hW78xEuBRGok5RzeaUW8aBtTWF3l/TQA==} + /better-sqlite3/8.3.0: + resolution: {integrity: sha512-JTmvBZL/JLTc+3Msbvq6gK6elbU9/wVMqiudplHrVJpr7sVMR9KJrNhZAbW+RhXKlpMcuEhYkdcHa3TXKNXQ1w==} requiresBuild: true dependencies: bindings: 1.5.0 @@ -4281,6 +4310,10 @@ packages: graceful-readlink: 1.0.1 dev: true + /commander/4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + /commander/5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} @@ -4719,9 +4752,6 @@ packages: isobject: 3.0.1 dev: true - /defined/1.0.0: - resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} - /degenerator/3.0.2: resolution: {integrity: sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==} engines: {node: '>= 6'} @@ -4778,15 +4808,6 @@ packages: dev: true optional: true - /detective/5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true - dependencies: - acorn-node: 1.8.2 - defined: 1.0.0 - minimist: 1.2.8 - /didyoumean/1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -5065,14 +5086,14 @@ packages: resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} dev: true - /electron/23.1.4: - resolution: {integrity: sha512-3Z6CpAPdhv6haYX9DTO7k0l6uAUreZM3/EngQYqGN3Gz7Fp0DPb/egt8BwR3ClG/jTlQM+PQ+5WkTK0eMjm07A==} + /electron/24.1.3: + resolution: {integrity: sha512-lHFRf2CgeOxPLje4BayzaLz1e/SbNejUU4NDarFjBlcYfuH4ceGevYRVjyDZJLbSGdhmM2dLraeku30LGEigCg==} engines: {node: '>= 12.20.55'} hasBin: true requiresBuild: true dependencies: '@electron/get': 2.0.2 - '@types/node': 16.11.47 + '@types/node': 18.16.3 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -5660,6 +5681,7 @@ packages: '@esbuild/win32-arm64': 0.17.12 '@esbuild/win32-ia32': 0.17.12 '@esbuild/win32-x64': 0.17.12 + dev: true /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -6436,6 +6458,10 @@ packages: resolution: {integrity: sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ==} dev: true + /get-tsconfig/4.5.0: + resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} + dev: true + /get-uri/3.0.2: resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==} engines: {node: '>= 6'} @@ -6471,6 +6497,16 @@ packages: dependencies: is-glob: 4.0.3 + /glob/7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + /glob/7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -6984,6 +7020,11 @@ packages: dependencies: has: 1.0.3 + /is-core-module/2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} + dependencies: + has: 1.0.3 + /is-data-descriptor/0.1.4: resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} engines: {node: '>=0.10.0'} @@ -7282,6 +7323,10 @@ packages: supports-color: 7.2.0 dev: true + /jiti/1.18.2: + resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + hasBin: true + /joi/17.7.0: resolution: {integrity: sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==} dependencies: @@ -7525,8 +7570,8 @@ packages: set-cookie-parser: 2.5.1 dev: false - /lilconfig/2.0.6: - resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + /lilconfig/2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} /lines-and-columns/1.2.4: @@ -8082,6 +8127,13 @@ packages: - supports-color dev: true + /mz/2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + /nano-css/5.3.5_biqbaboplfbrettd7655fr4n2y: resolution: {integrity: sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==} peerDependencies: @@ -8104,6 +8156,12 @@ packages: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + dev: true + + /nanoid/3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true /nanomatch/1.2.13: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} @@ -8253,7 +8311,6 @@ packages: /object-assign/4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - dev: true /object-copy/0.1.0: resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} @@ -8658,6 +8715,10 @@ packages: thread-stream: 2.1.0 dev: false + /pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + /pkg-types/1.0.1: resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==} dependencies: @@ -8691,29 +8752,29 @@ packages: engines: {node: '>=0.10.0'} dev: true - /postcss-import/14.1.0_postcss@8.4.20: - resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} - engines: {node: '>=10.0.0'} + /postcss-import/15.1.0_postcss@8.4.23: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.20 + postcss: 8.4.23 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.1 + resolve: 1.22.2 - /postcss-js/4.0.0_postcss@8.4.20: - resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} + /postcss-js/4.0.1_postcss@8.4.23: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: - postcss: ^8.3.3 + postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.20 + postcss: 8.4.23 - /postcss-load-config/3.1.4_postcss@8.4.20: - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} + /postcss-load-config/4.0.1_postcss@8.4.23: + resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + engines: {node: '>= 14'} peerDependencies: postcss: '>=8.0.9' ts-node: '>=9.0.0' @@ -8723,18 +8784,18 @@ packages: ts-node: optional: true dependencies: - lilconfig: 2.0.6 - postcss: 8.4.20 - yaml: 1.10.2 + lilconfig: 2.1.0 + postcss: 8.4.23 + yaml: 2.2.2 - /postcss-nested/6.0.0_postcss@8.4.20: - resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} + /postcss-nested/6.0.1_postcss@8.4.23: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.20 - postcss-selector-parser: 6.0.10 + postcss: 8.4.23 + postcss-selector-parser: 6.0.11 /postcss-prefix-selector/1.16.0_postcss@5.2.18: resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==} @@ -8744,8 +8805,8 @@ packages: postcss: 5.2.18 dev: true - /postcss-selector-parser/6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + /postcss-selector-parser/6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -8771,12 +8832,13 @@ packages: nanoid: 3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 + dev: true - /postcss/8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + /postcss/8.4.23: + resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 + nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 @@ -8852,13 +8914,56 @@ packages: prettier: 2.7.1 dev: true - /prettier-plugin-tailwindcss/0.2.1_prettier@2.8.1: - resolution: {integrity: sha512-aIO8IguumORyRsmT+E7JfJ3A9FEoyhqZR7Au7TBOege3VZkgMvHJMkufeYp4zjnDK2iq4ktkvGMNOQR9T8lisQ==} + /prettier-plugin-tailwindcss/0.2.8_prettier@2.8.8: + resolution: {integrity: sha512-KgPcEnJeIijlMjsA6WwYgRs5rh3/q76oInqtMXBA/EMcamrcYJpyhtRhyX1ayT9hnHlHTuO8sIifHF10WuSDKg==} engines: {node: '>=12.17.0'} peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@shufo/prettier-plugin-blade': '*' + '@trivago/prettier-plugin-sort-imports': '*' prettier: '>=2.2.0' + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + prettier-plugin-twig-melody: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@shufo/prettier-plugin-blade': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + prettier-plugin-twig-melody: + optional: true dependencies: - prettier: 2.8.1 + prettier: 2.8.8 dev: true /prettier/2.7.1: @@ -8867,8 +8972,8 @@ packages: hasBin: true dev: true - /prettier/2.8.1: - resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} + /prettier/2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -8936,8 +9041,8 @@ packages: ipaddr.js: 1.9.1 dev: false - /proxy-compare/2.3.0: - resolution: {integrity: sha512-c3L2CcAi7f7pvlD0D7xsF+2CQIW8C3HaYx2Pfgq8eA4HAl3GAH6/dVYsyBbYF/0XJs2ziGLrzmz5fmzPm6A0pQ==} + /proxy-compare/2.5.0: + resolution: {integrity: sha512-f1us0OsVAJ3tdIMXGQx2lmseYS4YXe4W+sKF5g5ww/jV+5ogMadPt+sIZ+88Ga9kvMJsrRNWzCrKPpr6pMWYbA==} dev: false /proxy-from-env/1.1.0: @@ -8997,6 +9102,7 @@ packages: /quick-lru/5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} + dev: true /randombytes/2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -9038,8 +9144,8 @@ packages: react: 18.2.0 scheduler: 0.23.0 - /react-ga4/1.4.1: - resolution: {integrity: sha512-ioBMEIxd4ePw4YtaloTUgqhQGqz5ebDdC4slEpLgy2sLx1LuZBC9iYCwDymTXzcntw6K1dHX183ulP32nNdG7w==} + /react-ga4/2.1.0: + resolution: {integrity: sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==} dev: false /react-hot-toast/2.4.0_biqbaboplfbrettd7655fr4n2y: @@ -9394,6 +9500,14 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + /resolve/1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + /responselike/2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} dependencies: @@ -9509,9 +9623,10 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 + dev: true - /rollup/3.9.1: - resolution: {integrity: sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==} + /rollup/3.21.2: + resolution: {integrity: sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -10161,6 +10276,19 @@ packages: resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==} dev: false + /sucrase/3.32.0: + resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + /sumchecker/3.0.1: resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} engines: {node: '>= 8.0'} @@ -10250,36 +10378,34 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /tailwindcss/3.2.4_postcss@8.4.20: - resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==} - engines: {node: '>=12.13.0'} + /tailwindcss/3.3.2: + resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} + engines: {node: '>=14.0.0'} hasBin: true - peerDependencies: - postcss: ^8.0.9 dependencies: + '@alloc/quick-lru': 5.2.0 arg: 5.0.2 chokidar: 3.5.3 - color-name: 1.1.4 - detective: 5.2.1 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.2.12 glob-parent: 6.0.2 is-glob: 4.0.3 - lilconfig: 2.0.6 + jiti: 1.18.2 + lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.20 - postcss-import: 14.1.0_postcss@8.4.20 - postcss-js: 4.0.0_postcss@8.4.20 - postcss-load-config: 3.1.4_postcss@8.4.20 - postcss-nested: 6.0.0_postcss@8.4.20 - postcss-selector-parser: 6.0.10 + postcss: 8.4.23 + postcss-import: 15.1.0_postcss@8.4.23 + postcss-js: 4.0.1_postcss@8.4.23 + postcss-load-config: 4.0.1_postcss@8.4.23 + postcss-nested: 6.0.1_postcss@8.4.23 + postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 - quick-lru: 5.1.1 - resolve: 1.22.1 + resolve: 1.22.2 + sucrase: 3.32.0 transitivePeerDependencies: - ts-node @@ -10386,6 +10512,17 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /thenify-all/1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + + /thenify/3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + /thread-stream/2.1.0: resolution: {integrity: sha512-5+Pf2Ya31CsZyIPYYkhINzdTZ3guL+jHq7D8lkBybgGcSQIKDbid3NJku3SpCKeE/gACWAccDA/rH2B6doC5aA==} dependencies: @@ -10563,6 +10700,9 @@ packages: resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} dev: false + /ts-interface-checker/0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + /ts-node/10.9.1_pueorpcrh7oksxdwl2xjxpw4x4: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -10616,6 +10756,17 @@ packages: fsevents: 2.3.2 dev: true + /tsx/3.12.7: + resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==} + hasBin: true + dependencies: + '@esbuild-kit/cjs-loader': 2.4.2 + '@esbuild-kit/core-utils': 3.0.0 + '@esbuild-kit/esm-loader': 2.5.5 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /tunnel-agent/0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: @@ -10627,65 +10778,65 @@ packages: engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} dev: false - /turbo-darwin-64/1.8.3: - resolution: {integrity: sha512-bLM084Wr17VAAY/EvCWj7+OwYHvI9s/NdsvlqGp8iT5HEYVimcornCHespgJS/yvZDfC+mX9EQkn3V2JmYgGGw==} + /turbo-darwin-64/1.9.3: + resolution: {integrity: sha512-0dFc2cWXl82kRE4Z+QqPHhbEFEpUZho1msHXHWbz5+PqLxn8FY0lEVOHkq5tgKNNEd5KnGyj33gC/bHhpZOk5g==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64/1.8.3: - resolution: {integrity: sha512-4oZjXtzakopMK110kue3z/hqu3WLv+eDLZOX1NGdo49gqca9BeD8GbH+sXpAp6tqyeuzpss+PIliVYuyt7LgbA==} + /turbo-darwin-arm64/1.9.3: + resolution: {integrity: sha512-1cYbjqLBA2zYE1nbf/qVnEkrHa4PkJJbLo7hnuMuGM0bPzh4+AnTNe98gELhqI1mkTWBu/XAEeF5u6dgz0jLNA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64/1.8.3: - resolution: {integrity: sha512-uvX2VKotf5PU14FCxJA5iHItPQno2JWzerMd+g3/h/Asay6dvxvtVjc39MQeGT0H5njSvzVKFkT+3/5q8lgOEg==} + /turbo-linux-64/1.9.3: + resolution: {integrity: sha512-UuBPFefawEwpuxh5pM9Jqq3q4C8M0vYxVYlB3qea/nHQ80pxYq7ZcaLGEpb10SGnr3oMUUs1zZvkXWDNKCJb8Q==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64/1.8.3: - resolution: {integrity: sha512-E1p+oH3XKMaPS4rqWhYsL4j2Pzc0d/9P5KU7Kn1kqVLo2T3iRA7n2KVULEieUNE0nTH+aIJPXYXOpqCI5wFJaA==} + /turbo-linux-arm64/1.9.3: + resolution: {integrity: sha512-vUrNGa3hyDtRh9W0MkO+l1dzP8Co2gKnOVmlJQW0hdpOlWlIh22nHNGGlICg+xFa2f9j4PbQlWTsc22c019s8Q==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64/1.8.3: - resolution: {integrity: sha512-cnzAytHtoLXd0J7aNzRpZFpL/GTjcBmkvAPlbOdf/Pl1iwS4qzGrudZQ+OM1lmLgLIfBPIavsGHBknTwTNib4A==} + /turbo-windows-64/1.9.3: + resolution: {integrity: sha512-0BZ7YaHs6r+K4ksqWus1GKK3W45DuDqlmfjm/yuUbTEVc8szmMCs12vugU2Zi5GdrdJSYfoKfEJ/PeegSLIQGQ==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64/1.8.3: - resolution: {integrity: sha512-ulIiItNm2w/zYJdD5/oAzjzNns1IjbpweRzpsE8tLXaWwo6+fnXXkyloUug0IUhcd2k6fJXfoiDZfygqpOVuXg==} + /turbo-windows-arm64/1.9.3: + resolution: {integrity: sha512-QJUYLSsxdXOsR1TquiOmLdAgtYcQ/RuSRpScGvnZb1hY0oLc7JWU0llkYB81wVtWs469y8H9O0cxbKwCZGR4RQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo/1.8.3: - resolution: {integrity: sha512-zGrkU1EuNFmkq6iky6LcMqD4h0OLE8XysVFxQWRIZbcTNnf0XAycbsbeEyiJpiWeqb7qtg2bVuY9EYcNoNhVuQ==} + /turbo/1.9.3: + resolution: {integrity: sha512-ID7mxmaLUPKG/hVkp+h0VuucB1U99RPCJD9cEuSEOdIPoSIuomcIClEJtKamUsdPLhLCud+BvapBNnhgh58Nzw==} hasBin: true requiresBuild: true optionalDependencies: - turbo-darwin-64: 1.8.3 - turbo-darwin-arm64: 1.8.3 - turbo-linux-64: 1.8.3 - turbo-linux-arm64: 1.8.3 - turbo-windows-64: 1.8.3 - turbo-windows-arm64: 1.8.3 + turbo-darwin-64: 1.9.3 + turbo-darwin-arm64: 1.9.3 + turbo-linux-64: 1.9.3 + turbo-linux-arm64: 1.9.3 + turbo-windows-64: 1.9.3 + turbo-windows-arm64: 1.9.3 dev: true /type-check/0.3.2: @@ -10976,34 +11127,18 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /valtio/1.8.0_react@18.2.0+vite@4.2.0: - resolution: {integrity: sha512-lNw7wM0Qb9iBzXMju+XCn+UiIlf5uCe5pcI8XRqcvxEZ/mnRXyKXoOodPDKB8cIAVekA3Q3zWA7rboCdS4ea7g==} - engines: {node: '>=12.7.0'} + /valtio/1.10.4_react@18.2.0: + resolution: {integrity: sha512-gqGWh0DjtDMAy8Jaui8ufFoxlQB1k1NiA/QHrpKoTUk9EeY331WKeYhvtGn1u703RcefrDCez7PT+qeCu9lWEw==} + engines: {node: '>=12.20.0'} peerDependencies: - '@babel/helper-module-imports': '>=7.12' - '@babel/types': '>=7.13' - aslemammad-vite-plugin-macro: '>=1.0.0-alpha.1' - babel-plugin-macros: '>=3.0' react: '>=16.8' - vite: '>=2.8.6' peerDependenciesMeta: - '@babel/helper-module-imports': - optional: true - '@babel/types': - optional: true - aslemammad-vite-plugin-macro: - optional: true - babel-plugin-macros: - optional: true react: optional: true - vite: - optional: true dependencies: - proxy-compare: 2.3.0 + proxy-compare: 2.5.0 react: 18.2.0 use-sync-external-store: 1.2.0_react@18.2.0 - vite: 4.2.0 dev: false /vary/1.1.2: @@ -11030,7 +11165,7 @@ packages: pathe: 0.2.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.2.0_@types+node@18.11.17 + vite: 4.3.3_@types+node@18.11.17 transitivePeerDependencies: - '@types/node' - less @@ -11041,17 +11176,17 @@ packages: - terser dev: true - /vite-plugin-pwa/0.14.4_vite@4.2.0: - resolution: {integrity: sha512-M7Ct0so8OlouMkTWgXnl8W1xU95glITSKIe7qswZf1tniAstO2idElGCnsrTJ5NPNSx1XqfTCOUj8j94S6FD7Q==} + /vite-plugin-pwa/0.14.7_vite@4.3.3: + resolution: {integrity: sha512-dNJaf0fYOWncmjxv9HiSa2xrSjipjff7IkYE5oIUJ2x5HKu3cXgA8LRgzOwTc5MhwyFYRSU0xyN0Phbx3NsQYw==} peerDependencies: vite: ^3.1.0 || ^4.0.0 dependencies: - '@rollup/plugin-replace': 5.0.2_rollup@3.9.1 + '@rollup/plugin-replace': 5.0.2_rollup@3.18.0 debug: 4.3.4 fast-glob: 3.2.12 pretty-bytes: 6.0.0 - rollup: 3.9.1 - vite: 4.2.0 + rollup: 3.18.0 + vite: 4.3.3 workbox-build: 6.5.4 workbox-window: 6.5.4 transitivePeerDependencies: @@ -11059,7 +11194,7 @@ packages: - supports-color dev: true - /vite-plugin-svg-icons/2.0.1_vite@4.2.0: + /vite-plugin-svg-icons/2.0.1_vite@4.3.3: resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} peerDependencies: vite: '>=2.0.0' @@ -11072,7 +11207,7 @@ packages: pathe: 0.2.0 svg-baker: 1.7.0 svgo: 2.8.0 - vite: 4.2.0 + vite: 4.3.3 transitivePeerDependencies: - supports-color dev: true @@ -11104,8 +11239,8 @@ packages: fsevents: 2.3.2 dev: true - /vite/4.2.0: - resolution: {integrity: sha512-AbDTyzzwuKoRtMIRLGNxhLRuv1FpRgdIw+1y6AQG73Q5+vtecmvzKo/yk8X/vrHDpETRTx01ABijqUHIzBXi0g==} + /vite/4.3.3: + resolution: {integrity: sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -11130,14 +11265,14 @@ packages: optional: true dependencies: esbuild: 0.17.12 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 3.18.0 + postcss: 8.4.23 + rollup: 3.21.2 optionalDependencies: fsevents: 2.3.2 + dev: true - /vite/4.2.0_@types+node@18.11.17: - resolution: {integrity: sha512-AbDTyzzwuKoRtMIRLGNxhLRuv1FpRgdIw+1y6AQG73Q5+vtecmvzKo/yk8X/vrHDpETRTx01ABijqUHIzBXi0g==} + /vite/4.3.3_@types+node@18.11.17: + resolution: {integrity: sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -11163,9 +11298,8 @@ packages: dependencies: '@types/node': 18.11.17 esbuild: 0.17.12 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 3.18.0 + postcss: 8.4.23 + rollup: 3.21.2 optionalDependencies: fsevents: 2.3.2 dev: true @@ -11250,7 +11384,7 @@ packages: tinybench: 2.3.1 tinypool: 0.3.0 tinyspy: 1.0.2 - vite: 4.2.0_@types+node@18.11.17 + vite: 4.3.3_@types+node@18.11.17 vite-node: 0.26.3_@types+node@18.11.17 transitivePeerDependencies: - less @@ -11573,10 +11707,6 @@ packages: resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==} dev: false - /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - /y18n/4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: false @@ -11599,6 +11729,11 @@ packages: /yaml/1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + dev: false + + /yaml/2.2.2: + resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} + engines: {node: '>= 14'} /yargs-parser/18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} diff --git a/prettier.config.js b/prettier.config.js index 853b808..55e044f 100644 --- a/prettier.config.js +++ b/prettier.config.js @@ -14,5 +14,5 @@ module.exports = { // Tailwind CSS plugins: [require('prettier-plugin-tailwindcss')], - tailwindConfig: './packages/web/tailwind.config.js', + tailwindConfig: './packages/web/tailwind.config.ts', }