From 9c9aa35b3a7a2c2367b27f4cb2a78c63d595ce49 Mon Sep 17 00:00:00 2001
From: aumetra
Date: Sun, 27 Oct 2024 00:36:49 +0200
Subject: [PATCH 01/23] install tailwind (forgive me for what im about to do)
---
flake.nix | 5 +-
kitsune-fe/.prettierrc | 3 +-
kitsune-fe/package.json | 5 +
kitsune-fe/pnpm-lock.yaml | 691 ++++++++++++++++++++++++++-
kitsune-fe/postcss.config.js | 6 +
kitsune-fe/schema.graphql | 226 ++++-----
kitsune-fe/src/app.css | 3 +
kitsune-fe/src/client.ts | 2 +-
kitsune-fe/src/routes/+layout.svelte | 1 +
kitsune-fe/tailwind.config.ts | 14 +
kitsune-fe/vite.config.ts | 5 +
11 files changed, 826 insertions(+), 135 deletions(-)
create mode 100644 kitsune-fe/postcss.config.js
create mode 100644 kitsune-fe/src/app.css
create mode 100644 kitsune-fe/tailwind.config.ts
diff --git a/flake.nix b/flake.nix
index 27d9e9915..bf6c56666 100644
--- a/flake.nix
+++ b/flake.nix
@@ -188,7 +188,10 @@
enable = true;
listen_addresses = "127.0.0.1";
};
- redis.enable = true;
+ redis = {
+ package = pkgs.valkey;
+ enable = true;
+ };
};
}
)
diff --git a/kitsune-fe/.prettierrc b/kitsune-fe/.prettierrc
index 3b0af4d05..40d1e9cb4 100644
--- a/kitsune-fe/.prettierrc
+++ b/kitsune-fe/.prettierrc
@@ -11,7 +11,8 @@
"plugins": [
"@trivago/prettier-plugin-sort-imports",
"prettier-plugin-css-order",
- "prettier-plugin-svelte"
+ "prettier-plugin-svelte",
+ "prettier-plugin-tailwindcss"
],
"overrides": [
{
diff --git a/kitsune-fe/package.json b/kitsune-fe/package.json
index 044965d6f..94a566e32 100644
--- a/kitsune-fe/package.json
+++ b/kitsune-fe/package.json
@@ -22,8 +22,11 @@
"@sveltejs/adapter-static": "^3.0.5",
"@sveltejs/kit": "^2.7.2",
"@sveltejs/vite-plugin-svelte": "4.0.0",
+ "@tailwindcss/forms": "^0.5.9",
+ "@tailwindcss/typography": "^0.5.15",
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@types/eslint": "^9.6.1",
+ "autoprefixer": "^10.4.20",
"eslint": "^9.13.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-svelte": "^2.46.0",
@@ -33,9 +36,11 @@
"prettier": "^3.3.3",
"prettier-plugin-css-order": "^2.1.2",
"prettier-plugin-svelte": "^3.2.7",
+ "prettier-plugin-tailwindcss": "^0.6.5",
"sass": "^1.80.4",
"svelte": "^5.1.0",
"svelte-check": "^4.0.5",
+ "tailwindcss": "^3.4.9",
"typescript": "^5.6.3",
"typescript-eslint": "^8.11.0",
"unplugin-icons": "^0.19.3",
diff --git a/kitsune-fe/pnpm-lock.yaml b/kitsune-fe/pnpm-lock.yaml
index f6a8b5e3e..cff9e56a6 100644
--- a/kitsune-fe/pnpm-lock.yaml
+++ b/kitsune-fe/pnpm-lock.yaml
@@ -23,12 +23,21 @@ importers:
'@sveltejs/vite-plugin-svelte':
specifier: 4.0.0
version: 4.0.0(svelte@5.1.0)(vite@5.4.10(@types/node@22.7.9)(sass@1.80.4))
+ '@tailwindcss/forms':
+ specifier: ^0.5.9
+ version: 0.5.9(tailwindcss@3.4.14)
+ '@tailwindcss/typography':
+ specifier: ^0.5.15
+ version: 0.5.15(tailwindcss@3.4.14)
'@trivago/prettier-plugin-sort-imports':
specifier: ^4.3.0
version: 4.3.0(@vue/compiler-sfc@3.5.12)(prettier@3.3.3)
'@types/eslint':
specifier: ^9.6.1
version: 9.6.1
+ autoprefixer:
+ specifier: ^10.4.20
+ version: 10.4.20(postcss@8.4.47)
eslint:
specifier: ^9.13.0
version: 9.13.0(jiti@1.21.6)
@@ -56,6 +65,9 @@ importers:
prettier-plugin-svelte:
specifier: ^3.2.7
version: 3.2.7(prettier@3.3.3)(svelte@5.1.0)
+ prettier-plugin-tailwindcss:
+ specifier: ^0.6.5
+ version: 0.6.8(@trivago/prettier-plugin-sort-imports@4.3.0(@vue/compiler-sfc@3.5.12)(prettier@3.3.3))(prettier-plugin-css-order@2.1.2(postcss@8.4.47)(prettier@3.3.3))(prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.0))(prettier@3.3.3)
sass:
specifier: ^1.80.4
version: 1.80.4
@@ -65,6 +77,9 @@ importers:
svelte-check:
specifier: ^4.0.5
version: 4.0.5(picomatch@4.0.2)(svelte@5.1.0)(typescript@5.6.3)
+ tailwindcss:
+ specifier: ^3.4.9
+ version: 3.4.14
typescript:
specifier: ^5.6.3
version: 5.6.3
@@ -86,6 +101,10 @@ importers:
packages:
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==, tarball: https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz}
+ engines: {node: '>=10'}
+
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, tarball: https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz}
engines: {node: '>=6.0.0'}
@@ -426,6 +445,10 @@ packages:
'@iconify/utils@2.1.33':
resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==, tarball: https://registry.npmjs.org/@iconify/utils/-/utils-2.1.33.tgz}
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, tarball: https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz}
+ engines: {node: '>=12'}
+
'@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, tarball: https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz}
engines: {node: '>=6.0.0'}
@@ -539,6 +562,10 @@ packages:
resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==, tarball: https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz}
engines: {node: '>= 10.0.0'}
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, tarball: https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz}
+ engines: {node: '>=14'}
+
'@playwright/test@1.48.1':
resolution: {integrity: sha512-s9RtWoxkOLmRJdw3oFvhFbs9OJS0BzrLUc8Hf6l2UdCNd1rqeEyD4BhCJkvzeEoD1FsK4mirsWwGerhVmYKtZg==, tarball: https://registry.npmjs.org/@playwright/test/-/test-1.48.1.tgz}
engines: {node: '>=18'}
@@ -659,6 +686,16 @@ packages:
svelte: ^5.0.0-next.96 || ^5.0.0
vite: ^5.0.0
+ '@tailwindcss/forms@0.5.9':
+ resolution: {integrity: sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==, tarball: https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.9.tgz}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20'
+
+ '@tailwindcss/typography@0.5.15':
+ resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==, tarball: https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.15.tgz}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20'
+
'@trivago/prettier-plugin-sort-imports@4.3.0':
resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==, tarball: https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.3.0.tgz}
peerDependencies:
@@ -831,6 +868,14 @@ packages:
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, tarball: https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz}
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, tarball: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.1.0:
+ resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==, tarball: https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz}
+ engines: {node: '>=12'}
+
ansi-styles@3.2.1:
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, tarball: https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz}
engines: {node: '>=4'}
@@ -839,6 +884,20 @@ packages:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, tarball: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz}
engines: {node: '>=8'}
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, tarball: https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz}
+ engines: {node: '>=12'}
+
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, tarball: https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, tarball: https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz}
+ engines: {node: '>= 8'}
+
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==, tarball: https://registry.npmjs.org/arg/-/arg-5.0.2.tgz}
+
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, tarball: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz}
@@ -854,6 +913,13 @@ packages:
resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==, tarball: https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz}
engines: {node: '>=4'}
+ autoprefixer@10.4.20:
+ resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==, tarball: https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
axobject-query@4.1.0:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==, tarball: https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz}
engines: {node: '>= 0.4'}
@@ -861,6 +927,10 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, tarball: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz}
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, tarball: https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz}
+ engines: {node: '>=8'}
+
brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, tarball: https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz}
@@ -871,6 +941,11 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, tarball: https://registry.npmjs.org/braces/-/braces-3.0.3.tgz}
engines: {node: '>=8'}
+ browserslist@4.24.2:
+ resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==, tarball: https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
builtins@5.1.0:
resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==, tarball: https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz}
@@ -886,6 +961,13 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, tarball: https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz}
engines: {node: '>=6'}
+ camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==, tarball: https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz}
+ engines: {node: '>= 6'}
+
+ caniuse-lite@1.0.30001672:
+ resolution: {integrity: sha512-XhW1vRo1ob6aeK2w3rTohwTPBLse/rvjq+s3RTSBwnlZqoFFjx9cHsShJjAIbLsLjyoacaTxpLZy9v3gg6zypw==, tarball: https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001672.tgz}
+
chai@5.1.2:
resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==, tarball: https://registry.npmjs.org/chai/-/chai-5.1.2.tgz}
engines: {node: '>=12'}
@@ -902,6 +984,10 @@ packages:
resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==, tarball: https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz}
engines: {node: '>= 16'}
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, tarball: https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz}
+ engines: {node: '>= 8.10.0'}
+
chokidar@4.0.1:
resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==, tarball: https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz}
engines: {node: '>= 14.16.0'}
@@ -919,6 +1005,10 @@ packages:
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, tarball: https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz}
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, tarball: https://registry.npmjs.org/commander/-/commander-4.1.1.tgz}
+ engines: {node: '>= 6'}
+
commander@9.5.0:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, tarball: https://registry.npmjs.org/commander/-/commander-9.5.0.tgz}
engines: {node: ^12.20.0 || >=14}
@@ -984,10 +1074,28 @@ packages:
devalue@5.1.1:
resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==, tarball: https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz}
+ didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==, tarball: https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz}
+
+ dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==, tarball: https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz}
+
dset@3.1.4:
resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==, tarball: https://registry.npmjs.org/dset/-/dset-3.1.4.tgz}
engines: {node: '>=4'}
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, tarball: https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz}
+
+ electron-to-chromium@1.5.47:
+ resolution: {integrity: sha512-zS5Yer0MOYw4rtK2iq43cJagHZ8sXN0jDHDKzB+86gSBSAI4v07S97mcq+Gs2vclAxSh1j7vOAHxSVgduiiuVQ==, tarball: https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.47.tgz}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, tarball: https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, tarball: https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz}
+
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, tarball: https://registry.npmjs.org/entities/-/entities-4.5.0.tgz}
engines: {node: '>=0.12'}
@@ -997,6 +1105,10 @@ packages:
engines: {node: '>=12'}
hasBin: true
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, tarball: https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz}
+ engines: {node: '>=6'}
+
escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, tarball: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz}
engines: {node: '>=0.8.0'}
@@ -1151,10 +1263,17 @@ packages:
flatted@3.3.1:
resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, tarball: https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz}
+ foreground-child@3.3.0:
+ resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==, tarball: https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz}
+ engines: {node: '>=14'}
+
formdata-polyfill@4.0.10:
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==, tarball: https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz}
engines: {node: '>=12.20.0'}
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==, tarball: https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz}
+
fs-extra@10.1.0:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, tarball: https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz}
engines: {node: '>=12'}
@@ -1175,6 +1294,9 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, tarball: https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz}
+
get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, tarball: https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz}
engines: {node: '>=10'}
@@ -1187,6 +1309,10 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, tarball: https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz}
engines: {node: '>=10.13.0'}
+ glob@10.4.5:
+ resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==, tarball: https://registry.npmjs.org/glob/-/glob-10.4.5.tgz}
+ hasBin: true
+
glob@8.1.0:
resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, tarball: https://registry.npmjs.org/glob/-/glob-8.1.0.tgz}
engines: {node: '>=12'}
@@ -1234,6 +1360,10 @@ packages:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, tarball: https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz}
engines: {node: '>=8'}
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, tarball: https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz}
+ engines: {node: '>= 0.4'}
+
houdini-svelte@2.0.0:
resolution: {integrity: sha512-0ryx9HyudCUX2uD5yMH2BURAEcs3eLqnT9dSk+CZ6a5gd9qA1Us6+v5Oh8MB0NmI/pHgYM9yNeU3xQY7aCUeKA==, tarball: https://registry.npmjs.org/houdini-svelte/-/houdini-svelte-2.0.0.tgz}
@@ -1270,10 +1400,22 @@ packages:
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, tarball: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz}
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, tarball: https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz}
+ engines: {node: '>=8'}
+
+ is-core-module@2.15.1:
+ resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==, tarball: https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz}
+ engines: {node: '>= 0.4'}
+
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, tarball: https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz}
engines: {node: '>=0.10.0'}
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, tarball: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz}
+ engines: {node: '>=8'}
+
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, tarball: https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz}
engines: {node: '>=0.10.0'}
@@ -1292,6 +1434,9 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, tarball: https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz}
+ jackspeak@3.4.3:
+ resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==, tarball: https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz}
+
javascript-natural-sort@0.7.1:
resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==, tarball: https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz}
@@ -1349,6 +1494,13 @@ packages:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==, tarball: https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz}
engines: {node: '>=10'}
+ lilconfig@3.1.2:
+ resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==, tarball: https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz}
+ engines: {node: '>=14'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, tarball: https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz}
+
local-pkg@0.5.0:
resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, tarball: https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz}
engines: {node: '>=14'}
@@ -1360,6 +1512,12 @@ packages:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, tarball: https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz}
engines: {node: '>=10'}
+ lodash.castarray@4.4.0:
+ resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==, tarball: https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz}
+
+ lodash.isplainobject@4.0.6:
+ resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==, tarball: https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz}
+
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, tarball: https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz}
@@ -1394,6 +1552,10 @@ packages:
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, tarball: https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz}
engines: {node: '>=12'}
+ mini-svg-data-uri@1.4.4:
+ resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==, tarball: https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz}
+ hasBin: true
+
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, tarball: https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz}
@@ -1405,6 +1567,10 @@ packages:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==, tarball: https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz}
engines: {node: '>=16 || 14 >=14.17'}
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==, tarball: https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz}
+ engines: {node: '>=16 || 14 >=14.17'}
+
mlly@1.7.2:
resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==, tarball: https://registry.npmjs.org/mlly/-/mlly-1.7.2.tgz}
@@ -1419,6 +1585,9 @@ packages:
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, tarball: https://registry.npmjs.org/ms/-/ms-2.1.3.tgz}
+ mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, tarball: https://registry.npmjs.org/mz/-/mz-2.7.0.tgz}
+
nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, tarball: https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -1438,6 +1607,17 @@ packages:
resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==, tarball: https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ node-releases@2.0.18:
+ resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==, tarball: https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, tarball: https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz}
+ engines: {node: '>=0.10.0'}
+
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==, tarball: https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz}
+ engines: {node: '>=0.10.0'}
+
npm-run-path@5.3.0:
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, tarball: https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -1445,6 +1625,14 @@ packages:
npx-import@1.1.4:
resolution: {integrity: sha512-3ShymTWOgqGyNlh5lMJAejLuIv3W1K3fbI5Ewc6YErZU3Sp0PqsNs8UIU1O8z5+KVl/Du5ag56Gza9vdorGEoA==, tarball: https://registry.npmjs.org/npx-import/-/npx-import-1.1.4.tgz}
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, tarball: https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz}
+ engines: {node: '>=0.10.0'}
+
+ object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==, tarball: https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz}
+ engines: {node: '>= 6'}
+
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, tarball: https://registry.npmjs.org/once/-/once-1.4.0.tgz}
@@ -1464,6 +1652,9 @@ packages:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, tarball: https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz}
engines: {node: '>=10'}
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==, tarball: https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz}
+
package-manager-detector@0.2.2:
resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==, tarball: https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.2.tgz}
@@ -1486,6 +1677,13 @@ packages:
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, tarball: https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz}
engines: {node: '>=12'}
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, tarball: https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz}
+
+ path-scurry@1.11.1:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==, tarball: https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz}
+ engines: {node: '>=16 || 14 >=14.18'}
+
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, tarball: https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz}
@@ -1504,6 +1702,14 @@ packages:
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==, tarball: https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz}
engines: {node: '>=12'}
+ pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==, tarball: https://registry.npmjs.org/pify/-/pify-2.3.0.tgz}
+ engines: {node: '>=0.10.0'}
+
+ pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==, tarball: https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz}
+ engines: {node: '>= 6'}
+
pkg-types@1.2.1:
resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==, tarball: https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.1.tgz}
@@ -1517,6 +1723,18 @@ packages:
engines: {node: '>=18'}
hasBin: true
+ postcss-import@15.1.0:
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==, tarball: https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+
+ postcss-js@4.0.1:
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==, tarball: https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+
postcss-less@6.0.0:
resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==, tarball: https://registry.npmjs.org/postcss-less/-/postcss-less-6.0.0.tgz}
engines: {node: '>=12'}
@@ -1535,6 +1753,24 @@ packages:
ts-node:
optional: true
+ postcss-load-config@4.0.2:
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==, tarball: https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+
+ postcss-nested@6.2.0:
+ resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==, tarball: https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+
postcss-safe-parser@6.0.0:
resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==, tarball: https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz}
engines: {node: '>=12.0'}
@@ -1547,10 +1783,17 @@ packages:
peerDependencies:
postcss: ^8.4.29
+ postcss-selector-parser@6.0.10:
+ resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==, tarball: https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz}
+ engines: {node: '>=4'}
+
postcss-selector-parser@6.1.2:
resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==, tarball: https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz}
engines: {node: '>=4'}
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, tarball: https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz}
+
postcss@8.4.47:
resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==, tarball: https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz}
engines: {node: ^10 || ^12 || >=14}
@@ -1571,6 +1814,61 @@ packages:
prettier: ^3.0.0
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
+ prettier-plugin-tailwindcss@0.6.8:
+ resolution: {integrity: sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==, tarball: https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.8.tgz}
+ engines: {node: '>=14.21.3'}
+ peerDependencies:
+ '@ianvs/prettier-plugin-sort-imports': '*'
+ '@prettier/plugin-pug': '*'
+ '@shopify/prettier-plugin-liquid': '*'
+ '@trivago/prettier-plugin-sort-imports': '*'
+ '@zackad/prettier-plugin-twig-melody': '*'
+ prettier: ^3.0
+ prettier-plugin-astro: '*'
+ prettier-plugin-css-order: '*'
+ prettier-plugin-import-sort: '*'
+ prettier-plugin-jsdoc: '*'
+ prettier-plugin-marko: '*'
+ prettier-plugin-multiline-arrays: '*'
+ prettier-plugin-organize-attributes: '*'
+ prettier-plugin-organize-imports: '*'
+ prettier-plugin-sort-imports: '*'
+ prettier-plugin-style-order: '*'
+ prettier-plugin-svelte: '*'
+ peerDependenciesMeta:
+ '@ianvs/prettier-plugin-sort-imports':
+ optional: true
+ '@prettier/plugin-pug':
+ optional: true
+ '@shopify/prettier-plugin-liquid':
+ optional: true
+ '@trivago/prettier-plugin-sort-imports':
+ optional: true
+ '@zackad/prettier-plugin-twig-melody':
+ 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-marko:
+ optional: true
+ prettier-plugin-multiline-arrays:
+ optional: true
+ prettier-plugin-organize-attributes:
+ optional: true
+ prettier-plugin-organize-imports:
+ optional: true
+ prettier-plugin-sort-imports:
+ optional: true
+ prettier-plugin-style-order:
+ optional: true
+ prettier-plugin-svelte:
+ optional: true
+
prettier@3.3.3:
resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==, tarball: https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz}
engines: {node: '>=14'}
@@ -1583,6 +1881,13 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, tarball: https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz}
+ read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==, tarball: https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz}
+
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, tarball: https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz}
+ engines: {node: '>=8.10.0'}
+
readdirp@4.0.2:
resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==, tarball: https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz}
engines: {node: '>= 14.16.0'}
@@ -1595,6 +1900,10 @@ packages:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, tarball: https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz}
engines: {node: '>=4'}
+ resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, tarball: https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz}
+ hasBin: true
+
reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, tarball: https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@@ -1643,6 +1952,10 @@ packages:
signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, tarball: https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz}
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, tarball: https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz}
+ engines: {node: '>=14'}
+
sirv@3.0.0:
resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==, tarball: https://registry.npmjs.org/sirv/-/sirv-3.0.0.tgz}
engines: {node: '>=18'}
@@ -1672,6 +1985,22 @@ packages:
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==, tarball: https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz}
engines: {node: '>=10.0.0'}
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, tarball: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, tarball: https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz}
+ engines: {node: '>=12'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, tarball: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, tarball: https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz}
+ engines: {node: '>=12'}
+
strip-final-newline@3.0.0:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, tarball: https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz}
engines: {node: '>=12'}
@@ -1680,6 +2009,11 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, tarball: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz}
engines: {node: '>=8'}
+ sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==, tarball: https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, tarball: https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz}
engines: {node: '>=4'}
@@ -1688,6 +2022,10 @@ packages:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, tarball: https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz}
engines: {node: '>=8'}
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, tarball: https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz}
+ engines: {node: '>= 0.4'}
+
svelte-check@4.0.5:
resolution: {integrity: sha512-icBTBZ3ibBaywbXUat3cK6hB5Du+Kq9Z8CRuyLmm64XIe2/r+lQcbuBx/IQgsbrC+kT2jQ0weVpZSSRIPwB6jQ==, tarball: https://registry.npmjs.org/svelte-check/-/svelte-check-4.0.5.tgz}
engines: {node: '>= 18.0.0'}
@@ -1709,9 +2047,21 @@ packages:
resolution: {integrity: sha512-qD0pUvL3P26Vx+K1VodZROSu7MjDHFDunEVZ+2d3LUDWHyYI87AJFOIws0HufKWHDgXbPO4FCSugmysnX4LDwA==, tarball: https://registry.npmjs.org/svelte/-/svelte-5.1.0.tgz}
engines: {node: '>=18'}
+ tailwindcss@3.4.14:
+ resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==, tarball: https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, tarball: https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz}
+ thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, tarball: https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz}
+ engines: {node: '>=0.8'}
+
+ thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, tarball: https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz}
+
tiny-glob@0.2.9:
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==, tarball: https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz}
@@ -1754,6 +2104,9 @@ packages:
peerDependencies:
typescript: '>=4.2.0'
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, tarball: https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz}
+
tslib@2.8.0:
resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==, tarball: https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz}
@@ -1814,6 +2167,12 @@ packages:
webpack-sources:
optional: true
+ update-browserslist-db@1.1.1:
+ resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==, tarball: https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, tarball: https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz}
@@ -1929,6 +2288,14 @@ packages:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, tarball: https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz}
engines: {node: '>=0.10.0'}
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, tarball: https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, tarball: https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz}
+ engines: {node: '>=12'}
+
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, tarball: https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz}
@@ -1936,6 +2303,11 @@ packages:
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, tarball: https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz}
engines: {node: '>= 6'}
+ yaml@2.6.0:
+ resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==, tarball: https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz}
+ engines: {node: '>= 14'}
+ hasBin: true
+
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, tarball: https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz}
engines: {node: '>=10'}
@@ -1948,6 +2320,8 @@ packages:
snapshots:
+ '@alloc/quick-lru@5.2.0': {}
+
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.5
@@ -2269,6 +2643,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
'@jridgewell/gen-mapping@0.3.5':
dependencies:
'@jridgewell/set-array': 1.2.1
@@ -2360,6 +2743,9 @@ snapshots:
'@parcel/watcher-win32-ia32': 2.4.1
'@parcel/watcher-win32-x64': 2.4.1
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
'@playwright/test@1.48.1':
dependencies:
playwright: 1.48.1
@@ -2460,6 +2846,19 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@tailwindcss/forms@0.5.9(tailwindcss@3.4.14)':
+ dependencies:
+ mini-svg-data-uri: 1.4.4
+ tailwindcss: 3.4.14
+
+ '@tailwindcss/typography@0.5.15(tailwindcss@3.4.14)':
+ dependencies:
+ lodash.castarray: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ postcss-selector-parser: 6.0.10
+ tailwindcss: 3.4.14
+
'@trivago/prettier-plugin-sort-imports@4.3.0(@vue/compiler-sfc@3.5.12)(prettier@3.3.3)':
dependencies:
'@babel/generator': 7.17.7
@@ -2697,6 +3096,10 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.1.0: {}
+
ansi-styles@3.2.1:
dependencies:
color-convert: 1.9.3
@@ -2705,6 +3108,17 @@ snapshots:
dependencies:
color-convert: 2.0.1
+ ansi-styles@6.2.1: {}
+
+ any-promise@1.3.0: {}
+
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ arg@5.0.2: {}
+
argparse@2.0.1: {}
aria-query@5.3.2: {}
@@ -2715,10 +3129,22 @@ snapshots:
dependencies:
tslib: 2.8.0
+ autoprefixer@10.4.20(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.2
+ caniuse-lite: 1.0.30001672
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
axobject-query@4.1.0: {}
balanced-match@1.0.2: {}
+ binary-extensions@2.3.0: {}
+
brace-expansion@1.1.11:
dependencies:
balanced-match: 1.0.2
@@ -2732,6 +3158,13 @@ snapshots:
dependencies:
fill-range: 7.1.1
+ browserslist@4.24.2:
+ dependencies:
+ caniuse-lite: 1.0.30001672
+ electron-to-chromium: 1.5.47
+ node-releases: 2.0.18
+ update-browserslist-db: 1.1.1(browserslist@4.24.2)
+
builtins@5.1.0:
dependencies:
semver: 7.6.3
@@ -2744,6 +3177,10 @@ snapshots:
callsites@3.1.0: {}
+ camelcase-css@2.0.1: {}
+
+ caniuse-lite@1.0.30001672: {}
+
chai@5.1.2:
dependencies:
assertion-error: 2.0.1
@@ -2765,6 +3202,18 @@ snapshots:
check-error@2.1.1: {}
+ chokidar@3.6.0:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.3
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
chokidar@4.0.1:
dependencies:
readdirp: 4.0.2
@@ -2781,6 +3230,8 @@ snapshots:
color-name@1.1.4: {}
+ commander@4.1.1: {}
+
commander@9.5.0: {}
concat-map@0.0.1: {}
@@ -2821,8 +3272,20 @@ snapshots:
devalue@5.1.1: {}
+ didyoumean@1.2.2: {}
+
+ dlv@1.1.3: {}
+
dset@3.1.4: {}
+ eastasianwidth@0.2.0: {}
+
+ electron-to-chromium@1.5.47: {}
+
+ emoji-regex@8.0.0: {}
+
+ emoji-regex@9.2.2: {}
+
entities@4.5.0:
optional: true
@@ -2852,6 +3315,8 @@ snapshots:
'@esbuild/win32-ia32': 0.21.5
'@esbuild/win32-x64': 0.21.5
+ escalade@3.2.0: {}
+
escape-string-regexp@1.0.5: {}
escape-string-regexp@4.0.0: {}
@@ -3045,10 +3510,17 @@ snapshots:
flatted@3.3.1: {}
+ foreground-child@3.3.0:
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+
formdata-polyfill@4.0.10:
dependencies:
fetch-blob: 3.2.0
+ fraction.js@4.3.7: {}
+
fs-extra@10.1.0:
dependencies:
graceful-fs: 4.2.11
@@ -3065,6 +3537,8 @@ snapshots:
fsevents@2.3.3:
optional: true
+ function-bind@1.1.2: {}
+
get-stream@6.0.1: {}
glob-parent@5.1.2:
@@ -3075,6 +3549,15 @@ snapshots:
dependencies:
is-glob: 4.0.3
+ glob@10.4.5:
+ dependencies:
+ foreground-child: 3.3.0
+ jackspeak: 3.4.3
+ minimatch: 9.0.5
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 1.11.1
+
glob@8.1.0:
dependencies:
fs.realpath: 1.0.0
@@ -3118,6 +3601,10 @@ snapshots:
has-flag@4.0.0: {}
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+
houdini-svelte@2.0.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.0)(vite@5.4.10(@types/node@22.7.9)(sass@1.80.4)))(@types/node@22.7.9)(sass@1.80.4):
dependencies:
'@kitql/helpers': 0.8.10
@@ -3191,8 +3678,18 @@ snapshots:
inherits@2.0.4: {}
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
+
+ is-core-module@2.15.1:
+ dependencies:
+ hasown: 2.0.2
+
is-extglob@2.1.1: {}
+ is-fullwidth-code-point@3.0.0: {}
+
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
@@ -3207,10 +3704,15 @@ snapshots:
isexe@2.0.0: {}
+ jackspeak@3.4.3:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
javascript-natural-sort@0.7.1: {}
- jiti@1.21.6:
- optional: true
+ jiti@1.21.6: {}
js-tokens@4.0.0: {}
@@ -3251,6 +3753,10 @@ snapshots:
lilconfig@2.1.0: {}
+ lilconfig@3.1.2: {}
+
+ lines-and-columns@1.2.4: {}
+
local-pkg@0.5.0:
dependencies:
mlly: 1.7.2
@@ -3262,6 +3768,10 @@ snapshots:
dependencies:
p-locate: 5.0.0
+ lodash.castarray@4.4.0: {}
+
+ lodash.isplainobject@4.0.6: {}
+
lodash.merge@4.6.2: {}
lodash@4.17.21: {}
@@ -3289,6 +3799,8 @@ snapshots:
mimic-fn@4.0.0: {}
+ mini-svg-data-uri@1.4.4: {}
+
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
@@ -3301,6 +3813,8 @@ snapshots:
dependencies:
brace-expansion: 2.0.1
+ minipass@7.1.2: {}
+
mlly@1.7.2:
dependencies:
acorn: 8.13.0
@@ -3314,6 +3828,12 @@ snapshots:
ms@2.1.3: {}
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
nanoid@3.3.7: {}
natural-compare@1.4.0: {}
@@ -3328,6 +3848,12 @@ snapshots:
fetch-blob: 3.2.0
formdata-polyfill: 4.0.10
+ node-releases@2.0.18: {}
+
+ normalize-path@3.0.0: {}
+
+ normalize-range@0.1.2: {}
+
npm-run-path@5.3.0:
dependencies:
path-key: 4.0.0
@@ -3339,6 +3865,10 @@ snapshots:
semver: 7.6.3
validate-npm-package-name: 4.0.0
+ object-assign@4.1.1: {}
+
+ object-hash@3.0.0: {}
+
once@1.4.0:
dependencies:
wrappy: 1.0.2
@@ -3364,6 +3894,8 @@ snapshots:
dependencies:
p-limit: 3.1.0
+ package-json-from-dist@1.0.1: {}
+
package-manager-detector@0.2.2: {}
parent-module@1.0.1:
@@ -3378,6 +3910,13 @@ snapshots:
path-key@4.0.0: {}
+ path-parse@1.0.7: {}
+
+ path-scurry@1.11.1:
+ dependencies:
+ lru-cache: 10.4.3
+ minipass: 7.1.2
+
pathe@1.1.2: {}
pathval@2.0.0: {}
@@ -3389,6 +3928,10 @@ snapshots:
picomatch@4.0.2:
optional: true
+ pify@2.3.0: {}
+
+ pirates@4.0.6: {}
+
pkg-types@1.2.1:
dependencies:
confbox: 0.1.8
@@ -3403,6 +3946,18 @@ snapshots:
optionalDependencies:
fsevents: 2.3.2
+ postcss-import@15.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
+
+ postcss-js@4.0.1(postcss@8.4.47):
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.47
+
postcss-less@6.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
@@ -3414,6 +3969,18 @@ snapshots:
optionalDependencies:
postcss: 8.4.47
+ postcss-load-config@4.0.2(postcss@8.4.47):
+ dependencies:
+ lilconfig: 3.1.2
+ yaml: 2.6.0
+ optionalDependencies:
+ postcss: 8.4.47
+
+ postcss-nested@6.2.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
postcss-safe-parser@6.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
@@ -3422,11 +3989,18 @@ snapshots:
dependencies:
postcss: 8.4.47
+ postcss-selector-parser@6.0.10:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
postcss-selector-parser@6.1.2:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
+ postcss-value-parser@4.2.0: {}
+
postcss@8.4.47:
dependencies:
nanoid: 3.3.7
@@ -3449,12 +4023,28 @@ snapshots:
prettier: 3.3.3
svelte: 5.1.0
+ prettier-plugin-tailwindcss@0.6.8(@trivago/prettier-plugin-sort-imports@4.3.0(@vue/compiler-sfc@3.5.12)(prettier@3.3.3))(prettier-plugin-css-order@2.1.2(postcss@8.4.47)(prettier@3.3.3))(prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.0))(prettier@3.3.3):
+ dependencies:
+ prettier: 3.3.3
+ optionalDependencies:
+ '@trivago/prettier-plugin-sort-imports': 4.3.0(@vue/compiler-sfc@3.5.12)(prettier@3.3.3)
+ prettier-plugin-css-order: 2.1.2(postcss@8.4.47)(prettier@3.3.3)
+ prettier-plugin-svelte: 3.2.7(prettier@3.3.3)(svelte@5.1.0)
+
prettier@3.3.3: {}
punycode@2.3.1: {}
queue-microtask@1.2.3: {}
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
+ readdirp@3.6.0:
+ dependencies:
+ picomatch: 2.3.1
+
readdirp@4.0.2: {}
recast@0.23.9:
@@ -3467,6 +4057,12 @@ snapshots:
resolve-from@4.0.0: {}
+ resolve@1.22.8:
+ dependencies:
+ is-core-module: 2.15.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
reusify@1.0.4: {}
rollup@3.29.5:
@@ -3524,6 +4120,8 @@ snapshots:
signal-exit@3.0.7: {}
+ signal-exit@4.1.0: {}
+
sirv@3.0.0:
dependencies:
'@polka/url': 1.0.0-next.28
@@ -3544,10 +4142,40 @@ snapshots:
streamsearch@1.1.0: {}
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.0:
+ dependencies:
+ ansi-regex: 6.1.0
+
strip-final-newline@3.0.0: {}
strip-json-comments@3.1.1: {}
+ sucrase@3.35.0:
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ commander: 4.1.1
+ glob: 10.4.5
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+
supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
@@ -3556,6 +4184,8 @@ snapshots:
dependencies:
has-flag: 4.0.0
+ supports-preserve-symlinks-flag@1.0.0: {}
+
svelte-check@4.0.5(picomatch@4.0.2)(svelte@5.1.0)(typescript@5.6.3):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
@@ -3594,8 +4224,43 @@ snapshots:
magic-string: 0.30.12
zimmerframe: 1.1.2
+ tailwindcss@3.4.14:
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.21.6
+ lilconfig: 2.1.0
+ micromatch: 4.0.8
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.1.1
+ postcss: 8.4.47
+ postcss-import: 15.1.0(postcss@8.4.47)
+ postcss-js: 4.0.1(postcss@8.4.47)
+ postcss-load-config: 4.0.2(postcss@8.4.47)
+ postcss-nested: 6.2.0(postcss@8.4.47)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.8
+ sucrase: 3.35.0
+ transitivePeerDependencies:
+ - ts-node
+
text-table@0.2.0: {}
+ thenify-all@1.6.0:
+ dependencies:
+ thenify: 3.3.1
+
+ thenify@3.3.1:
+ dependencies:
+ any-promise: 1.3.0
+
tiny-glob@0.2.9:
dependencies:
globalyzer: 0.1.0
@@ -3625,6 +4290,8 @@ snapshots:
dependencies:
typescript: 5.6.3
+ ts-interface-checker@0.1.13: {}
+
tslib@2.8.0: {}
type-check@0.4.0:
@@ -3672,6 +4339,12 @@ snapshots:
optionalDependencies:
webpack-sources: 3.2.3
+ update-browserslist-db@1.1.1(browserslist@4.24.2):
+ dependencies:
+ browserslist: 4.24.2
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
@@ -3774,10 +4447,24 @@ snapshots:
word-wrap@1.2.5: {}
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+
wrappy@1.0.2: {}
yaml@1.10.2: {}
+ yaml@2.6.0: {}
+
yocto-queue@0.1.0: {}
zimmerframe@1.1.2: {}
diff --git a/kitsune-fe/postcss.config.js b/kitsune-fe/postcss.config.js
new file mode 100644
index 000000000..0f7721681
--- /dev/null
+++ b/kitsune-fe/postcss.config.js
@@ -0,0 +1,6 @@
+export default {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {}
+ }
+};
diff --git a/kitsune-fe/schema.graphql b/kitsune-fe/schema.graphql
index ec2ce284f..adb0820dd 100644
--- a/kitsune-fe/schema.graphql
+++ b/kitsune-fe/schema.graphql
@@ -1,6 +1,6 @@
schema {
- query: RootQuery
- mutation: RootMutation
+ query: RootQuery
+ mutation: RootMutation
}
"""
@@ -10,27 +10,27 @@ Indicates that an Input Object is a OneOf Input Object (and thus requires
directive @oneOf on INPUT_OBJECT
type Account {
- avatar: MediaAttachment
- createdAt: DateTime!
- displayName: String
- header: MediaAttachment
- id: UUID!
- locked: Boolean!
- note: String
- posts(after: String, before: String, first: Int, last: Int): PostConnection!
- updatedAt: DateTime!
- url: String!
- username: String!
+ avatar: MediaAttachment
+ createdAt: DateTime!
+ displayName: String
+ header: MediaAttachment
+ id: UUID!
+ locked: Boolean!
+ note: String
+ posts(after: String, before: String, first: Int, last: Int): PostConnection!
+ updatedAt: DateTime!
+ url: String!
+ username: String!
}
enum CaptchaBackend {
- H_CAPTCHA
- M_CAPTCHA
+ H_CAPTCHA
+ M_CAPTCHA
}
type CaptchaInfo {
- backend: CaptchaBackend!
- key: String!
+ backend: CaptchaBackend!
+ key: String!
}
"""
@@ -44,133 +44,99 @@ format, but it is always normalized to the UTC (Z) offset, e.g.
scalar DateTime
type Instance {
- captcha: CaptchaInfo
- characterLimit: Int!
- description: String!
- domain: String!
- localPostCount: Int!
- name: String!
- registrationsOpen: Boolean!
- userCount: Int!
- version: String!
+ captcha: CaptchaInfo
+ characterLimit: Int!
+ description: String!
+ domain: String!
+ localPostCount: Int!
+ name: String!
+ registrationsOpen: Boolean!
+ userCount: Int!
+ version: String!
}
type MediaAttachment {
- blurhash: String
- contentType: String!
- createdAt: DateTime!
- description: String
- id: UUID!
- uploader: Account!
- url: String!
+ blurhash: String
+ contentType: String!
+ createdAt: DateTime!
+ description: String
+ id: UUID!
+ uploader: Account!
+ url: String!
}
type OAuth2Application {
- createdAt: DateTime!
- id: UUID!
- name: String!
- redirectUri: String!
- secret: String!
- updatedAt: DateTime!
+ createdAt: DateTime!
+ id: UUID!
+ name: String!
+ redirectUri: String!
+ secret: String!
+ updatedAt: DateTime!
}
-"""
-Information about pagination in a connection
-"""
+"""Information about pagination in a connection"""
type PageInfo {
- """
- When paginating forwards, the cursor to continue.
- """
- endCursor: String
-
- """
- When paginating forwards, are there more items?
- """
- hasNextPage: Boolean!
-
- """
- When paginating backwards, are there more items?
- """
- hasPreviousPage: Boolean!
-
- """
- When paginating backwards, the cursor to continue.
- """
- startCursor: String
+ """When paginating forwards, the cursor to continue."""
+ endCursor: String
+
+ """When paginating forwards, are there more items?"""
+ hasNextPage: Boolean!
+
+ """When paginating backwards, are there more items?"""
+ hasPreviousPage: Boolean!
+
+ """When paginating backwards, the cursor to continue."""
+ startCursor: String
}
type Post {
- account: Account!
- attachments: [MediaAttachment!]!
- content: String!
- createdAt: DateTime!
- id: UUID!
- isSensitive: Boolean!
- subject: String
- updatedAt: DateTime!
- url: String!
- visibility: Visibility!
+ account: Account!
+ attachments: [MediaAttachment!]!
+ content: String!
+ createdAt: DateTime!
+ id: UUID!
+ isSensitive: Boolean!
+ subject: String
+ updatedAt: DateTime!
+ url: String!
+ visibility: Visibility!
}
type PostConnection {
- """
- A list of edges.
- """
- edges: [PostEdge!]!
-
- """
- A list of nodes.
- """
- nodes: [Post!]!
-
- """
- Information to aid in pagination.
- """
- pageInfo: PageInfo!
+ """A list of edges."""
+ edges: [PostEdge!]!
+
+ """A list of nodes."""
+ nodes: [Post!]!
+
+ """Information to aid in pagination."""
+ pageInfo: PageInfo!
}
-"""
-An edge in a connection.
-"""
+"""An edge in a connection."""
type PostEdge {
- """
- A cursor for use in pagination
- """
- cursor: String!
-
- """
- The item at the end of the edge
- """
- node: Post!
+ """A cursor for use in pagination"""
+ cursor: String!
+
+ """The item at the end of the edge"""
+ node: Post!
}
type RootMutation {
- createPost(content: String!, isSensitive: Boolean!, visibility: Visibility!): Post!
- deletePost(id: UUID!): UUID!
- registerOauthApplication(name: String!, redirectUri: String!): OAuth2Application!
- registerUser(captchaToken: String, email: String!, password: String!, username: String!): User!
- updateUser(
- avatar: Upload
- displayName: String
- header: Upload
- locked: Boolean
- note: String
- ): Account!
+ createPost(content: String!, isSensitive: Boolean!, visibility: Visibility!): Post!
+ deletePost(id: UUID!): UUID!
+ registerOauthApplication(name: String!, redirectUri: String!): OAuth2Application!
+ registerUser(captchaToken: String, email: String!, password: String!, username: String!): User!
+ updateUser(avatar: Upload, displayName: String, header: Upload, locked: Boolean, note: String): Account!
}
type RootQuery {
- getAccountById(id: UUID!): Account
- getPostById(id: UUID!): Post!
- homeTimeline(after: String, before: String, first: Int, last: Int): PostConnection!
- instance: Instance!
- myAccount: Account!
- publicTimeline(
- after: String
- before: String
- first: Int
- last: Int
- onlyLocal: Boolean! = true
- ): PostConnection!
+ getAccountById(id: UUID!): Account
+ getPostById(id: UUID!): Post!
+ homeTimeline(after: String, before: String, first: Int, last: Int): PostConnection!
+ instance: Instance!
+ myAccount: Account!
+ publicTimeline(after: String, before: String, first: Int, last: Int, onlyLocal: Boolean! = true): PostConnection!
}
"""
@@ -188,17 +154,17 @@ scalar UUID
scalar Upload
type User {
- account: Account!
- createdAt: DateTime!
- email: String!
- id: UUID!
- updatedAt: DateTime!
- username: String!
+ account: Account!
+ createdAt: DateTime!
+ email: String!
+ id: UUID!
+ updatedAt: DateTime!
+ username: String!
}
enum Visibility {
- FOLLOWER_ONLY
- MENTION_ONLY
- PUBLIC
- UNLISTED
+ FOLLOWER_ONLY
+ MENTION_ONLY
+ PUBLIC
+ UNLISTED
}
diff --git a/kitsune-fe/src/app.css b/kitsune-fe/src/app.css
new file mode 100644
index 000000000..a31e44411
--- /dev/null
+++ b/kitsune-fe/src/app.css
@@ -0,0 +1,3 @@
+@import 'tailwindcss/base';
+@import 'tailwindcss/components';
+@import 'tailwindcss/utilities';
diff --git a/kitsune-fe/src/client.ts b/kitsune-fe/src/client.ts
index 41d4ba408..f8adb9485 100644
--- a/kitsune-fe/src/client.ts
+++ b/kitsune-fe/src/client.ts
@@ -2,7 +2,7 @@ import { HoudiniClient, getClientSession } from '$houdini';
import { houdiniPlugin as authPlugin } from '$lib/oauth/auth.svelte';
export default new HoudiniClient({
- url: `${import.meta.env.VITE_BACKEND_URL ?? ''}/graphql`,
+ url: `/graphql`,
plugins: [authPlugin],
fetchParams() {
const session = getClientSession();
diff --git a/kitsune-fe/src/routes/+layout.svelte b/kitsune-fe/src/routes/+layout.svelte
index 1d2e6a932..de9659642 100644
--- a/kitsune-fe/src/routes/+layout.svelte
+++ b/kitsune-fe/src/routes/+layout.svelte
@@ -1,4 +1,5 @@
-
Date: Mon, 28 Oct 2024 14:41:57 +0100
Subject: [PATCH 08/23] remove playwright
---
kitsune-fe/e2e/demo.test.ts | 6 ------
kitsune-fe/package.json | 4 +---
kitsune-fe/playwright.config.ts | 10 ---------
kitsune-fe/pnpm-lock.yaml | 38 ---------------------------------
4 files changed, 1 insertion(+), 57 deletions(-)
delete mode 100644 kitsune-fe/e2e/demo.test.ts
delete mode 100644 kitsune-fe/playwright.config.ts
diff --git a/kitsune-fe/e2e/demo.test.ts b/kitsune-fe/e2e/demo.test.ts
deleted file mode 100644
index 9985ce113..000000000
--- a/kitsune-fe/e2e/demo.test.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { expect, test } from '@playwright/test';
-
-test('home page has expected h1', async ({ page }) => {
- await page.goto('/');
- await expect(page.locator('h1')).toBeVisible();
-});
diff --git a/kitsune-fe/package.json b/kitsune-fe/package.json
index b826d742c..52fc92856 100644
--- a/kitsune-fe/package.json
+++ b/kitsune-fe/package.json
@@ -10,15 +10,13 @@
"preview": "vite preview",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
- "test": "pnpm run test:e2e && pnpm run test:unit -- --run",
+ "test": "pnpm run test:unit -- --run",
"lint": "prettier --check . && eslint .",
"fmt": "prettier --write .",
- "test:e2e": "playwright test",
"test:unit": "vitest"
},
"devDependencies": {
"@iconify-json/eos-icons": "^1.2.1",
- "@playwright/test": "^1.48.1",
"@sveltejs/adapter-static": "^3.0.5",
"@sveltejs/kit": "^2.7.2",
"@sveltejs/vite-plugin-svelte": "4.0.0",
diff --git a/kitsune-fe/playwright.config.ts b/kitsune-fe/playwright.config.ts
deleted file mode 100644
index 29284b815..000000000
--- a/kitsune-fe/playwright.config.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { defineConfig } from '@playwright/test';
-
-export default defineConfig({
- webServer: {
- command: 'pnpm run build && pnpm run preview',
- port: 4173
- },
-
- testDir: 'e2e'
-});
diff --git a/kitsune-fe/pnpm-lock.yaml b/kitsune-fe/pnpm-lock.yaml
index cff9e56a6..f2956ce8f 100644
--- a/kitsune-fe/pnpm-lock.yaml
+++ b/kitsune-fe/pnpm-lock.yaml
@@ -11,9 +11,6 @@ importers:
'@iconify-json/eos-icons':
specifier: ^1.2.1
version: 1.2.1
- '@playwright/test':
- specifier: ^1.48.1
- version: 1.48.1
'@sveltejs/adapter-static':
specifier: ^3.0.5
version: 3.0.5(@sveltejs/kit@2.7.2(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.0)(vite@5.4.10(@types/node@22.7.9)(sass@1.80.4)))(svelte@5.1.0)(vite@5.4.10(@types/node@22.7.9)(sass@1.80.4)))
@@ -566,11 +563,6 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, tarball: https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz}
engines: {node: '>=14'}
- '@playwright/test@1.48.1':
- resolution: {integrity: sha512-s9RtWoxkOLmRJdw3oFvhFbs9OJS0BzrLUc8Hf6l2UdCNd1rqeEyD4BhCJkvzeEoD1FsK4mirsWwGerhVmYKtZg==, tarball: https://registry.npmjs.org/@playwright/test/-/test-1.48.1.tgz}
- engines: {node: '>=18'}
- hasBin: true
-
'@polka/url@1.0.0-next.28':
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==, tarball: https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz}
@@ -1284,11 +1276,6 @@ packages:
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, tarball: https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz}
- fsevents@2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, tarball: https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, tarball: https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -1713,16 +1700,6 @@ packages:
pkg-types@1.2.1:
resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==, tarball: https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.1.tgz}
- playwright-core@1.48.1:
- resolution: {integrity: sha512-Yw/t4VAFX/bBr1OzwCuOMZkY1Cnb4z/doAFSwf4huqAGWmf9eMNjmK7NiOljCdLmxeRYcGPPmcDgU0zOlzP0YA==, tarball: https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.1.tgz}
- engines: {node: '>=18'}
- hasBin: true
-
- playwright@1.48.1:
- resolution: {integrity: sha512-j8CiHW/V6HxmbntOfyB4+T/uk08tBy6ph0MpBXwuoofkSnLmlfdYNNkFTYD6ofzzlSqLA1fwH4vwvVFvJgLN0w==, tarball: https://registry.npmjs.org/playwright/-/playwright-1.48.1.tgz}
- engines: {node: '>=18'}
- hasBin: true
-
postcss-import@15.1.0:
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==, tarball: https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz}
engines: {node: '>=14.0.0'}
@@ -2746,10 +2723,6 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
- '@playwright/test@1.48.1':
- dependencies:
- playwright: 1.48.1
-
'@polka/url@1.0.0-next.28': {}
'@repeaterjs/repeater@3.0.6': {}
@@ -3531,9 +3504,6 @@ snapshots:
fs.realpath@1.0.0: {}
- fsevents@2.3.2:
- optional: true
-
fsevents@2.3.3:
optional: true
@@ -3938,14 +3908,6 @@ snapshots:
mlly: 1.7.2
pathe: 1.1.2
- playwright-core@1.48.1: {}
-
- playwright@1.48.1:
- dependencies:
- playwright-core: 1.48.1
- optionalDependencies:
- fsevents: 2.3.2
-
postcss-import@15.1.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
From 5969a83d8e27d23dff83535b373dd44e62d2f02e Mon Sep 17 00:00:00 2001
From: Aumetra Weisman
Date: Mon, 28 Oct 2024 14:42:03 +0100
Subject: [PATCH 09/23] up
---
Cargo.lock | 69 +++++++++++++-----------------
crates/kitsune-db/Cargo.toml | 2 +-
crates/kitsune-s3/Cargo.toml | 2 +-
crates/kitsune-service/Cargo.toml | 2 +-
crates/kitsune-wasm-mrf/Cargo.toml | 2 +-
lib/geomjeungja/Cargo.toml | 2 +-
lib/mrf-manifest/Cargo.toml | 2 +-
lib/post-process/Cargo.toml | 2 +-
8 files changed, 37 insertions(+), 46 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 71dc3bfc9..80c74475a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -128,9 +128,9 @@ dependencies = [
[[package]]
name = "anstream"
-version = "0.6.15"
+version = "0.6.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
+checksum = "23a1e53f0f5d86382dafe1cf314783b2044280f406e7e1506368220ad11b1338"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -143,36 +143,36 @@ dependencies = [
[[package]]
name = "anstyle"
-version = "1.0.8"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
+checksum = "8365de52b16c035ff4fcafe0092ba9390540e3e352870ac09933bebcaa2c8c56"
[[package]]
name = "anstyle-parse"
-version = "0.2.5"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
+checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
-version = "1.1.1"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
+checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
name = "anstyle-wincon"
-version = "3.0.4"
+version = "3.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
+checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125"
dependencies = [
"anstyle",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -1142,9 +1142,9 @@ dependencies = [
[[package]]
name = "colorchoice"
-version = "1.0.2"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
+checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
[[package]]
name = "colored_json"
@@ -3120,13 +3120,13 @@ dependencies = [
[[package]]
name = "img-parts"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b19358258d99a5fc34466fed27a5318f92ae636c3e36165cf9b1e87b5b6701f0"
+checksum = "8cd653b443fbb9271d937a4b2c1c7489af95c284a56f84d76bbd00eac857cb1c"
dependencies = [
"bytes",
"crc32fast",
- "miniz_oxide 0.5.4",
+ "miniz_oxide 0.8.0",
]
[[package]]
@@ -3159,9 +3159,9 @@ dependencies = [
[[package]]
name = "insta"
-version = "1.40.0"
+version = "1.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6593a41c7a73841868772495db7dc1e8ecab43bb5c0b6da2059246c4b506ab60"
+checksum = "a1f72d3e19488cf7d8ea52d2fc0f8754fc933398b337cd3cbdb28aaeb35159ef"
dependencies = [
"console",
"globset",
@@ -3854,7 +3854,7 @@ dependencies = [
"kitsune-error",
"kitsune-http-client",
"kitsune-test",
- "quick-xml 0.36.2",
+ "quick-xml 0.37.0",
"rusty-s3",
"serde",
"tokio",
@@ -4166,9 +4166,9 @@ checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
[[package]]
name = "libm"
-version = "0.2.8"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+checksum = "a00419de735aac21d53b0de5ce2c03bd3627277cf471300f27ebc89f7d828047"
[[package]]
name = "libmimalloc-sys"
@@ -4464,15 +4464,6 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-[[package]]
-name = "miniz_oxide"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
-dependencies = [
- "adler",
-]
-
[[package]]
name = "miniz_oxide"
version = "0.7.4"
@@ -5455,9 +5446,9 @@ dependencies = [
[[package]]
name = "quick-xml"
-version = "0.36.2"
+version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe"
+checksum = "ffbfb3ddf5364c9cfcd65549a1e7b801d0e8d1b14c1a1590a6408aa93cfbfa84"
dependencies = [
"memchr",
"serde",
@@ -5599,9 +5590,9 @@ dependencies = [
[[package]]
name = "redb"
-version = "2.1.4"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "074373f3e7e5d27d8741d19512232adb47be8622d3daef3a45bcae72050c3d2a"
+checksum = "84b1de48a7cf7ba193e81e078d17ee2b786236eed1d3f7c60f8a09545efc4925"
dependencies = [
"libc",
"log",
@@ -5866,9 +5857,9 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.37"
+version = "0.38.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
+checksum = "aa260229e6538e52293eeb577aabd09945a09d6d9cc0fc550ed7529056c2e32a"
dependencies = [
"bitflags 2.6.0",
"errno",
@@ -5881,9 +5872,9 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.23.15"
+version = "0.23.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993"
+checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e"
dependencies = [
"log",
"once_cell",
diff --git a/crates/kitsune-db/Cargo.toml b/crates/kitsune-db/Cargo.toml
index ff270e4c3..e68882812 100644
--- a/crates/kitsune-db/Cargo.toml
+++ b/crates/kitsune-db/Cargo.toml
@@ -22,7 +22,7 @@ kitsune-language = { workspace = true }
kitsune-type = { workspace = true }
num-derive = "0.4.2"
num-traits = "0.2.19"
-rustls = { version = "0.23.15", default-features = false, features = [
+rustls = { version = "0.23.16", default-features = false, features = [
"logging",
"ring",
"std",
diff --git a/crates/kitsune-s3/Cargo.toml b/crates/kitsune-s3/Cargo.toml
index 1edc260f0..6cd031537 100644
--- a/crates/kitsune-s3/Cargo.toml
+++ b/crates/kitsune-s3/Cargo.toml
@@ -11,7 +11,7 @@ futures-util = { version = "0.3.31", default-features = false }
http = "1.1.0"
kitsune-error = { workspace = true }
kitsune-http-client = { workspace = true }
-quick-xml = { version = "0.36.2", features = ["serialize"] }
+quick-xml = { version = "0.37.0", features = ["serialize"] }
rusty-s3 = "0.5.0"
serde = { version = "1.0.213", features = ["derive"] }
typed-builder = "0.20.0"
diff --git a/crates/kitsune-service/Cargo.toml b/crates/kitsune-service/Cargo.toml
index ea1244da5..1250d7ab9 100644
--- a/crates/kitsune-service/Cargo.toml
+++ b/crates/kitsune-service/Cargo.toml
@@ -20,7 +20,7 @@ fred = { workspace = true }
futures-util = "0.3.31"
garde = { workspace = true }
http = "1.1.0"
-img-parts = "0.3.0"
+img-parts = "0.3.1"
iso8601-timestamp = { workspace = true }
kitsune-cache = { workspace = true }
kitsune-captcha = { workspace = true }
diff --git a/crates/kitsune-wasm-mrf/Cargo.toml b/crates/kitsune-wasm-mrf/Cargo.toml
index 2dcfac031..3d0d5265d 100644
--- a/crates/kitsune-wasm-mrf/Cargo.toml
+++ b/crates/kitsune-wasm-mrf/Cargo.toml
@@ -21,7 +21,7 @@ kitsune-derive = { workspace = true }
kitsune-error = { workspace = true }
kitsune-type = { workspace = true }
mrf-manifest = { workspace = true, features = ["decode"] }
-redb = { version = "2.1.4", features = ["logging"] }
+redb = { version = "2.2.0", features = ["logging"] }
slab = "0.4.9"
smol_str = "0.3.2"
sonic-rs = { workspace = true }
diff --git a/lib/geomjeungja/Cargo.toml b/lib/geomjeungja/Cargo.toml
index 1c5154a08..35df6155e 100644
--- a/lib/geomjeungja/Cargo.toml
+++ b/lib/geomjeungja/Cargo.toml
@@ -18,7 +18,7 @@ typed-builder = "0.20.0"
unsize = "1.1.0"
[dev-dependencies]
-insta = { version = "1.40.0", features = ["json"] }
+insta = { version = "1.41.0", features = ["json"] }
rand_xorshift = "0.3.0"
sonic-rs = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt"] }
diff --git a/lib/mrf-manifest/Cargo.toml b/lib/mrf-manifest/Cargo.toml
index 32783e4a4..519c0148a 100644
--- a/lib/mrf-manifest/Cargo.toml
+++ b/lib/mrf-manifest/Cargo.toml
@@ -17,7 +17,7 @@ wasm-encoder = { version = "0.219.1", optional = true }
wasmparser = { version = "0.219.1", optional = true }
[dev-dependencies]
-insta = { version = "1.40.0", default-features = false, features = ["json"] }
+insta = { version = "1.41.0", default-features = false, features = ["json"] }
sonic-rs = { workspace = true }
wat = "1.219.1"
diff --git a/lib/post-process/Cargo.toml b/lib/post-process/Cargo.toml
index 045392d80..cb7626226 100644
--- a/lib/post-process/Cargo.toml
+++ b/lib/post-process/Cargo.toml
@@ -15,7 +15,7 @@ logos = "0.14.2"
[dev-dependencies]
divan = "0.1.14"
futures-executor = "0.3.31"
-insta = { version = "1.40.0", features = ["glob"] }
+insta = { version = "1.41.0", features = ["glob"] }
pretty_assertions = "1.4.1"
[lints]
From a672c147d6a8bbfcd0ae616befd607c9286fa70f Mon Sep 17 00:00:00 2001
From: Aumetra Weisman
Date: Mon, 28 Oct 2024 14:48:38 +0100
Subject: [PATCH 10/23] doc pnpm
---
kitsune/Dockerfile.dev | 2 +-
kitsune/Dockerfile.prod | 2 +-
website/src/content/docs/running/installation.mdx | 5 +++--
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/kitsune/Dockerfile.dev b/kitsune/Dockerfile.dev
index e45a41d11..5c311026c 100644
--- a/kitsune/Dockerfile.dev
+++ b/kitsune/Dockerfile.dev
@@ -16,7 +16,7 @@ RUN cargo build --bin kitsune
FROM base AS frontend
COPY kitsune-fe .
WORKDIR kitsune-fe
-RUN npm i && npm run build
+RUN pnpm i && pnpm run build
FROM alpine:latest
WORKDIR app
diff --git a/kitsune/Dockerfile.prod b/kitsune/Dockerfile.prod
index 0e505997d..af01976aa 100644
--- a/kitsune/Dockerfile.prod
+++ b/kitsune/Dockerfile.prod
@@ -16,7 +16,7 @@ RUN cargo build --release --bin kitsune
FROM base AS frontend
COPY kitsune-fe .
WORKDIR kitsune-fe
-RUN npm i && npm run build
+RUN pnpm i && pnpm run build
FROM alpine:latest
WORKDIR app
diff --git a/website/src/content/docs/running/installation.mdx b/website/src/content/docs/running/installation.mdx
index 1b2832a82..f35a5b796 100644
--- a/website/src/content/docs/running/installation.mdx
+++ b/website/src/content/docs/running/installation.mdx
@@ -16,7 +16,8 @@ In order to build Kitsune, need a few dependencies. These are:
2. PostgreSQL as a dedicated DBMS
3. Redis for the job queue
4. [NodeJS](https://nodejs.org/en) v16+
-5. Reverse Proxy (recommended: [Caddy](https://caddyserver.com/docs/install))
+5. [pnpm](https://pnpm.io/) for NodeJS package management
+6. Reverse Proxy (recommended: [Caddy](https://caddyserver.com/docs/install))
Yes, that's really it. We don't need more. Kitsune is designed to use as few native dependencies as possible to make building from source easy!
@@ -53,7 +54,7 @@ Next, move into the newly created directory and then into the `kitsune-fe` direc
To do this run:
```bash
-npm i && npm run build
+pnpm i && pnpm build
```
Now move out of the directory and back into the main one. Then build the binaries in release mode.
From 77a90188161b7582cd0591177faa6a8938057ad5 Mon Sep 17 00:00:00 2001
From: Aumetra Weisman
Date: Mon, 28 Oct 2024 22:02:31 +0100
Subject: [PATCH 11/23] up
---
Cargo.lock | 12 ++++++------
crates/kitsune-activitypub/Cargo.toml | 2 +-
crates/kitsune-cache/Cargo.toml | 2 +-
crates/kitsune-captcha/Cargo.toml | 2 +-
crates/kitsune-config/Cargo.toml | 2 +-
crates/kitsune-core/Cargo.toml | 2 +-
crates/kitsune-db/Cargo.toml | 2 +-
crates/kitsune-http-client/Cargo.toml | 4 ++--
crates/kitsune-jobs/Cargo.toml | 2 +-
crates/kitsune-mastodon/Cargo.toml | 2 +-
crates/kitsune-oidc/Cargo.toml | 2 +-
crates/kitsune-s3/Cargo.toml | 2 +-
crates/kitsune-search/Cargo.toml | 2 +-
crates/kitsune-service/Cargo.toml | 2 +-
crates/kitsune-type/Cargo.toml | 2 +-
kitsune-cli/Cargo.toml | 2 +-
kitsune/Cargo.toml | 2 +-
lib/athena/Cargo.toml | 2 +-
lib/fast-cjson/Cargo.toml | 4 ++--
lib/geomjeungja/Cargo.toml | 2 +-
lib/mrf-manifest/Cargo.toml | 2 +-
lib/speedy-uuid/Cargo.toml | 2 +-
22 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 80c74475a..f91a65ff6 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2926,9 +2926,9 @@ dependencies = [
[[package]]
name = "hyper-util"
-version = "0.1.9"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b"
+checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4"
dependencies = [
"bytes",
"futures-channel",
@@ -6102,9 +6102,9 @@ dependencies = [
[[package]]
name = "serde"
-version = "1.0.213"
+version = "1.0.214"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1"
+checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5"
dependencies = [
"serde_derive",
]
@@ -6121,9 +6121,9 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.213"
+version = "1.0.214"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5"
+checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766"
dependencies = [
"proc-macro2",
"quote",
diff --git a/crates/kitsune-activitypub/Cargo.toml b/crates/kitsune-activitypub/Cargo.toml
index 8b6005b54..87560db14 100644
--- a/crates/kitsune-activitypub/Cargo.toml
+++ b/crates/kitsune-activitypub/Cargo.toml
@@ -31,7 +31,7 @@ kitsune-util = { workspace = true }
kitsune-wasm-mrf = { workspace = true }
mime = "0.3.17"
mime_guess = { version = "2.0.5", default-features = false }
-serde = "1.0.213"
+serde = "1.0.214"
sha2 = "0.10.8"
sonic-rs = { workspace = true }
speedy-uuid = { workspace = true }
diff --git a/crates/kitsune-cache/Cargo.toml b/crates/kitsune-cache/Cargo.toml
index dbe01c278..d3a6a4712 100644
--- a/crates/kitsune-cache/Cargo.toml
+++ b/crates/kitsune-cache/Cargo.toml
@@ -10,7 +10,7 @@ enum_dispatch = "0.3.13"
fred = { workspace = true }
kitsune-error = { workspace = true }
moka = { workspace = true }
-serde = "1.0.213"
+serde = "1.0.214"
sonic-rs = { workspace = true }
tracing = "0.1.40"
triomphe = { workspace = true }
diff --git a/crates/kitsune-captcha/Cargo.toml b/crates/kitsune-captcha/Cargo.toml
index a29ff4a8f..f16560ba1 100644
--- a/crates/kitsune-captcha/Cargo.toml
+++ b/crates/kitsune-captcha/Cargo.toml
@@ -10,7 +10,7 @@ enum_dispatch = "0.3.13"
http = "1.1.0"
kitsune-error = { workspace = true }
kitsune-http-client = { workspace = true }
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
serde_urlencoded = "0.7.1"
sonic-rs = { workspace = true }
strum = { version = "0.26.3", features = ["derive"] }
diff --git a/crates/kitsune-config/Cargo.toml b/crates/kitsune-config/Cargo.toml
index 1639100d9..f9ade3a3f 100644
--- a/crates/kitsune-config/Cargo.toml
+++ b/crates/kitsune-config/Cargo.toml
@@ -9,7 +9,7 @@ license.workspace = true
eyre = "0.6.12"
human-size = { version = "0.4.3", features = ["serde"] }
isolang = { version = "2.4.0", features = ["serde"] }
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
smol_str = { version = "0.3.2", features = ["serde"] }
tokio = { workspace = true, features = ["fs"] }
toml = { version = "0.8.19", default-features = false, features = ["parse"] }
diff --git a/crates/kitsune-core/Cargo.toml b/crates/kitsune-core/Cargo.toml
index a61b59264..19a5f38f1 100644
--- a/crates/kitsune-core/Cargo.toml
+++ b/crates/kitsune-core/Cargo.toml
@@ -12,7 +12,7 @@ git-version = "0.3.9"
kitsune-db = { workspace = true }
kitsune-error = { workspace = true }
paste = "1.0.15"
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
triomphe = { workspace = true }
typed-builder = "0.20.0"
unsize = "1.1.0"
diff --git a/crates/kitsune-db/Cargo.toml b/crates/kitsune-db/Cargo.toml
index e68882812..680e6231c 100644
--- a/crates/kitsune-db/Cargo.toml
+++ b/crates/kitsune-db/Cargo.toml
@@ -29,7 +29,7 @@ rustls = { version = "0.23.16", default-features = false, features = [
"tls12",
] }
rustls-native-certs = "0.8.0"
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
sonic-rs = { workspace = true }
speedy-uuid = { workspace = true, features = ["diesel"] }
tokio = { workspace = true, features = ["rt"] }
diff --git a/crates/kitsune-http-client/Cargo.toml b/crates/kitsune-http-client/Cargo.toml
index 19646a57e..dd83fe5ef 100644
--- a/crates/kitsune-http-client/Cargo.toml
+++ b/crates/kitsune-http-client/Cargo.toml
@@ -15,7 +15,7 @@ http-body = "1.0.1"
http-body-util = "0.1.2"
http-signatures = { workspace = true }
hyper = "1.5.0"
-hyper-util = { version = "0.1.9", features = [
+hyper-util = { version = "0.1.10", features = [
"client-legacy",
"http1",
"http2",
@@ -31,7 +31,7 @@ hyper-rustls = { version = "0.27.3", default-features = false, features = [
] }
kitsune-type = { workspace = true }
pin-project = "1.1.7"
-serde = "1.0.213"
+serde = "1.0.214"
simdutf8 = { workspace = true }
sonic-rs = { workspace = true }
tower = { version = "0.5.1", features = ["util"] }
diff --git a/crates/kitsune-jobs/Cargo.toml b/crates/kitsune-jobs/Cargo.toml
index 0a0891327..9150b9214 100644
--- a/crates/kitsune-jobs/Cargo.toml
+++ b/crates/kitsune-jobs/Cargo.toml
@@ -15,7 +15,7 @@ kitsune-core = { workspace = true }
kitsune-db = { workspace = true }
kitsune-email = { workspace = true }
kitsune-error = { workspace = true }
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
speedy-uuid = { workspace = true }
tracing = "0.1.40"
typed-builder = "0.20.0"
diff --git a/crates/kitsune-mastodon/Cargo.toml b/crates/kitsune-mastodon/Cargo.toml
index dd7c3990a..ef946b3f3 100644
--- a/crates/kitsune-mastodon/Cargo.toml
+++ b/crates/kitsune-mastodon/Cargo.toml
@@ -19,7 +19,7 @@ kitsune-type = { workspace = true }
kitsune-url = { workspace = true }
kitsune-util = { workspace = true }
mime = "0.3.17"
-serde = "1.0.213"
+serde = "1.0.214"
smol_str = "0.3.2"
sonic-rs = { workspace = true }
speedy-uuid = { workspace = true }
diff --git a/crates/kitsune-oidc/Cargo.toml b/crates/kitsune-oidc/Cargo.toml
index 75557eb3e..89fd96676 100644
--- a/crates/kitsune-oidc/Cargo.toml
+++ b/crates/kitsune-oidc/Cargo.toml
@@ -21,7 +21,7 @@ openidconnect = { version = "4.0.0-rc.1", default-features = false, features = [
"accept-string-booleans",
"timing-resistant-secret-traits",
] }
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
sonic-rs = { workspace = true }
speedy-uuid = { workspace = true }
url = "2.5.2"
diff --git a/crates/kitsune-s3/Cargo.toml b/crates/kitsune-s3/Cargo.toml
index 6cd031537..bb238d6f6 100644
--- a/crates/kitsune-s3/Cargo.toml
+++ b/crates/kitsune-s3/Cargo.toml
@@ -13,7 +13,7 @@ kitsune-error = { workspace = true }
kitsune-http-client = { workspace = true }
quick-xml = { version = "0.37.0", features = ["serialize"] }
rusty-s3 = "0.5.0"
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
typed-builder = "0.20.0"
[dev-dependencies]
diff --git a/crates/kitsune-search/Cargo.toml b/crates/kitsune-search/Cargo.toml
index b15cfd667..df6e8792a 100644
--- a/crates/kitsune-search/Cargo.toml
+++ b/crates/kitsune-search/Cargo.toml
@@ -23,7 +23,7 @@ kitsune-http-client = { workspace = true }
kitsune-language = { workspace = true }
meilisearch-sdk = { version = "0.27.1", default-features = false }
pin-project-lite = "0.2.15"
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
serde_urlencoded = "0.7.1"
speedy-uuid = { workspace = true }
strum = { version = "0.26.3", features = ["derive"] }
diff --git a/crates/kitsune-service/Cargo.toml b/crates/kitsune-service/Cargo.toml
index 1250d7ab9..ed31b0bbb 100644
--- a/crates/kitsune-service/Cargo.toml
+++ b/crates/kitsune-service/Cargo.toml
@@ -45,7 +45,7 @@ post-process = { workspace = true }
rand = "0.8.5"
rsa = "0.9.6"
rusty-s3 = { version = "0.5.0", default-features = false }
-serde = "1.0.213"
+serde = "1.0.214"
smol_str = "0.3.2"
speedy-uuid = { workspace = true }
tokio = { workspace = true, features = ["macros", "sync"] }
diff --git a/crates/kitsune-type/Cargo.toml b/crates/kitsune-type/Cargo.toml
index 62d68e28c..83e8d6b89 100644
--- a/crates/kitsune-type/Cargo.toml
+++ b/crates/kitsune-type/Cargo.toml
@@ -7,7 +7,7 @@ license.workspace = true
[dependencies]
iso8601-timestamp = { workspace = true }
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
serde_with = { version = "3.11.0", default-features = false, features = [
"alloc",
"macros",
diff --git a/kitsune-cli/Cargo.toml b/kitsune-cli/Cargo.toml
index 27235eb05..19bc4e514 100644
--- a/kitsune-cli/Cargo.toml
+++ b/kitsune-cli/Cargo.toml
@@ -22,7 +22,7 @@ kitsune-config = { workspace = true }
kitsune-core = { workspace = true }
kitsune-db = { workspace = true }
kitsune-error = { workspace = true }
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
speedy-uuid = { workspace = true }
tokio = { workspace = true, features = ["full"] }
tracing-subscriber = "0.3.18"
diff --git a/kitsune/Cargo.toml b/kitsune/Cargo.toml
index ffcd186a6..b4159af0c 100644
--- a/kitsune/Cargo.toml
+++ b/kitsune/Cargo.toml
@@ -75,7 +75,7 @@ oxide-auth-async = "0.2.1"
oxide-auth-axum = "0.5.0"
rust-embed = { version = "8.5.0", features = ["include-exclude"] }
scoped-futures = "0.1.4"
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
serde_urlencoded = "0.7.1"
sonic-rs = { workspace = true }
simdutf8 = { workspace = true }
diff --git a/lib/athena/Cargo.toml b/lib/athena/Cargo.toml
index dfc380184..e25490e0c 100644
--- a/lib/athena/Cargo.toml
+++ b/lib/athena/Cargo.toml
@@ -18,7 +18,7 @@ iso8601-timestamp = { workspace = true }
fred = { workspace = true, optional = true }
just-retry = { workspace = true }
rand = { version = "0.8.5", optional = true }
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
smol_str = "0.3.2"
sonic-rs = { workspace = true, optional = true }
speedy-uuid = { workspace = true, features = ["redis"] }
diff --git a/lib/fast-cjson/Cargo.toml b/lib/fast-cjson/Cargo.toml
index 7d85bb692..c4d68754e 100644
--- a/lib/fast-cjson/Cargo.toml
+++ b/lib/fast-cjson/Cargo.toml
@@ -12,7 +12,7 @@ harness = false
[dependencies]
icu_normalizer = "1.5.0"
memchr = "2.7.4"
-serde = "1.0.213"
+serde = "1.0.214"
sonic-rs = { workspace = true }
[dev-dependencies]
@@ -21,7 +21,7 @@ mimalloc = "0.1.43"
olpc-cjson = "0.1.4"
proptest = { version = "1.5.0", default-features = false, features = ["std"] }
proptest-derive = "0.5.0"
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
serde_json = "1.0.132"
[lints]
diff --git a/lib/geomjeungja/Cargo.toml b/lib/geomjeungja/Cargo.toml
index 35df6155e..f778eb906 100644
--- a/lib/geomjeungja/Cargo.toml
+++ b/lib/geomjeungja/Cargo.toml
@@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0"
async-trait = "0.1.83"
hickory-resolver = "0.25.0-alpha.2"
rand = "0.8.5"
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
simdutf8 = { workspace = true }
thiserror = "1.0.65"
tracing = "0.1.40"
diff --git a/lib/mrf-manifest/Cargo.toml b/lib/mrf-manifest/Cargo.toml
index 519c0148a..439b3e81c 100644
--- a/lib/mrf-manifest/Cargo.toml
+++ b/lib/mrf-manifest/Cargo.toml
@@ -10,7 +10,7 @@ fast-cjson = { workspace = true, optional = true }
leb128 = { version = "0.2.5", optional = true }
schemars = { version = "0.8.21", features = ["impl_json_schema", "semver"] }
semver = { version = "1.0.23", features = ["serde"] }
-serde = { version = "1.0.213", features = ["derive"] }
+serde = { version = "1.0.214", features = ["derive"] }
sonic-rs = { workspace = true, optional = true }
thiserror = { version = "1.0.65", optional = true }
wasm-encoder = { version = "0.219.1", optional = true }
diff --git a/lib/speedy-uuid/Cargo.toml b/lib/speedy-uuid/Cargo.toml
index ded43edee..10caa0bdf 100644
--- a/lib/speedy-uuid/Cargo.toml
+++ b/lib/speedy-uuid/Cargo.toml
@@ -12,7 +12,7 @@ diesel = { version = "2.2.4", default-features = false, features = [
"uuid",
], optional = true }
fred = { version = "9.3.0", default-features = false, optional = true }
-serde = { version = "1.0.213", optional = true }
+serde = { version = "1.0.214", optional = true }
thiserror = "1.0.65"
uuid = { version = "1.11.0", features = ["fast-rng", "v7"] }
uuid-simd = { version = "0.8.0", features = ["uuid"] }
From 515d0f7efbcd3645033264cf85801fd0d39d9f4a Mon Sep 17 00:00:00 2001
From: Aumetra Weisman
Date: Tue, 29 Oct 2024 13:59:30 +0100
Subject: [PATCH 12/23] use valkey in ci
---
.github/workflows/coverage.yml | 2 +-
.github/workflows/rust.yml | 2 +-
Cargo.lock | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index 05a1fe63c..169d3b203 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -33,7 +33,7 @@ jobs:
--health-timeout 5s
--health-retries 5
redis:
- image: redis
+ image: valkey/valkey:alpine
ports:
- 6379:6379
options: >-
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index 0fcf4992d..3791124d1 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -60,7 +60,7 @@ jobs:
--health-timeout 5s
--health-retries 5
redis:
- image: redis
+ image: valkey/valkey:alpine
ports:
- 6379:6379
options: >-
diff --git a/Cargo.lock b/Cargo.lock
index f91a65ff6..b55dd0557 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4166,9 +4166,9 @@ checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
[[package]]
name = "libm"
-version = "0.2.10"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a00419de735aac21d53b0de5ce2c03bd3627277cf471300f27ebc89f7d828047"
+checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
[[package]]
name = "libmimalloc-sys"
From 65e7ff509999974341ff174b7efd502ca832eff2 Mon Sep 17 00:00:00 2001
From: aumetra
Date: Tue, 29 Oct 2024 22:39:44 +0100
Subject: [PATCH 13/23] restore some scss files for now
---
kitsune-fe/src/styles/_breakpoints.scss | 9 +++++++++
kitsune-fe/src/styles/_mixins.scss | 14 ++++++++++++++
2 files changed, 23 insertions(+)
create mode 100644 kitsune-fe/src/styles/_breakpoints.scss
create mode 100644 kitsune-fe/src/styles/_mixins.scss
diff --git a/kitsune-fe/src/styles/_breakpoints.scss b/kitsune-fe/src/styles/_breakpoints.scss
new file mode 100644
index 000000000..f240af687
--- /dev/null
+++ b/kitsune-fe/src/styles/_breakpoints.scss
@@ -0,0 +1,9 @@
+// Source: Tailwind
+
+$breakpoints: (
+ sm: 640px,
+ md: 768px,
+ lg: 1024px,
+ xl: 1280px,
+ xxl: 1536px
+);
\ No newline at end of file
diff --git a/kitsune-fe/src/styles/_mixins.scss b/kitsune-fe/src/styles/_mixins.scss
new file mode 100644
index 000000000..ad8a09805
--- /dev/null
+++ b/kitsune-fe/src/styles/_mixins.scss
@@ -0,0 +1,14 @@
+@use './breakpoints' as *;
+@use 'sass:map';
+
+@mixin only-on-mobile {
+ @media only screen and (max-width: map.get($breakpoints, md)) {
+ @content;
+ }
+}
+
+@mixin not-on-mobile {
+ @media not screen and (max-width: map.get($breakpoints, md)) {
+ @content;
+ }
+}
\ No newline at end of file
From 31013182160a1b1a2babaa111089761a066e5cab Mon Sep 17 00:00:00 2001
From: aumetra
Date: Thu, 31 Oct 2024 09:48:09 +0100
Subject: [PATCH 14/23] begin button port
---
kitsune-fe/src/lib/components/Button.svelte | 42 ++++++++-------------
kitsune-fe/src/styles/_breakpoints.scss | 12 +++---
kitsune-fe/src/styles/_mixins.scss | 14 +++----
3 files changed, 29 insertions(+), 39 deletions(-)
diff --git a/kitsune-fe/src/lib/components/Button.svelte b/kitsune-fe/src/lib/components/Button.svelte
index 2b8b45b68..10cd3c0a2 100644
--- a/kitsune-fe/src/lib/components/Button.svelte
+++ b/kitsune-fe/src/lib/components/Button.svelte
@@ -14,46 +14,36 @@
*
* @default 'primary'
*/
- buttonType?: string;
+ buttonType?: 'primary' | 'secondary';
children: Snippet;
} & HTMLButtonAttributes = $props();
- classNames += ` ${buttonType}`;
+ if (buttonType === 'primary') {
+ classNames += ` primary`; // ToDo: Port styles to tailwind
+ } else if (buttonType === 'secondary') {
+ classNames += ` border-solid border-2 bg-transparent`;
+ }
-
-
-
diff --git a/kitsune-fe/src/routes/+page.svelte b/kitsune-fe/src/routes/+page.svelte
index b4d04956e..e0590fdf9 100644
--- a/kitsune-fe/src/routes/+page.svelte
+++ b/kitsune-fe/src/routes/+page.svelte
@@ -162,7 +162,7 @@
-
+
Already have an account? Sign in
diff --git a/kitsune-fe/tailwind.config.ts b/kitsune-fe/tailwind.config.ts
index a3ec91bbe..b1314168d 100644
--- a/kitsune-fe/tailwind.config.ts
+++ b/kitsune-fe/tailwind.config.ts
@@ -13,8 +13,15 @@ export default {
'1': '#1c1626',
'2': '#2b233a',
'3': '#042f40'
+ },
+ shade1: {
+ dark: '#ff9e55',
+ light: '#afd7fa'
+ },
+ shade2: {
+ dark: '#935d7e',
+ light: '#d68fbc'
}
- // ToDo: Port rest of colour palette over
}
}
},
From cb224a2911abc1fa531711b3dd6739f864e88f1f Mon Sep 17 00:00:00 2001
From: aumetra
Date: Thu, 7 Nov 2024 15:04:14 +0100
Subject: [PATCH 18/23] fix style
---
kitsune-fe/src/lib/components/Button.svelte | 2 +-
kitsune-fe/src/routes/+page.svelte | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kitsune-fe/src/lib/components/Button.svelte b/kitsune-fe/src/lib/components/Button.svelte
index 6eefbdacd..9dc1fb01f 100644
--- a/kitsune-fe/src/lib/components/Button.svelte
+++ b/kitsune-fe/src/lib/components/Button.svelte
@@ -19,7 +19,7 @@
} & HTMLButtonAttributes = $props();
if (buttonType === 'primary') {
- classNames += ` text-dark-1 bg-shade1-dark hover:enabled:bg-shade2-dark`; // ToDo: Port styles to tailwind
+ classNames += ` [&:not(:hover)]:text-dark-1 bg-shade1-dark hover:enabled:bg-shade2-dark`;
} else if (buttonType === 'secondary') {
classNames += ` border-solid border-2 bg-transparent`;
} else if (buttonType === 'danger') {
diff --git a/kitsune-fe/src/routes/+page.svelte b/kitsune-fe/src/routes/+page.svelte
index e0590fdf9..b4d04956e 100644
--- a/kitsune-fe/src/routes/+page.svelte
+++ b/kitsune-fe/src/routes/+page.svelte
@@ -162,7 +162,7 @@
-
+
Already have an account? Sign in
From 12151b4c2f647a16738f454bd9b7b5b329a97531 Mon Sep 17 00:00:00 2001
From: aumetra
Date: Thu, 7 Nov 2024 15:08:00 +0100
Subject: [PATCH 19/23] port pretty much everything
---
kitsune-fe/src/app.css | 15 ++++++++++++++-
kitsune-fe/src/routes/+layout.svelte | 1 -
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/kitsune-fe/src/app.css b/kitsune-fe/src/app.css
index fff3546f7..64b78a074 100644
--- a/kitsune-fe/src/app.css
+++ b/kitsune-fe/src/app.css
@@ -5,10 +5,23 @@
@layer base {
body {
@apply min-h-screen min-w-max bg-gradient-to-bl from-dark-2 via-dark-1 to-slate-950 bg-no-repeat;
- @apply prose prose-slate prose-invert;
+ @apply prose prose-slate prose-invert font-mono;
}
a {
/*@apply text-pink-400;*/
}
+
+ ::-webkit-scrollbar {
+ width: 0.666em;
+ height: 0.666em;
+ }
+
+ ::-webkit-scrollbar-track {
+ box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
+ }
+
+ ::-webkit-scrollbar-thumb {
+ @apply bg-shade2-light;
+ }
}
diff --git a/kitsune-fe/src/routes/+layout.svelte b/kitsune-fe/src/routes/+layout.svelte
index 5851e9504..2b46664be 100644
--- a/kitsune-fe/src/routes/+layout.svelte
+++ b/kitsune-fe/src/routes/+layout.svelte
@@ -1,6 +1,5 @@