From 5de732eadff7d3ff388f8d211743e473ee3c82ff Mon Sep 17 00:00:00 2001 From: Josh Corbett Date: Wed, 12 Jul 2023 15:58:07 -0600 Subject: [PATCH 1/9] feat: :sparkles: basic page schema setup --- package.json | 1 + pnpm-lock.yaml | 12 ++++++- src/app.d.ts | 1 + src/app.html | 1 - src/lib/components/HeadTemplate.svelte | 4 +++ src/lib/utils/index.ts | 32 +++++++++++++++++-- src/routes/(store)/[[locale]]/+layout.svelte | 3 ++ .../collections/[handle]/+page.server.ts | 2 +- 8 files changed, 51 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 03f2323..81f8ce9 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "@apollo/client": "^3.7.17", "graphql": "^16.7.1", "isbot": "^3.6.12", + "schema-dts": "^1.1.2", "svelte-kit-cookie-session": "^3.4.1", "tiny-invariant": "^1.3.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 65ade98..1329612 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ dependencies: isbot: specifier: ^3.6.12 version: 3.6.12 + schema-dts: + specifier: ^1.1.2 + version: 1.1.2(typescript@5.1.6) svelte-kit-cookie-session: specifier: ^3.4.1 version: 3.4.1 @@ -1950,6 +1953,14 @@ packages: rimraf: 2.7.1 dev: true + /schema-dts@1.1.2(typescript@5.1.6): + resolution: {integrity: sha512-MpNwH0dZJHinVxk9bT8XUdjKTxMYrA5bLtrrGmFA6PTLwlOKnhi67XoRd6/ty+Djt6ZC0slR57qFhZDNMI6DhQ==} + peerDependencies: + typescript: '>=4.1.0' + dependencies: + typescript: 5.1.6 + dev: false + /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} @@ -2301,7 +2312,6 @@ packages: resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} engines: {node: '>=14.17'} hasBin: true - dev: true /undici@5.22.1: resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} diff --git a/src/app.d.ts b/src/app.d.ts index c1b49b0..4b7c160 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -17,6 +17,7 @@ declare global { seo?: { title: string description: string + robots?: string [key: string]: string | undefined } } diff --git a/src/app.html b/src/app.html index 8845cee..7c10f7a 100644 --- a/src/app.html +++ b/src/app.html @@ -4,7 +4,6 @@ %sveltekit.head% -
%sveltekit.body%
diff --git a/src/lib/components/HeadTemplate.svelte b/src/lib/components/HeadTemplate.svelte index 9491ec5..3eef9a4 100644 --- a/src/lib/components/HeadTemplate.svelte +++ b/src/lib/components/HeadTemplate.svelte @@ -22,4 +22,8 @@ $: robots = seo?.robots || 'index, follow' + + {#if shop.brand?.image} + + {/if} diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts index 693b452..3948099 100644 --- a/src/lib/utils/index.ts +++ b/src/lib/utils/index.ts @@ -1,6 +1,34 @@ -import type { CurrencyCode, Locale, MoneyV2 } from '$lib/types' +import type { CurrencyCode, Locale, MoneyV2, Shop } from '$lib/types' import { readable } from 'svelte/store' -import { page } from '$app/stores' +import type { Thing, WithContext, Organization } from 'schema-dts' + +type UseOrganizationSchema = (shop: Shop) => WithContext +export const useOrganizationSchema: UseOrganizationSchema = (shop: Shop) => { + const url = shop.primaryDomain?.url + return { + '@context': 'https://schema.org', + '@type': 'Organization', + '@id': url ? `${url}#organization` : undefined, + name: shop.name, + logo: shop.brand?.logo?.image?.url ?? undefined, + url: shop.primaryDomain?.url ?? undefined, + // sameAs: [], + potentialAction: url ? { + '@type': 'SearchAction', + target: `${url}search?q={search_term}`, + query: "required name=search_term" + } : undefined, + } +} + +type SchemaSerializerParam = Thing | WithContext +export const serializeSchema = (thing: SchemaSerializerParam) => { + return `` +} export const useTimeAgo = (a: Date, b: Date) => { const msDiff = b.getTime() - a.getTime() diff --git a/src/routes/(store)/[[locale]]/+layout.svelte b/src/routes/(store)/[[locale]]/+layout.svelte index f9c9d33..e48cc68 100644 --- a/src/routes/(store)/[[locale]]/+layout.svelte +++ b/src/routes/(store)/[[locale]]/+layout.svelte @@ -3,6 +3,7 @@ import type { LayoutServerData } from './$types' import HeadTemplate from '$lib/components/HeadTemplate.svelte' import CountrySelector from '$lib/components/CountrySelector.svelte' import Link from '$root/lib/components/Link.svelte' +import { serializeSchema, useOrganizationSchema } from '$lib/utils' import '$root/app.css' export let data: LayoutServerData @@ -11,6 +12,8 @@ $: ({ shop, cart, headerMenu, footerMenu } = data.layout) +{@html serializeSchema(useOrganizationSchema(shop))} +
diff --git a/src/routes/(store)/[[locale]]/collections/[handle]/+page.server.ts b/src/routes/(store)/[[locale]]/collections/[handle]/+page.server.ts index b975835..bc349b7 100644 --- a/src/routes/(store)/[[locale]]/collections/[handle]/+page.server.ts +++ b/src/routes/(store)/[[locale]]/collections/[handle]/+page.server.ts @@ -2,7 +2,7 @@ import { collectionQuery } from '$lib/server/data' import type { PageServerLoad } from './$types' import { error } from '@sveltejs/kit' -export const load: PageServerLoad = async ({ params, url, locals, parent }) => { +export const load: PageServerLoad = async ({ params, url, locals }) => { const { handle } = params const { storefront, locale } = locals From fffa4f6f091fb86e4fa48981eb2364db4b833253 Mon Sep 17 00:00:00 2001 From: Josh Corbett Date: Tue, 18 Jul 2023 07:50:32 -0600 Subject: [PATCH 2/9] chore: :arrow_up: upgrade deps --- package.json | 14 +- pnpm-lock.yaml | 442 +++++++++++++++++++++++-------------------------- 2 files changed, 217 insertions(+), 239 deletions(-) diff --git a/package.json b/package.json index 81f8ce9..9dc90be 100644 --- a/package.json +++ b/package.json @@ -13,19 +13,19 @@ "devDependencies": { "@sveltejs/adapter-auto": "^2.1.0", "@sveltejs/kit": "^1.22.3", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", + "@typescript-eslint/eslint-plugin": "^6.1.0", + "@typescript-eslint/parser": "^6.1.0", "autoprefixer": "^10.4.14", - "eslint": "^8.44.0", + "eslint": "^8.45.0", "eslint-plugin-svelte": "^2.32.2", - "postcss": "^8.4.25", + "postcss": "^8.4.26", "svelte": "^4.0.5", "svelte-check": "^3.4.6", - "sveltekit-superforms": "^1.2.0", - "tailwindcss": "^3.3.2", + "sveltekit-superforms": "^1.3.0", + "tailwindcss": "^3.3.3", "tslib": "^2.6.0", "typescript": "^5.1.6", - "vite": "^4.4.3", + "vite": "^4.4.4", "zod": "^3.21.4" }, "type": "module", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1329612..b9e030a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,37 +30,37 @@ devDependencies: version: 2.1.0(@sveltejs/kit@1.22.3) '@sveltejs/kit': specifier: ^1.22.3 - version: 1.22.3(svelte@4.0.5)(vite@4.4.3) + version: 1.22.3(svelte@4.0.5)(vite@4.4.4) '@typescript-eslint/eslint-plugin': - specifier: ^6.0.0 - version: 6.0.0(@typescript-eslint/parser@6.0.0)(eslint@8.44.0)(typescript@5.1.6) + specifier: ^6.1.0 + version: 6.1.0(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)(typescript@5.1.6) '@typescript-eslint/parser': - specifier: ^6.0.0 - version: 6.0.0(eslint@8.44.0)(typescript@5.1.6) + specifier: ^6.1.0 + version: 6.1.0(eslint@8.45.0)(typescript@5.1.6) autoprefixer: specifier: ^10.4.14 - version: 10.4.14(postcss@8.4.25) + version: 10.4.14(postcss@8.4.26) eslint: - specifier: ^8.44.0 - version: 8.44.0 + specifier: ^8.45.0 + version: 8.45.0 eslint-plugin-svelte: specifier: ^2.32.2 - version: 2.32.2(eslint@8.44.0)(svelte@4.0.5) + version: 2.32.2(eslint@8.45.0)(svelte@4.0.5) postcss: - specifier: ^8.4.25 - version: 8.4.25 + specifier: ^8.4.26 + version: 8.4.26 svelte: specifier: ^4.0.5 version: 4.0.5 svelte-check: specifier: ^3.4.6 - version: 3.4.6(postcss@8.4.25)(svelte@4.0.5) + version: 3.4.6(postcss@8.4.26)(svelte@4.0.5) sveltekit-superforms: - specifier: ^1.2.0 - version: 1.2.0(@sveltejs/kit@1.22.3)(svelte@4.0.5)(zod@3.21.4) + specifier: ^1.3.0 + version: 1.3.0(@sveltejs/kit@1.22.3)(svelte@4.0.5)(zod@3.21.4) tailwindcss: - specifier: ^3.3.2 - version: 3.3.2 + specifier: ^3.3.3 + version: 3.3.3 tslib: specifier: ^2.6.0 version: 2.6.0 @@ -68,8 +68,8 @@ devDependencies: specifier: ^5.1.6 version: 5.1.6 vite: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.4.4 + version: 4.4.4 zod: specifier: ^3.21.4 version: 3.21.4 @@ -128,8 +128,8 @@ packages: zen-observable-ts: 1.2.5 dev: false - /@esbuild/android-arm64@0.18.11: - resolution: {integrity: sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==} + /@esbuild/android-arm64@0.18.14: + resolution: {integrity: sha512-rZ2v+Luba5/3D6l8kofWgTnqE+qsC/L5MleKIKFyllHTKHrNBMqeRCnZI1BtRx8B24xMYxeU32iIddRQqMsOsg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -137,8 +137,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.11: - resolution: {integrity: sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==} + /@esbuild/android-arm@0.18.14: + resolution: {integrity: sha512-blODaaL+lngG5bdK/t4qZcQvq2BBqrABmYwqPPcS5VRxrCSGHb9R/rA3fqxh7R18I7WU4KKv+NYkt22FDfalcg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -146,8 +146,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.18.11: - resolution: {integrity: sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==} + /@esbuild/android-x64@0.18.14: + resolution: {integrity: sha512-qSwh8y38QKl+1Iqg+YhvCVYlSk3dVLk9N88VO71U4FUjtiSFylMWK3Ugr8GC6eTkkP4Tc83dVppt2n8vIdlSGg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -155,8 +155,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.11: - resolution: {integrity: sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==} + /@esbuild/darwin-arm64@0.18.14: + resolution: {integrity: sha512-9Hl2D2PBeDYZiNbnRKRWuxwHa9v5ssWBBjisXFkVcSP5cZqzZRFBUWEQuqBHO4+PKx4q4wgHoWtfQ1S7rUqJ2Q==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -164,8 +164,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.11: - resolution: {integrity: sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==} + /@esbuild/darwin-x64@0.18.14: + resolution: {integrity: sha512-ZnI3Dg4ElQ6tlv82qLc/UNHtFsgZSKZ7KjsUNAo1BF1SoYDjkGKHJyCrYyWjFecmXpvvG/KJ9A/oe0H12odPLQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -173,8 +173,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.11: - resolution: {integrity: sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==} + /@esbuild/freebsd-arm64@0.18.14: + resolution: {integrity: sha512-h3OqR80Da4oQCIa37zl8tU5MwHQ7qgPV0oVScPfKJK21fSRZEhLE4IIVpmcOxfAVmqjU6NDxcxhYaM8aDIGRLw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -182,8 +182,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.11: - resolution: {integrity: sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==} + /@esbuild/freebsd-x64@0.18.14: + resolution: {integrity: sha512-ha4BX+S6CZG4BoH9tOZTrFIYC1DH13UTCRHzFc3GWX74nz3h/N6MPF3tuR3XlsNjMFUazGgm35MPW5tHkn2lzQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -191,8 +191,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.11: - resolution: {integrity: sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==} + /@esbuild/linux-arm64@0.18.14: + resolution: {integrity: sha512-IXORRe22In7U65NZCzjwAUc03nn8SDIzWCnfzJ6t/8AvGx5zBkcLfknI+0P+hhuftufJBmIXxdSTbzWc8X/V4w==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -200,8 +200,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.11: - resolution: {integrity: sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==} + /@esbuild/linux-arm@0.18.14: + resolution: {integrity: sha512-5+7vehI1iqru5WRtJyU2XvTOvTGURw3OZxe3YTdE9muNNIdmKAVmSHpB3Vw2LazJk2ifEdIMt/wTWnVe5V98Kg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -209,8 +209,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.11: - resolution: {integrity: sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==} + /@esbuild/linux-ia32@0.18.14: + resolution: {integrity: sha512-BfHlMa0nibwpjG+VXbOoqJDmFde4UK2gnW351SQ2Zd4t1N3zNdmUEqRkw/srC1Sa1DRBE88Dbwg4JgWCbNz/FQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -218,8 +218,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.11: - resolution: {integrity: sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==} + /@esbuild/linux-loong64@0.18.14: + resolution: {integrity: sha512-j2/Ex++DRUWIAaUDprXd3JevzGtZ4/d7VKz+AYDoHZ3HjJzCyYBub9CU1wwIXN+viOP0b4VR3RhGClsvyt/xSw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -227,8 +227,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.11: - resolution: {integrity: sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==} + /@esbuild/linux-mips64el@0.18.14: + resolution: {integrity: sha512-qn2+nc+ZCrJmiicoAnJXJJkZWt8Nwswgu1crY7N+PBR8ChBHh89XRxj38UU6Dkthl2yCVO9jWuafZ24muzDC/A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -236,8 +236,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.11: - resolution: {integrity: sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==} + /@esbuild/linux-ppc64@0.18.14: + resolution: {integrity: sha512-aGzXzd+djqeEC5IRkDKt3kWzvXoXC6K6GyYKxd+wsFJ2VQYnOWE954qV2tvy5/aaNrmgPTb52cSCHFE+Z7Z0yg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -245,8 +245,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.11: - resolution: {integrity: sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==} + /@esbuild/linux-riscv64@0.18.14: + resolution: {integrity: sha512-8C6vWbfr0ygbAiMFLS6OPz0BHvApkT2gCboOGV76YrYw+sD/MQJzyITNsjZWDXJwPu9tjrFQOVG7zijRzBCnLw==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -254,8 +254,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.11: - resolution: {integrity: sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==} + /@esbuild/linux-s390x@0.18.14: + resolution: {integrity: sha512-G/Lf9iu8sRMM60OVGOh94ZW2nIStksEcITkXdkD09/T6QFD/o+g0+9WVyR/jajIb3A0LvBJ670tBnGe1GgXMgw==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -263,8 +263,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.11: - resolution: {integrity: sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==} + /@esbuild/linux-x64@0.18.14: + resolution: {integrity: sha512-TBgStYBQaa3EGhgqIDM+ECnkreb0wkcKqL7H6m+XPcGUoU4dO7dqewfbm0mWEQYH3kzFHrzjOFNpSAVzDZRSJw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -272,8 +272,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.11: - resolution: {integrity: sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==} + /@esbuild/netbsd-x64@0.18.14: + resolution: {integrity: sha512-stvCcjyCQR2lMTroqNhAbvROqRjxPEq0oQ380YdXxA81TaRJEucH/PzJ/qsEtsHgXlWFW6Ryr/X15vxQiyRXVg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -281,8 +281,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.11: - resolution: {integrity: sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==} + /@esbuild/openbsd-x64@0.18.14: + resolution: {integrity: sha512-apAOJF14CIsN5ht1PA57PboEMsNV70j3FUdxLmA2liZ20gEQnfTG5QU0FhENo5nwbTqCB2O3WDsXAihfODjHYw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -290,8 +290,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.11: - resolution: {integrity: sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==} + /@esbuild/sunos-x64@0.18.14: + resolution: {integrity: sha512-fYRaaS8mDgZcGybPn2MQbn1ZNZx+UXFSUoS5Hd2oEnlsyUcr/l3c6RnXf1bLDRKKdLRSabTmyCy7VLQ7VhGdOQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -299,8 +299,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.11: - resolution: {integrity: sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==} + /@esbuild/win32-arm64@0.18.14: + resolution: {integrity: sha512-1c44RcxKEJPrVj62XdmYhxXaU/V7auELCmnD+Ri+UCt+AGxTvzxl9uauQhrFso8gj6ZV1DaORV0sT9XSHOAk8Q==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -308,8 +308,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.11: - resolution: {integrity: sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==} + /@esbuild/win32-ia32@0.18.14: + resolution: {integrity: sha512-EXAFttrdAxZkFQmpvcAQ2bywlWUsONp/9c2lcfvPUhu8vXBBenCXpoq9YkUvVP639ld3YGiYx0YUQ6/VQz3Maw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -317,8 +317,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.11: - resolution: {integrity: sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==} + /@esbuild/win32-x64@0.18.14: + resolution: {integrity: sha512-K0QjGbcskx+gY+qp3v4/940qg8JitpXbdxFhRDA1aYoNaPff88+aEwoq45aqJ+ogpxQxmU0ZTjgnrQD/w8iiUg==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -326,13 +326,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.44.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.45.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.44.0 + eslint: 8.45.0 eslint-visitor-keys: 3.4.1 dev: true @@ -347,7 +347,7 @@ packages: dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.6.0 + espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -455,11 +455,11 @@ packages: peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@sveltejs/kit': 1.22.3(svelte@4.0.5)(vite@4.4.3) + '@sveltejs/kit': 1.22.3(svelte@4.0.5)(vite@4.4.4) import-meta-resolve: 3.0.0 dev: true - /@sveltejs/kit@1.22.3(svelte@4.0.5)(vite@4.4.3): + /@sveltejs/kit@1.22.3(svelte@4.0.5)(vite@4.4.4): resolution: {integrity: sha512-IpHD5wvuoOIHYaHQUBJ1zERD2Iz+fB/rBXhXjl8InKw6X4VKE9BSus+ttHhE7Ke+Ie9ecfilzX8BnWE3FeQyng==} engines: {node: ^16.14 || >=18} hasBin: true @@ -468,7 +468,7 @@ packages: svelte: ^3.54.0 || ^4.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.2(svelte@4.0.5)(vite@4.4.3) + '@sveltejs/vite-plugin-svelte': 2.4.2(svelte@4.0.5)(vite@4.4.4) '@types/cookie': 0.5.1 cookie: 0.5.0 devalue: 4.3.2 @@ -481,12 +481,12 @@ packages: sirv: 2.0.3 svelte: 4.0.5 undici: 5.22.1 - vite: 4.4.3 + vite: 4.4.4 transitivePeerDependencies: - supports-color dev: true - /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.0.5)(vite@4.4.3): + /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.0.5)(vite@4.4.4): resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -494,30 +494,30 @@ packages: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.2(svelte@4.0.5)(vite@4.4.3) + '@sveltejs/vite-plugin-svelte': 2.4.2(svelte@4.0.5)(vite@4.4.4) debug: 4.3.4 svelte: 4.0.5 - vite: 4.4.3 + vite: 4.4.4 transitivePeerDependencies: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@2.4.2(svelte@4.0.5)(vite@4.4.3): + /@sveltejs/vite-plugin-svelte@2.4.2(svelte@4.0.5)(vite@4.4.4): resolution: {integrity: sha512-ePfcC48ftMKhkT0OFGdOyycYKnnkT6i/buzey+vHRTR/JpQvuPzzhf1PtKqCDQfJRgoPSN2vscXs6gLigx/zGw==} engines: {node: ^14.18.0 || >= 16} peerDependencies: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.0.5)(vite@4.4.3) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.0.5)(vite@4.4.4) debug: 4.3.4 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.1 svelte: 4.0.5 svelte-hmr: 0.15.2(svelte@4.0.5) - vite: 4.4.3 - vitefu: 0.2.4(vite@4.4.3) + vite: 4.4.4 + vitefu: 0.2.4(vite@4.4.4) transitivePeerDependencies: - supports-color dev: true @@ -542,8 +542,8 @@ packages: resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} dev: true - /@typescript-eslint/eslint-plugin@6.0.0(@typescript-eslint/parser@6.0.0)(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-xuv6ghKGoiq856Bww/yVYnXGsKa588kY3M0XK7uUW/3fJNNULKRfZfSBkMTSpqGG/8ZCXCadfh8G/z/B4aqS/A==} + /@typescript-eslint/eslint-plugin@6.1.0(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)(typescript@5.1.6): + resolution: {integrity: sha512-qg7Bm5TyP/I7iilGyp6DRqqkt8na00lI6HbjWZObgk3FFSzH5ypRwAHXJhJkwiRtTcfn+xYQIMOR5kJgpo6upw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -554,14 +554,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 6.0.0(eslint@8.44.0)(typescript@5.1.6) - '@typescript-eslint/scope-manager': 6.0.0 - '@typescript-eslint/type-utils': 6.0.0(eslint@8.44.0)(typescript@5.1.6) - '@typescript-eslint/utils': 6.0.0(eslint@8.44.0)(typescript@5.1.6) - '@typescript-eslint/visitor-keys': 6.0.0 + '@typescript-eslint/parser': 6.1.0(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.1.0 + '@typescript-eslint/type-utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.1.0 debug: 4.3.4 - eslint: 8.44.0 - grapheme-splitter: 1.0.4 + eslint: 8.45.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -573,8 +572,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.0.0(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-TNaufYSPrr1U8n+3xN+Yp9g31vQDJqhXzzPSHfQDLcaO4tU+mCfODPxCwf4H530zo7aUBE3QIdxCXamEnG04Tg==} + /@typescript-eslint/parser@6.1.0(eslint@8.45.0)(typescript@5.1.6): + resolution: {integrity: sha512-hIzCPvX4vDs4qL07SYzyomamcs2/tQYXg5DtdAfj35AyJ5PIUqhsLf4YrEIFzZcND7R2E8tpQIZKayxg8/6Wbw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -583,27 +582,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.0.0 - '@typescript-eslint/types': 6.0.0 - '@typescript-eslint/typescript-estree': 6.0.0(typescript@5.1.6) - '@typescript-eslint/visitor-keys': 6.0.0 + '@typescript-eslint/scope-manager': 6.1.0 + '@typescript-eslint/types': 6.1.0 + '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.1.0 debug: 4.3.4 - eslint: 8.44.0 + eslint: 8.45.0 typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@6.0.0: - resolution: {integrity: sha512-o4q0KHlgCZTqjuaZ25nw5W57NeykZT9LiMEG4do/ovwvOcPnDO1BI5BQdCsUkjxFyrCL0cSzLjvIMfR9uo7cWg==} + /@typescript-eslint/scope-manager@6.1.0: + resolution: {integrity: sha512-AxjgxDn27hgPpe2rQe19k0tXw84YCOsjDJ2r61cIebq1t+AIxbgiXKvD4999Wk49GVaAcdJ/d49FYel+Pp3jjw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.0.0 - '@typescript-eslint/visitor-keys': 6.0.0 + '@typescript-eslint/types': 6.1.0 + '@typescript-eslint/visitor-keys': 6.1.0 dev: true - /@typescript-eslint/type-utils@6.0.0(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-ah6LJvLgkoZ/pyJ9GAdFkzeuMZ8goV6BH7eC9FPmojrnX9yNCIsfjB+zYcnex28YO3RFvBkV6rMV6WpIqkPvoQ==} + /@typescript-eslint/type-utils@6.1.0(eslint@8.45.0)(typescript@5.1.6): + resolution: {integrity: sha512-kFXBx6QWS1ZZ5Ni89TyT1X9Ag6RXVIVhqDs0vZE/jUeWlBv/ixq2diua6G7ece6+fXw3TvNRxP77/5mOMusx2w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -612,23 +611,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.0.0(typescript@5.1.6) - '@typescript-eslint/utils': 6.0.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6) + '@typescript-eslint/utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.44.0 + eslint: 8.45.0 ts-api-utils: 1.0.1(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@6.0.0: - resolution: {integrity: sha512-Zk9KDggyZM6tj0AJWYYKgF0yQyrcnievdhG0g5FqyU3Y2DRxJn4yWY21sJC0QKBckbsdKKjYDV2yVrrEvuTgxg==} + /@typescript-eslint/types@6.1.0: + resolution: {integrity: sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.0.0(typescript@5.1.6): - resolution: {integrity: sha512-2zq4O7P6YCQADfmJ5OTDQTP3ktajnXIRrYAtHM9ofto/CJZV3QfJ89GEaM2BNGeSr1KgmBuLhEkz5FBkS2RQhQ==} + /@typescript-eslint/typescript-estree@6.1.0(typescript@5.1.6): + resolution: {integrity: sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -636,8 +635,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.0.0 - '@typescript-eslint/visitor-keys': 6.0.0 + '@typescript-eslint/types': 6.1.0 + '@typescript-eslint/visitor-keys': 6.1.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -648,31 +647,30 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.0.0(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-SOr6l4NB6HE4H/ktz0JVVWNXqCJTOo/mHnvIte1ZhBQ0Cvd04x5uKZa3zT6tiodL06zf5xxdK8COiDvPnQ27JQ==} + /@typescript-eslint/utils@6.1.0(eslint@8.45.0)(typescript@5.1.6): + resolution: {integrity: sha512-wp652EogZlKmQoMS5hAvWqRKplXvkuOnNzZSE0PVvsKjpexd/XznRVHAtrfHFYmqaJz0DFkjlDsGYC9OXw+OhQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.0.0 - '@typescript-eslint/types': 6.0.0 - '@typescript-eslint/typescript-estree': 6.0.0(typescript@5.1.6) - eslint: 8.44.0 - eslint-scope: 5.1.1 + '@typescript-eslint/scope-manager': 6.1.0 + '@typescript-eslint/types': 6.1.0 + '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6) + eslint: 8.45.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@6.0.0: - resolution: {integrity: sha512-cvJ63l8c0yXdeT5POHpL0Q1cZoRcmRKFCtSjNGJxPkcP571EfZMcNbzWAc7oK3D1dRzm/V5EwtkANTZxqvuuUA==} + /@typescript-eslint/visitor-keys@6.1.0: + resolution: {integrity: sha512-yQeh+EXhquh119Eis4k0kYhj9vmFzNpbhM3LftWQVwqVjipCkwHBQOZutcYW+JVkjtTG9k8nrZU1UoNedPDd1A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.0.0 + '@typescript-eslint/types': 6.1.0 eslint-visitor-keys: 3.4.1 dev: true @@ -770,7 +768,7 @@ packages: engines: {node: '>=8'} dev: true - /autoprefixer@10.4.14(postcss@8.4.25): + /autoprefixer@10.4.14(postcss@8.4.26): resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -778,11 +776,11 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.9 - caniuse-lite: 1.0.30001515 + caniuse-lite: 1.0.30001516 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.25 + postcss: 8.4.26 postcss-value-parser: 4.2.0 dev: true @@ -820,8 +818,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001515 - electron-to-chromium: 1.4.457 + caniuse-lite: 1.0.30001516 + electron-to-chromium: 1.4.463 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.9) dev: true @@ -847,8 +845,8 @@ packages: engines: {node: '>= 6'} dev: true - /caniuse-lite@1.0.30001515: - resolution: {integrity: sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==} + /caniuse-lite@1.0.30001516: + resolution: {integrity: sha512-Wmec9pCBY8CWbmI4HsjBeQLqDTqV91nFVR83DnZpYyRnPI1wePDsTg0bGLPC5VU/3OIZV1fmxEea1b+tFKe86g==} dev: true /chalk@4.1.2: @@ -989,42 +987,42 @@ packages: esutils: 2.0.3 dev: true - /electron-to-chromium@1.4.457: - resolution: {integrity: sha512-/g3UyNDmDd6ebeWapmAoiyy+Sy2HyJ+/X8KyvNeHfKRFfHaA2W8oF5fxD5F3tjBDcjpwo0iek6YNgxNXDBoEtA==} + /electron-to-chromium@1.4.463: + resolution: {integrity: sha512-fT3hvdUWLjDbaTGzyOjng/CQhQJSQP8ThO3XZAoaxHvHo2kUXiRQVMj9M235l8uDFiNPsPa6KHT1p3RaR6ugRw==} dev: true /es6-promise@3.3.1: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true - /esbuild@0.18.11: - resolution: {integrity: sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==} + /esbuild@0.18.14: + resolution: {integrity: sha512-uNPj5oHPYmj+ZhSQeYQVFZ+hAlJZbAGOmmILWIqrGvPVlNLbyOvU5Bu6Woi8G8nskcx0vwY0iFoMPrzT86Ko+w==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.11 - '@esbuild/android-arm64': 0.18.11 - '@esbuild/android-x64': 0.18.11 - '@esbuild/darwin-arm64': 0.18.11 - '@esbuild/darwin-x64': 0.18.11 - '@esbuild/freebsd-arm64': 0.18.11 - '@esbuild/freebsd-x64': 0.18.11 - '@esbuild/linux-arm': 0.18.11 - '@esbuild/linux-arm64': 0.18.11 - '@esbuild/linux-ia32': 0.18.11 - '@esbuild/linux-loong64': 0.18.11 - '@esbuild/linux-mips64el': 0.18.11 - '@esbuild/linux-ppc64': 0.18.11 - '@esbuild/linux-riscv64': 0.18.11 - '@esbuild/linux-s390x': 0.18.11 - '@esbuild/linux-x64': 0.18.11 - '@esbuild/netbsd-x64': 0.18.11 - '@esbuild/openbsd-x64': 0.18.11 - '@esbuild/sunos-x64': 0.18.11 - '@esbuild/win32-arm64': 0.18.11 - '@esbuild/win32-ia32': 0.18.11 - '@esbuild/win32-x64': 0.18.11 + '@esbuild/android-arm': 0.18.14 + '@esbuild/android-arm64': 0.18.14 + '@esbuild/android-x64': 0.18.14 + '@esbuild/darwin-arm64': 0.18.14 + '@esbuild/darwin-x64': 0.18.14 + '@esbuild/freebsd-arm64': 0.18.14 + '@esbuild/freebsd-x64': 0.18.14 + '@esbuild/linux-arm': 0.18.14 + '@esbuild/linux-arm64': 0.18.14 + '@esbuild/linux-ia32': 0.18.14 + '@esbuild/linux-loong64': 0.18.14 + '@esbuild/linux-mips64el': 0.18.14 + '@esbuild/linux-ppc64': 0.18.14 + '@esbuild/linux-riscv64': 0.18.14 + '@esbuild/linux-s390x': 0.18.14 + '@esbuild/linux-x64': 0.18.14 + '@esbuild/netbsd-x64': 0.18.14 + '@esbuild/openbsd-x64': 0.18.14 + '@esbuild/sunos-x64': 0.18.14 + '@esbuild/win32-arm64': 0.18.14 + '@esbuild/win32-ia32': 0.18.14 + '@esbuild/win32-x64': 0.18.14 dev: true /escalade@3.1.1: @@ -1037,7 +1035,7 @@ packages: engines: {node: '>=10'} dev: true - /eslint-plugin-svelte@2.32.2(eslint@8.44.0)(svelte@4.0.5): + /eslint-plugin-svelte@2.32.2(eslint@8.45.0)(svelte@4.0.5): resolution: {integrity: sha512-Jgbop2fNZsoxxkklZAIbDNhwAPynvnCtUXLsEC6O2qax7N/pfe2cNqT0ZoBbubXKJitQQDEyVDQ1rZs4ZWcrTA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: @@ -1047,15 +1045,15 @@ packages: svelte: optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) '@jridgewell/sourcemap-codec': 1.4.15 debug: 4.3.4 - eslint: 8.44.0 + eslint: 8.45.0 esutils: 2.0.3 known-css-properties: 0.27.0 - postcss: 8.4.25 - postcss-load-config: 3.1.4(postcss@8.4.25) - postcss-safe-parser: 6.0.0(postcss@8.4.25) + postcss: 8.4.26 + postcss-load-config: 3.1.4(postcss@8.4.26) + postcss-safe-parser: 6.0.0(postcss@8.4.26) postcss-selector-parser: 6.0.13 semver: 7.5.4 svelte: 4.0.5 @@ -1065,16 +1063,8 @@ packages: - ts-node dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + /eslint-scope@7.2.1: + resolution: {integrity: sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 @@ -1086,12 +1076,12 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.44.0: - resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==} + /eslint@8.45.0: + resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) '@eslint-community/regexpp': 4.5.1 '@eslint/eslintrc': 2.1.0 '@eslint/js': 8.44.0 @@ -1104,9 +1094,9 @@ packages: debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 + eslint-scope: 7.2.1 eslint-visitor-keys: 3.4.1 - espree: 9.6.0 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -1116,7 +1106,6 @@ packages: globals: 13.20.0 graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -1128,7 +1117,6 @@ packages: natural-compare: 1.4.0 optionator: 0.9.3 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -1137,8 +1125,8 @@ packages: /esm-env@1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} - /espree@9.6.0: - resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.10.0 @@ -1160,11 +1148,6 @@ packages: estraverse: 5.3.0 dev: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -1323,10 +1306,6 @@ packages: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true - /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -1741,29 +1720,29 @@ packages: engines: {node: '>= 6'} dev: true - /postcss-import@15.1.0(postcss@8.4.25): + /postcss-import@15.1.0(postcss@8.4.26): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.25 + postcss: 8.4.26 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.2 dev: true - /postcss-js@4.0.1(postcss@8.4.25): + /postcss-js@4.0.1(postcss@8.4.26): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.25 + postcss: 8.4.26 dev: true - /postcss-load-config@3.1.4(postcss@8.4.25): + /postcss-load-config@3.1.4(postcss@8.4.26): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -1776,11 +1755,11 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.25 + postcss: 8.4.26 yaml: 1.10.2 dev: true - /postcss-load-config@4.0.1(postcss@8.4.25): + /postcss-load-config@4.0.1(postcss@8.4.26): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -1793,36 +1772,36 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.25 + postcss: 8.4.26 yaml: 2.3.1 dev: true - /postcss-nested@6.0.1(postcss@8.4.25): + /postcss-nested@6.0.1(postcss@8.4.26): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.25 + postcss: 8.4.26 postcss-selector-parser: 6.0.13 dev: true - /postcss-safe-parser@6.0.0(postcss@8.4.25): + /postcss-safe-parser@6.0.0(postcss@8.4.26): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 dependencies: - postcss: 8.4.25 + postcss: 8.4.26 dev: true - /postcss-scss@4.0.6(postcss@8.4.25): + /postcss-scss@4.0.6(postcss@8.4.26): resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.4.19 dependencies: - postcss: 8.4.25 + postcss: 8.4.26 dev: true /postcss-selector-parser@6.0.13: @@ -1837,8 +1816,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.25: - resolution: {integrity: sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==} + /postcss@8.4.26: + resolution: {integrity: sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -1923,8 +1902,8 @@ packages: glob: 7.2.3 dev: true - /rollup@3.26.2: - resolution: {integrity: sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==} + /rollup@3.26.3: + resolution: {integrity: sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -2038,8 +2017,8 @@ packages: engines: {node: '>=8'} dev: true - /sucrase@3.32.0: - resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} + /sucrase@3.33.0: + resolution: {integrity: sha512-ARGC7vbufOHfpvyGcZZXFaXCMZ9A4fffOGC5ucOW7+WHDGlAe8LJdf3Jts1sWhDeiI1RSWrKy5Hodl+JWGdW2A==} engines: {node: '>=8'} hasBin: true dependencies: @@ -2064,7 +2043,7 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check@3.4.6(postcss@8.4.25)(svelte@4.0.5): + /svelte-check@3.4.6(postcss@8.4.26)(svelte@4.0.5): resolution: {integrity: sha512-OBlY8866Zh1zHQTkBMPS6psPi7o2umTUyj6JWm4SacnIHXpWFm658pG32m3dKvKFL49V4ntAkfFHKo4ztH07og==} hasBin: true peerDependencies: @@ -2077,7 +2056,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 4.0.5 - svelte-preprocess: 5.0.4(postcss@8.4.25)(svelte@4.0.5)(typescript@5.1.6) + svelte-preprocess: 5.0.4(postcss@8.4.26)(svelte@4.0.5)(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - '@babel/core' @@ -2100,11 +2079,11 @@ packages: svelte: optional: true dependencies: - eslint-scope: 7.2.0 + eslint-scope: 7.2.1 eslint-visitor-keys: 3.4.1 - espree: 9.6.0 - postcss: 8.4.25 - postcss-scss: 4.0.6(postcss@8.4.25) + espree: 9.6.1 + postcss: 8.4.26 + postcss-scss: 4.0.6(postcss@8.4.26) svelte: 4.0.5 dev: true @@ -2124,7 +2103,7 @@ packages: zencrypt: 0.0.7 dev: false - /svelte-preprocess@5.0.4(postcss@8.4.25)(svelte@4.0.5)(typescript@5.1.6): + /svelte-preprocess@5.0.4(postcss@8.4.26)(svelte@4.0.5)(typescript@5.1.6): resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -2165,7 +2144,7 @@ packages: '@types/pug': 2.0.6 detect-indent: 6.1.0 magic-string: 0.27.0 - postcss: 8.4.25 + postcss: 8.4.26 sorcery: 0.11.0 strip-indent: 3.0.0 svelte: 4.0.5 @@ -2191,14 +2170,14 @@ packages: periscopic: 3.1.0 dev: true - /sveltekit-superforms@1.2.0(@sveltejs/kit@1.22.3)(svelte@4.0.5)(zod@3.21.4): - resolution: {integrity: sha512-fq1v2uG0pp21w2A5+NP3HdrK7jq2VLRItZ9czs9SIp08C4RNL/Q5JKH3W3qmWuTXVKWictq2aa5bCT2BmohQzw==} + /sveltekit-superforms@1.3.0(@sveltejs/kit@1.22.3)(svelte@4.0.5)(zod@3.21.4): + resolution: {integrity: sha512-4bkTxuy7nr+7qSqtJVCv+CJjiGrLR2Qvy2fIelEF5qvWNkvokOZkEwEtDC2bMVgOILebhGANI3RYOVtGA/qH1w==} peerDependencies: '@sveltejs/kit': 1.x svelte: 3.x || 4.x zod: 3.x dependencies: - '@sveltejs/kit': 1.22.3(svelte@4.0.5)(vite@4.4.3) + '@sveltejs/kit': 1.22.3(svelte@4.0.5)(vite@4.4.4) svelte: 4.0.5 zod: 3.21.4 dev: true @@ -2208,8 +2187,8 @@ packages: engines: {node: '>=0.10'} dev: false - /tailwindcss@3.3.2: - resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} + /tailwindcss@3.3.3: + resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -2227,15 +2206,14 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.25 - postcss-import: 15.1.0(postcss@8.4.25) - postcss-js: 4.0.1(postcss@8.4.25) - postcss-load-config: 4.0.1(postcss@8.4.25) - postcss-nested: 6.0.1(postcss@8.4.25) + postcss: 8.4.26 + postcss-import: 15.1.0(postcss@8.4.26) + postcss-js: 4.0.1(postcss@8.4.26) + postcss-load-config: 4.0.1(postcss@8.4.26) + postcss-nested: 6.0.1(postcss@8.4.26) postcss-selector-parser: 6.0.13 - postcss-value-parser: 4.2.0 resolve: 1.22.2 - sucrase: 3.32.0 + sucrase: 3.33.0 transitivePeerDependencies: - ts-node dev: true @@ -2341,8 +2319,8 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite@4.4.3: - resolution: {integrity: sha512-IMnXQXXWgLi5brBQx/4WzDxdzW0X3pjO4nqFJAuNvwKtxzAmPzFE1wszW3VDpAGQJm3RZkm/brzRdyGsnwgJIA==} + /vite@4.4.4: + resolution: {integrity: sha512-4mvsTxjkveWrKDJI70QmelfVqTm+ihFAb6+xf4sjEU2TmUCTlVX87tmg/QooPEMQb/lM9qGHT99ebqPziEd3wg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -2369,14 +2347,14 @@ packages: terser: optional: true dependencies: - esbuild: 0.18.11 - postcss: 8.4.25 - rollup: 3.26.2 + esbuild: 0.18.14 + postcss: 8.4.26 + rollup: 3.26.3 optionalDependencies: fsevents: 2.3.2 dev: true - /vitefu@0.2.4(vite@4.4.3): + /vitefu@0.2.4(vite@4.4.4): resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -2384,7 +2362,7 @@ packages: vite: optional: true dependencies: - vite: 4.4.3 + vite: 4.4.4 dev: true /which@2.0.2: From 44d75e387a1ee6f53c32150ef783552878b77e19 Mon Sep 17 00:00:00 2001 From: Josh Corbett Date: Tue, 18 Jul 2023 08:53:09 -0600 Subject: [PATCH 3/9] feat: :sparkles: use local urls where possible --- src/lib/components/Link.svelte | 11 ++++++++--- src/routes/(store)/[[locale]]/+layout.svelte | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/lib/components/Link.svelte b/src/lib/components/Link.svelte index 9cdee24..91394ed 100644 --- a/src/lib/components/Link.svelte +++ b/src/lib/components/Link.svelte @@ -3,12 +3,17 @@ import { page } from '$app/stores' export let href: string -$: ({ selectedLocale } = $page.data) +$: currentPath = $page.url +$: ({ selectedLocale, layout } = $page.data) $: locale = `${String(selectedLocale.language)?.toLocaleLowerCase()}-${String(selectedLocale.country)?.toLocaleLowerCase()}` ?? 'en-us' +$: url = locale === 'en-us' ? new URL(href, currentPath) : new URL(`/${locale}${href}`) +$: shopHost = new URL(layout.shop.primaryDomain.url).host + +// remove shop host from url if it's there +$: finalHref = url.host === shopHost ? url.pathname : url.href -$: url = locale === 'en-us' ? href : `/${locale}${href}` - + diff --git a/src/routes/(store)/[[locale]]/+layout.svelte b/src/routes/(store)/[[locale]]/+layout.svelte index e48cc68..08d6c83 100644 --- a/src/routes/(store)/[[locale]]/+layout.svelte +++ b/src/routes/(store)/[[locale]]/+layout.svelte @@ -21,7 +21,7 @@ $: ({ shop, cart, headerMenu, footerMenu } = data.layout)
@@ -39,7 +39,7 @@ $: ({ shop, cart, headerMenu, footerMenu } = data.layout)