diff --git a/package.json b/package.json index 895dac0..548b38c 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,11 @@ "version": "0.0.1", "private": true, "scripts": { - "dev": "vite dev", + "dev": "NODE_OPTIONS=\"--inspect\" vite dev --host", "build": "vite build", "preview": "vite preview", "test": "npm run test:integration && npm run test:unit", + "test:ui": "svelte-kit sync && playwright test --ui", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "lint": "prettier --plugin-search-dir . --check . && eslint .", @@ -19,11 +20,12 @@ "@iconify-icons/mdi": "^1.2.48", "@iconify-icons/radix-icons": "^1.2.9", "@iconify-icons/simple-icons": "^1.2.74", - "@melt-ui/pp": "^0.1.2", + "@melt-ui/pp": "^0.1.4", "@playwright/test": "^1.39.0", "@sveltejs/adapter-static": "^2.0.3", "@sveltejs/adapter-vercel": "^1.0.6", - "@sveltejs/kit": "^1.27.3", + "@sveltejs/enhanced-img": "^0.1.1", + "@sveltejs/kit": "^1.27.5", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "@zerodevx/svelte-img": "^2.1.0", @@ -44,11 +46,11 @@ "sass": "^1.69.5", "scrape-it": "^6.1.0", "sharp": "^0.32.6", - "svelte": "^4.2.2", - "svelte-check": "^3.5.2", + "svelte": "^4.2.3", + "svelte-check": "^3.6.0", "svelte-lazy-loader": "^1.0.0", - "svelte-meta-tags": "^3.0.4", - "svelte-preprocess": "^5.0.4", + "svelte-meta-tags": "^3.1.0", + "svelte-preprocess": "^5.1.0", "svelte-sequential-preprocessor": "^2.0.1", "tslib": "^2.6.2", "typescript": "^5.2.2", @@ -58,6 +60,10 @@ "vitest": "^0.32.2" }, "type": "module", + "engines": { + "node": ">=18.0.0 <19.0.0 || >=20.0.0 <21.0.0", + "pnpm": ">=8" + }, "dependencies": { "@melt-ui/svelte": "^0.50.1", "@types/nprogress": "^0.2.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e2fff21..b24adfd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: dependencies: '@melt-ui/svelte': specifier: ^0.50.1 - version: 0.50.1(svelte@4.2.2) + version: 0.50.1(svelte@4.2.3) '@types/nprogress': specifier: ^0.2.3 version: 0.2.3 @@ -32,20 +32,23 @@ devDependencies: specifier: ^1.2.74 version: 1.2.74 '@melt-ui/pp': - specifier: ^0.1.2 - version: 0.1.2(@melt-ui/svelte@0.50.1)(svelte@4.2.2) + specifier: ^0.1.4 + version: 0.1.4(@melt-ui/svelte@0.50.1)(svelte@4.2.3) '@playwright/test': specifier: ^1.39.0 version: 1.39.0 '@sveltejs/adapter-static': specifier: ^2.0.3 - version: 2.0.3(@sveltejs/kit@1.27.3) + version: 2.0.3(@sveltejs/kit@1.27.5) '@sveltejs/adapter-vercel': specifier: ^1.0.6 - version: 1.0.6(@sveltejs/kit@1.27.3) + version: 1.0.6(@sveltejs/kit@1.27.5) + '@sveltejs/enhanced-img': + specifier: ^0.1.1 + version: 0.1.1(svelte@4.2.3) '@sveltejs/kit': - specifier: ^1.27.3 - version: 1.27.3(svelte@4.2.2)(vite@4.5.0) + specifier: ^1.27.5 + version: 1.27.5(svelte@4.2.3)(vite@4.5.0) '@typescript-eslint/eslint-plugin': specifier: ^5.62.0 version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@5.2.2) @@ -54,7 +57,7 @@ devDependencies: version: 5.62.0(eslint@8.53.0)(typescript@5.2.2) '@zerodevx/svelte-img': specifier: ^2.1.0 - version: 2.1.0(svelte@4.2.2) + version: 2.1.0(svelte@4.2.3) autoprefixer: specifier: ^10.4.16 version: 10.4.16(postcss@8.4.31) @@ -66,7 +69,7 @@ devDependencies: version: 8.10.0(eslint@8.53.0) eslint-plugin-svelte: specifier: ^2.35.0 - version: 2.35.0(eslint@8.53.0)(svelte@4.2.2) + version: 2.35.0(eslint@8.53.0)(svelte@4.2.3) iconify-icon: specifier: ^1.0.8 version: 1.0.8 @@ -75,7 +78,7 @@ devDependencies: version: 4.3.0 mdsvex: specifier: ^0.10.6 - version: 0.10.6(svelte@4.2.2) + version: 0.10.6(svelte@4.2.3) mdsvex-relative-images: specifier: ^1.0.3 version: 1.0.3 @@ -96,7 +99,7 @@ devDependencies: version: 2.8.8 prettier-plugin-svelte: specifier: ^2.10.1 - version: 2.10.1(prettier@2.8.8)(svelte@4.2.2) + version: 2.10.1(prettier@2.8.8)(svelte@4.2.3) sass: specifier: ^1.69.5 version: 1.69.5 @@ -107,20 +110,20 @@ devDependencies: specifier: ^0.32.6 version: 0.32.6 svelte: - specifier: ^4.2.2 - version: 4.2.2 + specifier: ^4.2.3 + version: 4.2.3 svelte-check: - specifier: ^3.5.2 - version: 3.5.2(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2) + specifier: ^3.6.0 + version: 3.6.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3) svelte-lazy-loader: specifier: ^1.0.0 version: 1.0.0 svelte-meta-tags: - specifier: ^3.0.4 - version: 3.0.4(svelte@4.2.2)(typescript@5.2.2) + specifier: ^3.1.0 + version: 3.1.0(svelte@4.2.3)(typescript@5.2.2) svelte-preprocess: - specifier: ^5.0.4 - version: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2)(typescript@5.2.2) + specifier: ^5.1.0 + version: 5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3)(typescript@5.2.2) svelte-sequential-preprocessor: specifier: ^2.0.1 version: 2.0.1 @@ -1126,18 +1129,19 @@ packages: - supports-color dev: true - /@melt-ui/pp@0.1.2(@melt-ui/svelte@0.50.1)(svelte@4.2.2): - resolution: {integrity: sha512-GZeqp7UWLNZUC2dJpREnZrWMR88vy27WO7C3cIBz4KW3/CFD19FjNkd3VbSRfcRryrMkdnEs9nu2VUa8/0u58w==} + /@melt-ui/pp@0.1.4(@melt-ui/svelte@0.50.1)(svelte@4.2.3): + resolution: {integrity: sha512-zR+Kl3CZJPJBHW8V7YcdQCMI/dVcnW9Ct3yGbVaIywYVStVRS7F9uEDOea3xLLT2WTGodQePzPlUn53yKFu87g==} engines: {pnpm: '>=8.6.3'} peerDependencies: '@melt-ui/svelte': '>= 0.29.0' - svelte: ^3.55.0 || ^4.0.0 + svelte: ^3.55.0 || ^4.0.0 || ^5.0.0-next.1 dependencies: - '@melt-ui/svelte': 0.50.1(svelte@4.2.2) - svelte: 4.2.2 + '@melt-ui/svelte': 0.50.1(svelte@4.2.3) + estree-walker: 3.0.3 + svelte: 4.2.3 dev: true - /@melt-ui/svelte@0.50.1(svelte@4.2.2): + /@melt-ui/svelte@0.50.1(svelte@4.2.3): resolution: {integrity: sha512-MIenasd8a5jXgynNKmH5JNSrDBS0EKUK4BImgyD0R6Vbzrll6rQquBIxlh5PeqVhZ2azDIEh/yRkwaOFi2HEgw==} peerDependencies: svelte: '>=3 <5' @@ -1147,7 +1151,7 @@ packages: dequal: 2.0.3 focus-trap: 7.5.3 nanoid: 4.0.2 - svelte: 4.2.2 + svelte: 4.2.3 /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -1208,20 +1212,20 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@sveltejs/adapter-static@2.0.3(@sveltejs/kit@1.27.3): + /@sveltejs/adapter-static@2.0.3(@sveltejs/kit@1.27.5): resolution: {integrity: sha512-VUqTfXsxYGugCpMqQv1U0LIdbR3S5nBkMMDmpjGVJyM6Q2jHVMFtdWJCkeHMySc6mZxJ+0eZK3T7IgmUCDrcUQ==} peerDependencies: '@sveltejs/kit': ^1.5.0 dependencies: - '@sveltejs/kit': 1.27.3(svelte@4.2.2)(vite@4.5.0) + '@sveltejs/kit': 1.27.5(svelte@4.2.3)(vite@4.5.0) dev: true - /@sveltejs/adapter-vercel@1.0.6(@sveltejs/kit@1.27.3): + /@sveltejs/adapter-vercel@1.0.6(@sveltejs/kit@1.27.5): resolution: {integrity: sha512-fo6aaEygPd/6B5Jms4Ff7R4jbADnppuLvKOWBNTGe5MGB7ZRUkl+gxHWMQx2av2knyEZkA6V8y5M6R3ML5yN4g==} peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@sveltejs/kit': 1.27.3(svelte@4.2.2)(vite@4.5.0) + '@sveltejs/kit': 1.27.5(svelte@4.2.3)(vite@4.5.0) '@vercel/nft': 0.22.6 esbuild: 0.16.17 transitivePeerDependencies: @@ -1229,16 +1233,27 @@ packages: - supports-color dev: true - /@sveltejs/kit@1.27.3(svelte@4.2.2)(vite@4.5.0): - resolution: {integrity: sha512-pd7qwX6ww5noA0/FLk45B0aKUeOXWR+pfZsGTrv3dRmj3lTmnki9UTmTdWzHJGrje+BBkGUZHfgGrsSOQQBQpQ==} + /@sveltejs/enhanced-img@0.1.1(svelte@4.2.3): + resolution: {integrity: sha512-euWs+GU6F3f7tqtwrDCW5AOFwRMTusHcW4uyD/0AMBJVftj2/N0scoB6hEtTk8rkwIOT/AkawZhmL+GGketVig==} + dependencies: + magic-string: 0.30.5 + svelte-parse-markup: 0.1.2(svelte@4.2.3) + vite-imagetools: 6.2.3 + transitivePeerDependencies: + - rollup + - svelte + dev: true + + /@sveltejs/kit@1.27.5(svelte@4.2.3)(vite@4.5.0): + resolution: {integrity: sha512-+L1WPs/ZYNjXoBFoFARypD4aZOjkT51vFpRCtQI45+Fmmfi4Y0dH/8VFlmYD6VlGe89ViIPg7lgf/JpGQ2tr7A==} engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true peerDependencies: - svelte: ^3.54.0 || ^4.0.0-next.0 + svelte: ^3.54.0 || ^4.0.0-next.0 || ^5.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.2.2)(vite@4.5.0) + '@sveltejs/vite-plugin-svelte': 2.5.2(svelte@4.2.3)(vite@4.5.0) '@types/cookie': 0.5.1 cookie: 0.5.0 devalue: 4.3.1 @@ -1249,7 +1264,7 @@ packages: sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 2.0.2 - svelte: 4.2.2 + svelte: 4.2.3 tiny-glob: 0.2.9 undici: 5.26.5 vite: 4.5.0(@types/node@20.7.0)(sass@1.69.5) @@ -1257,38 +1272,38 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte-inspector@1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.2.2)(vite@4.5.0): - resolution: {integrity: sha512-Cy1dUMcYCnDVV/hPLXa43YZJ2jGKVW5rA0xuNL9dlmYhT0yoS1g7+FOFSRlgk0BXKk/Oc7grs+8BVA5Iz2fr8A==} + /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.3)(vite@4.5.0): + resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==} engines: {node: ^14.18.0 || >= 16} peerDependencies: '@sveltejs/vite-plugin-svelte': ^2.2.0 - svelte: ^3.54.0 || ^4.0.0-next.0 + svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.2.2)(vite@4.5.0) + '@sveltejs/vite-plugin-svelte': 2.5.2(svelte@4.2.3)(vite@4.5.0) debug: 4.3.4 - svelte: 4.2.2 + svelte: 4.2.3 vite: 4.5.0(@types/node@20.7.0)(sass@1.69.5) transitivePeerDependencies: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@2.4.1(svelte@4.2.2)(vite@4.5.0): - resolution: {integrity: sha512-bNNKvoRY89ptY7udeBSCmTdCVwkjmMcZ0j/z9J5MuedT8jPjq0zrknAo/jF1sToAza4NVaAgR9AkZoD9oJJmnA==} + /@sveltejs/vite-plugin-svelte@2.5.2(svelte@4.2.3)(vite@4.5.0): + resolution: {integrity: sha512-Dfy0Rbl+IctOVfJvWGxrX/3m6vxPLH8o0x+8FA5QEyMUQMo4kGOVIojjryU7YomBAexOTAuYf1RT7809yDziaA==} engines: {node: ^14.18.0 || >= 16} peerDependencies: - svelte: ^3.54.0 || ^4.0.0-next.0 + svelte: ^3.54.0 || ^4.0.0 || ^5.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.2.2)(vite@4.5.0) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.3)(vite@4.5.0) debug: 4.3.4 deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.30.0 - svelte: 4.2.2 - svelte-hmr: 0.15.2(svelte@4.2.2) + magic-string: 0.30.5 + svelte: 4.2.3 + svelte-hmr: 0.15.3(svelte@4.2.3) vite: 4.5.0(@types/node@20.7.0)(sass@1.69.5) - vitefu: 0.2.4(vite@4.5.0) + vitefu: 0.2.5(vite@4.5.0) transitivePeerDependencies: - supports-color dev: true @@ -1533,12 +1548,12 @@ packages: pretty-format: 29.7.0 dev: true - /@zerodevx/svelte-img@2.1.0(svelte@4.2.2): + /@zerodevx/svelte-img@2.1.0(svelte@4.2.3): resolution: {integrity: sha512-ktOcv5svIm8qQQ7sBnSST1zaA5mJpTp+MbzaMeDNBEw4hulwzSD0VRPtq/pvYsjacA1OAw+JIN/qmBl7doh7HA==} peerDependencies: svelte: ^3.55.1 || ^4.0.0 dependencies: - svelte: 4.2.2 + svelte: 4.2.3 vite-imagetools: 5.0.8 transitivePeerDependencies: - rollup @@ -2273,7 +2288,7 @@ packages: eslint: 8.53.0 dev: true - /eslint-plugin-svelte@2.35.0(eslint@8.53.0)(svelte@4.2.2): + /eslint-plugin-svelte@2.35.0(eslint@8.53.0)(svelte@4.2.3): resolution: {integrity: sha512-3WDFxNrkXaMlpqoNo3M1ZOQuoFLMO9+bdnN6oVVXaydXC7nzCJuGy9a0zqoNDHMSRPYt0Rqo6hIdHMEaI5sQnw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: @@ -2295,8 +2310,8 @@ packages: postcss-safe-parser: 6.0.0(postcss@8.4.31) postcss-selector-parser: 6.0.13 semver: 7.5.3 - svelte: 4.2.2 - svelte-eslint-parser: 0.33.1(svelte@4.2.2) + svelte: 4.2.3 + svelte-eslint-parser: 0.33.1(svelte@4.2.3) transitivePeerDependencies: - supports-color - ts-node @@ -2718,6 +2733,13 @@ packages: sharp: 0.32.6 dev: true + /imagetools-core@5.1.1: + resolution: {integrity: sha512-NragdIrgxecFO8nRKy8uAYvDxe0QLEW5ToMEviAoNXpEnDQ6I4vs+npRa+z5fNB5nIku+jr11L+MuSkk7XzsKw==} + engines: {node: '>=12.0.0'} + dependencies: + sharp: 0.32.6 + dev: true + /immutable@4.2.2: resolution: {integrity: sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==} dev: true @@ -2954,7 +2976,7 @@ packages: unist-util-visit: 3.1.0 dev: true - /mdsvex@0.10.6(svelte@4.2.2): + /mdsvex@0.10.6(svelte@4.2.3): resolution: {integrity: sha512-aGRDY0r5jx9+OOgFdyB9Xm3EBr9OUmcrTDPWLB7a7g8VPRxzPy4MOBmcVYgz7ErhAJ7bZ/coUoj6aHio3x/2mA==} peerDependencies: svelte: 3.x @@ -2962,7 +2984,7 @@ packages: '@types/unist': 2.0.6 prism-svelte: 0.4.7 prismjs: 1.29.0 - svelte: 4.2.2 + svelte: 4.2.3 vfile-message: 2.0.4 dev: true @@ -3760,14 +3782,14 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.2.2): + /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.2.3): resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 dependencies: prettier: 2.8.8 - svelte: 4.2.2 + svelte: 4.2.3 dev: true /prettier@2.8.8: @@ -4181,11 +4203,11 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check@3.5.2(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2): - resolution: {integrity: sha512-5a/YWbiH4c+AqAUP+0VneiV5bP8YOk9JL3jwvN+k2PEPLgpu85bjQc5eE67+eIZBBwUEJzmO3I92OqKcqbp3fw==} + /svelte-check@3.6.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3): + resolution: {integrity: sha512-8VfqhfuRJ1sKW+o8isH2kPi0RhjXH1nNsIbCFGyoUHG+ZxVxHYRKcb+S8eaL/1tyj3VGvWYx3Y5+oCUsJgnzcw==} hasBin: true peerDependencies: - svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 + svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 dependencies: '@jridgewell/trace-mapping': 0.3.17 chokidar: 3.5.3 @@ -4193,8 +4215,8 @@ packages: import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 4.2.2 - svelte-preprocess: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2)(typescript@5.2.2) + svelte: 4.2.3 + svelte-preprocess: 5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3)(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - '@babel/core' @@ -4208,7 +4230,7 @@ packages: - sugarss dev: true - /svelte-eslint-parser@0.33.1(svelte@4.2.2): + /svelte-eslint-parser@0.33.1(svelte@4.2.3): resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4222,35 +4244,43 @@ packages: espree: 9.6.1 postcss: 8.4.31 postcss-scss: 4.0.9(postcss@8.4.31) - svelte: 4.2.2 + svelte: 4.2.3 dev: true - /svelte-hmr@0.15.2(svelte@4.2.2): - resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==} + /svelte-hmr@0.15.3(svelte@4.2.3): + resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: - svelte: ^3.19.0 || ^4.0.0-next.0 + svelte: ^3.19.0 || ^4.0.0 dependencies: - svelte: 4.2.2 + svelte: 4.2.3 dev: true /svelte-lazy-loader@1.0.0: resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==} dev: true - /svelte-meta-tags@3.0.4(svelte@4.2.2)(typescript@5.2.2): - resolution: {integrity: sha512-L2oYFoJM5HVy1nFsWf1xr+Ws8yV3Vh1OLDUYJ14Ygl/3SkwMlWS2CwgNmOAJWAZMWLfFH1v3ik9eVcbwrnURGw==} + /svelte-meta-tags@3.1.0(svelte@4.2.3)(typescript@5.2.2): + resolution: {integrity: sha512-wFBfpktSua1R5rdvQ/aFucvXmRqzDhRYrPpMQ/pL4+KL5QHIzomPf29a5WN3yDR0reSy1PXyQ2ah0+uCYCbi0g==} peerDependencies: svelte: ^3.55.0 || ^4.0.0 dependencies: schema-dts: 1.1.2(typescript@5.2.2) - svelte: 4.2.2 + svelte: 4.2.3 transitivePeerDependencies: - typescript dev: true - /svelte-preprocess@5.0.4(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2)(typescript@5.2.2): - resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} + /svelte-parse-markup@0.1.2(svelte@4.2.3): + resolution: {integrity: sha512-DycY7DJr7VqofiJ63ut1/NEG92HrWWL56VWITn/cJCu+LlZhMoBkBXT4opUitPEEwbq1nMQbv4vTKUfbOqIW1g==} + peerDependencies: + svelte: ^3.0.0 || ^4.0.0 + dependencies: + svelte: 4.2.3 + dev: true + + /svelte-preprocess@5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3)(typescript@5.2.2): + resolution: {integrity: sha512-EkErPiDzHAc0k2MF5m6vBNmRUh338h2myhinUw/xaqsLs7/ZvsgREiLGj03VrSzbY/TB5ZXgBOsKraFee5yceA==} engines: {node: '>= 14.10.0'} requiresBuild: true peerDependencies: @@ -4263,7 +4293,7 @@ packages: sass: ^1.26.8 stylus: ^0.55.0 sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 - svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 + svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' peerDependenciesMeta: '@babel/core': @@ -4295,7 +4325,7 @@ packages: sass: 1.69.5 sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 4.2.2 + svelte: 4.2.3 typescript: 5.2.2 dev: true @@ -4303,12 +4333,12 @@ packages: resolution: {integrity: sha512-N5JqlBni6BzElxmuFrOPxOJnjsxh1cFDACLEVKs8OHBcx8ZNRO1p5SxuQex1m3qbLzAC8G99EHeWcxGkjyKjLQ==} engines: {node: '>=16'} dependencies: - svelte: 4.2.2 + svelte: 4.2.3 tslib: 2.6.2 dev: true - /svelte@4.2.2: - resolution: {integrity: sha512-My2tytF2e2NnHSpn2M7/3VdXT4JdTglYVUuSuK/mXL2XtulPYbeBfl8Dm1QiaKRn0zoULRnL+EtfZHHP0k4H3A==} + /svelte@4.2.3: + resolution: {integrity: sha512-sqmG9KC6uUc7fb3ZuWoxXvqk6MI9Uu4ABA1M0fYDgTlFYu1k02xp96u6U9+yJZiVm84m9zge7rrA/BNZdFpOKw==} engines: {node: '>=16'} dependencies: '@ampproject/remapping': 2.2.1 @@ -4569,6 +4599,16 @@ packages: - rollup dev: true + /vite-imagetools@6.2.3: + resolution: {integrity: sha512-VZTJOXDTw/Nfah2ayQCWEvNc0b2Q7uGSUCczjx0N7ULd7VZDFH3PxcqyKIRxFOenKcSTYTna1OMzdGlcRBTk+g==} + engines: {node: '>=12.0.0'} + dependencies: + '@rollup/pluginutils': 5.0.2 + imagetools-core: 5.1.1 + transitivePeerDependencies: + - rollup + dev: true + /vite-node@0.32.4(@types/node@20.7.0)(sass@1.69.5): resolution: {integrity: sha512-L2gIw+dCxO0LK14QnUMoqSYpa9XRGnTTTDjW2h19Mr+GR0EFj4vx52W41gFXfMLqpA00eK4ZjOVYo1Xk//LFEw==} engines: {node: '>=v14.18.0'} @@ -4628,10 +4668,10 @@ packages: fsevents: 2.3.3 dev: true - /vitefu@0.2.4(vite@4.5.0): - resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} + /vitefu@0.2.5(vite@4.5.0): + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: - vite: ^3.0.0 || ^4.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 peerDependenciesMeta: vite: optional: true diff --git a/postcss.config.cjs b/postcss.config.cjs index fb20db3..89840af 100644 --- a/postcss.config.cjs +++ b/postcss.config.cjs @@ -5,7 +5,7 @@ const config = { plugins: [ atImport(), postcssPresetEnv({ - stage: 2, + stage: 3, features: { 'nesting-rules': true, 'custom-media-queries': true, diff --git a/src/lib/components/Articles.svelte b/src/lib/components/Articles.svelte new file mode 100644 index 0000000..ddd7a4d --- /dev/null +++ b/src/lib/components/Articles.svelte @@ -0,0 +1,114 @@ + + +
+

Favorite Articles

+
+ {#each articles as article (article.hashed_url)} +
+
+

+ + {#if compact} + {article.title.substring(0, 50).trim()} + {:else} + {article.title} + {/if} + +

+
+
+

Reading time: {article.reading_time} minutes

+
+

Tags:

+ {#each article.tags as tag} +

{tag}

+ {/each} +
+
+
+ {/each} +
+ +
+ + + \ No newline at end of file diff --git a/src/lib/components/ExternalLink.svelte b/src/lib/components/ExternalLink.svelte index d2ae05d..3632a52 100644 --- a/src/lib/components/ExternalLink.svelte +++ b/src/lib/components/ExternalLink.svelte @@ -9,14 +9,13 @@ export let icon: IconifyIcon = OpenInNew; - - - - + + + {#if showIcon} {/if} - + diff --git a/src/lib/components/articles/index.svelte b/src/lib/components/articles/index.svelte deleted file mode 100644 index 09a25c6..0000000 --- a/src/lib/components/articles/index.svelte +++ /dev/null @@ -1,107 +0,0 @@ - - -
-

Favorite Articles

-
- {#each articles as article} - - {/each} -
-
- {`${totalArticles} more articles`} - - - -
-
- - - \ No newline at end of file diff --git a/src/lib/components/bandcamp/index.svelte b/src/lib/components/bandcamp/index.svelte index 3d74348..436d77e 100644 --- a/src/lib/components/bandcamp/index.svelte +++ b/src/lib/components/bandcamp/index.svelte @@ -1,6 +1,6 @@ - -

Hello! I'm Bradley Shellnut.

@@ -69,7 +66,7 @@

diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte index 5f43069..c9f824a 100644 --- a/src/routes/about/+page.svelte +++ b/src/routes/about/+page.svelte @@ -9,18 +9,15 @@ import Remix from '@iconify-icons/simple-icons/remix'; import Svelte from '@iconify-icons/simple-icons/svelte'; import TypeScript from '@iconify-icons/simple-icons/typescript'; - import SEO from "$lib/components/SEO.svelte"; - import LazyImage from '$root/lib/components/LazyImage.svelte'; + import LazyImage from '$lib/components/LazyImage.svelte'; import adventure from '$lib/assets/images/adventure.png?as=run:0'; import tortie_derp from '$lib/assets/images/tortie_derp.jpg?as=run'; import orange_derp from '$lib/assets/images/orange_derp.jpg?as=run'; import turnip from '$lib/assets/images/turnip.svg'; - import Tag from '$root/lib/components/Tag.svelte'; - import ExternalLink from '$root/lib/components/ExternalLink.svelte'; + import Tag from '$lib/components/Tag.svelte'; + import ExternalLink from '$lib/components/ExternalLink.svelte'; - -

About

diff --git a/src/routes/api.ts b/src/routes/api.ts index 86a99f3..1a133cd 100644 --- a/src/routes/api.ts +++ b/src/routes/api.ts @@ -10,11 +10,11 @@ import { USE_REDIS_CACHE } from '$env/static/private'; import intersect from 'just-intersect'; -import type { Article, WallabagArticle } from '$root/lib/types/article'; -import { ArticleTag } from '$root/lib/types/articleTag'; -import type { PageQuery } from '$root/lib/types/pageQuery'; +import type { Article, WallabagArticle } from '$lib/types/article'; +import { ArticleTag } from '$lib/types/articleTag'; +import type { PageQuery } from '$lib/types/pageQuery'; import { URLSearchParams } from 'url'; -import { redis } from '$root/lib/server/redis'; +import { redis } from '$lib/server/redis'; const base: string = WALLABAG_URL; diff --git a/src/routes/articles/[page]/+page.svelte b/src/routes/articles/[page]/+page.svelte index 6f71151..abac63e 100644 --- a/src/routes/articles/[page]/+page.svelte +++ b/src/routes/articles/[page]/+page.svelte @@ -1,7 +1,7 @@ - -

Favorite Tech Articles

-
+ + import { createTabs, melt } from '@melt-ui/svelte'; import GitHub from '@iconify-icons/simple-icons/github'; - // import SEO from '$lib/components/SEO.svelte'; import Portfolio from '$lib/components/Portfolio.svelte'; import personalSite from "$lib/assets/images/Bradley_Shellnut_New_Site.png?as=run"; import weddingWebsite from "$lib/assets/images/Wedding_Website.png?as=run"; @@ -25,8 +24,6 @@ ]; - -

Portfolio!

diff --git a/src/routes/privacy/+page.svelte b/src/routes/privacy/+page.svelte index 6e4f280..f3c9c61 100644 --- a/src/routes/privacy/+page.svelte +++ b/src/routes/privacy/+page.svelte @@ -1,10 +1,7 @@ - -

Privacy

diff --git a/src/routes/uses/+page.svelte b/src/routes/uses/+page.svelte index 19d6973..a02f9c3 100644 --- a/src/routes/uses/+page.svelte +++ b/src/routes/uses/+page.svelte @@ -1,6 +1,4 @@ - -

/Uses

diff --git a/src/styles/global.pcss b/src/styles/global.pcss index 03ce6e4..5b7577f 100644 --- a/src/styles/global.pcss +++ b/src/styles/global.pcss @@ -265,19 +265,3 @@ figure { .card > *:last-child { margin-bottom: 0; } - -.blur { - position: absolute; - inset: 0; - backdrop-filter: blur(20px); - pointer-events: none; -} - -.wrap { - position: relative; - overflow: hidden; -} - -.loaded { - display: none; -}