From 7658ab7985157ab20a87427208b51d4fcf33a197 Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 23 Dec 2024 17:30:07 +0100 Subject: [PATCH 01/28] windi -> tailwind --- .cspell.json | 2 - .gitpod.yml | 2 +- .vscode/extensions.json | 2 +- package.json | 5 + pnpm-lock.yaml | 940 ++++++++++++++++++++ web/package.json | 6 +- web/pnpm-lock.yaml | 321 ++++++- web/src/compositions/useTheme.ts | 2 +- web/src/main.ts | 1 - web/{windi.config.ts => tailwind.config.ts} | 9 +- web/vite.config.ts | 2 - 11 files changed, 1266 insertions(+), 26 deletions(-) create mode 100644 package.json create mode 100644 pnpm-lock.yaml rename web/{windi.config.ts => tailwind.config.ts} (97%) diff --git a/.cspell.json b/.cspell.json index 8774c09bea..a243cf3dc8 100644 --- a/.cspell.json +++ b/.cspell.json @@ -209,8 +209,6 @@ "Warnf", "webhookd", "Weblate", - "windi", - "windicss", "woodpeckerci", "WORKDIR", "Wrapf", diff --git a/.gitpod.yml b/.gitpod.yml index b99e675426..c97fb7c755 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -112,7 +112,7 @@ vscode: - 'EditorConfig.EditorConfig' - 'dbaeumer.vscode-eslint' - 'esbenp.prettier-vscode' - - 'voorjaar.windicss-intellisense' + - 'bradlc.vscode-tailwindcss' - 'Vue.volar' - 'redhat.vscode-yaml' - 'davidanson.vscode-markdownlint' diff --git a/.vscode/extensions.json b/.vscode/extensions.json index fba35f3805..4b1931cba5 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -5,7 +5,7 @@ "EditorConfig.EditorConfig", "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", - "voorjaar.windicss-intellisense", + "bradlc.vscode-tailwindcss", "Vue.volar", "redhat.vscode-yaml", "davidanson.vscode-markdownlint" diff --git a/package.json b/package.json new file mode 100644 index 0000000000..43f4abffca --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "tailwindcss": "^3.4.17" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000000..5506fe20c7 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,940 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + .: + dependencies: + tailwindcss: + specifier: ^3.4.17 + version: 3.4.17 + +packages: + '@alloc/quick-lru@5.2.0': + resolution: + { integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== } + engines: { node: '>=10' } + + '@isaacs/cliui@8.0.2': + resolution: + { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } + engines: { node: '>=12' } + + '@jridgewell/gen-mapping@0.3.8': + resolution: + { integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== } + engines: { node: '>=6.0.0' } + + '@jridgewell/resolve-uri@3.1.2': + resolution: + { integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== } + engines: { node: '>=6.0.0' } + + '@jridgewell/set-array@1.2.1': + resolution: + { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } + engines: { node: '>=6.0.0' } + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: + { integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== } + + '@jridgewell/trace-mapping@0.3.25': + resolution: + { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } + + '@nodelib/fs.scandir@2.1.5': + resolution: + { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } + engines: { node: '>= 8' } + + '@nodelib/fs.stat@2.0.5': + resolution: + { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } + engines: { node: '>= 8' } + + '@nodelib/fs.walk@1.2.8': + resolution: + { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } + engines: { node: '>= 8' } + + '@pkgjs/parseargs@0.11.0': + resolution: + { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } + engines: { node: '>=14' } + + ansi-regex@5.0.1: + resolution: + { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } + engines: { node: '>=8' } + + ansi-regex@6.1.0: + resolution: + { integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== } + engines: { node: '>=12' } + + ansi-styles@4.3.0: + resolution: + { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } + engines: { node: '>=8' } + + ansi-styles@6.2.1: + resolution: + { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } + engines: { node: '>=12' } + + any-promise@1.3.0: + resolution: + { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } + + anymatch@3.1.3: + resolution: + { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } + engines: { node: '>= 8' } + + arg@5.0.2: + resolution: + { integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== } + + balanced-match@1.0.2: + resolution: + { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + + binary-extensions@2.3.0: + resolution: + { integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== } + engines: { node: '>=8' } + + brace-expansion@2.0.1: + resolution: + { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } + + braces@3.0.3: + resolution: + { integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== } + engines: { node: '>=8' } + + camelcase-css@2.0.1: + resolution: + { integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== } + engines: { node: '>= 6' } + + chokidar@3.6.0: + resolution: + { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } + engines: { node: '>= 8.10.0' } + + color-convert@2.0.1: + resolution: + { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } + engines: { node: '>=7.0.0' } + + color-name@1.1.4: + resolution: + { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + + commander@4.1.1: + resolution: + { integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== } + engines: { node: '>= 6' } + + cross-spawn@7.0.6: + resolution: + { integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== } + engines: { node: '>= 8' } + + cssesc@3.0.0: + resolution: + { integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== } + engines: { node: '>=4' } + hasBin: true + + didyoumean@1.2.2: + resolution: + { integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== } + + dlv@1.1.3: + resolution: + { integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== } + + eastasianwidth@0.2.0: + resolution: + { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + + emoji-regex@8.0.0: + resolution: + { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + + emoji-regex@9.2.2: + resolution: + { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + + fast-glob@3.3.2: + resolution: + { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } + engines: { node: '>=8.6.0' } + + fastq@1.18.0: + resolution: + { integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw== } + + fill-range@7.1.1: + resolution: + { integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== } + engines: { node: '>=8' } + + foreground-child@3.3.0: + resolution: + { integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== } + engines: { node: '>=14' } + + fsevents@2.3.3: + resolution: + { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + + function-bind@1.1.2: + resolution: + { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } + + glob-parent@5.1.2: + resolution: + { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } + engines: { node: '>= 6' } + + glob-parent@6.0.2: + resolution: + { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } + engines: { node: '>=10.13.0' } + + glob@10.4.5: + resolution: + { integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== } + hasBin: true + + hasown@2.0.2: + resolution: + { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } + engines: { node: '>= 0.4' } + + is-binary-path@2.1.0: + resolution: + { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } + engines: { node: '>=8' } + + is-core-module@2.16.1: + resolution: + { integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== } + engines: { node: '>= 0.4' } + + is-extglob@2.1.1: + resolution: + { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } + engines: { node: '>=0.10.0' } + + is-fullwidth-code-point@3.0.0: + resolution: + { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } + engines: { node: '>=8' } + + is-glob@4.0.3: + resolution: + { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } + engines: { node: '>=0.10.0' } + + is-number@7.0.0: + resolution: + { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } + engines: { node: '>=0.12.0' } + + isexe@2.0.0: + resolution: + { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + + jackspeak@3.4.3: + resolution: + { integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== } + + jiti@1.21.7: + resolution: + { integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== } + hasBin: true + + lilconfig@3.1.3: + resolution: + { integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== } + engines: { node: '>=14' } + + lines-and-columns@1.2.4: + resolution: + { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } + + lru-cache@10.4.3: + resolution: + { integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== } + + merge2@1.4.1: + resolution: + { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } + engines: { node: '>= 8' } + + micromatch@4.0.8: + resolution: + { integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== } + engines: { node: '>=8.6' } + + minimatch@9.0.5: + resolution: + { integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== } + engines: { node: '>=16 || 14 >=14.17' } + + minipass@7.1.2: + resolution: + { integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== } + engines: { node: '>=16 || 14 >=14.17' } + + mz@2.7.0: + resolution: + { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } + + nanoid@3.3.8: + resolution: + { integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + + normalize-path@3.0.0: + resolution: + { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } + engines: { node: '>=0.10.0' } + + object-assign@4.1.1: + resolution: + { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } + engines: { node: '>=0.10.0' } + + object-hash@3.0.0: + resolution: + { integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== } + engines: { node: '>= 6' } + + package-json-from-dist@1.0.1: + resolution: + { integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== } + + path-key@3.1.1: + resolution: + { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } + engines: { node: '>=8' } + + path-parse@1.0.7: + resolution: + { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } + + path-scurry@1.11.1: + resolution: + { integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== } + engines: { node: '>=16 || 14 >=14.18' } + + picocolors@1.1.1: + resolution: + { integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== } + + picomatch@2.3.1: + resolution: + { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } + engines: { node: '>=8.6' } + + pify@2.3.0: + resolution: + { integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== } + engines: { node: '>=0.10.0' } + + pirates@4.0.6: + resolution: + { integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== } + engines: { node: '>= 6' } + + postcss-import@15.1.0: + resolution: + { integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== } + engines: { node: '>=14.0.0' } + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: + { integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== } + engines: { node: ^12 || ^14 || >= 16 } + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: + { integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== } + 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== } + engines: { node: '>=12.0' } + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: + { integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== } + engines: { node: '>=4' } + + postcss-value-parser@4.2.0: + resolution: + { integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== } + + postcss@8.4.49: + resolution: + { integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== } + engines: { node: ^10 || ^12 || >=14 } + + queue-microtask@1.2.3: + resolution: + { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } + + read-cache@1.0.0: + resolution: + { integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== } + + readdirp@3.6.0: + resolution: + { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } + engines: { node: '>=8.10.0' } + + resolve@1.22.10: + resolution: + { integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== } + engines: { node: '>= 0.4' } + hasBin: true + + reusify@1.0.4: + resolution: + { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + + run-parallel@1.2.0: + resolution: + { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } + + shebang-command@2.0.0: + resolution: + { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } + engines: { node: '>=8' } + + shebang-regex@3.0.0: + resolution: + { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } + engines: { node: '>=8' } + + signal-exit@4.1.0: + resolution: + { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } + engines: { node: '>=14' } + + source-map-js@1.2.1: + resolution: + { integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== } + engines: { node: '>=0.10.0' } + + string-width@4.2.3: + resolution: + { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } + engines: { node: '>=8' } + + string-width@5.1.2: + resolution: + { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } + engines: { node: '>=12' } + + strip-ansi@6.0.1: + resolution: + { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } + engines: { node: '>=8' } + + strip-ansi@7.1.0: + resolution: + { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } + engines: { node: '>=12' } + + sucrase@3.35.0: + resolution: + { integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== } + engines: { node: '>=16 || 14 >=14.17' } + hasBin: true + + supports-preserve-symlinks-flag@1.0.0: + resolution: + { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } + engines: { node: '>= 0.4' } + + tailwindcss@3.4.17: + resolution: + { integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== } + engines: { node: '>=14.0.0' } + hasBin: true + + thenify-all@1.6.0: + resolution: + { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } + engines: { node: '>=0.8' } + + thenify@3.3.1: + resolution: + { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } + + to-regex-range@5.0.1: + resolution: + { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } + engines: { node: '>=8.0' } + + ts-interface-checker@0.1.13: + resolution: + { integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== } + + util-deprecate@1.0.2: + resolution: + { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } + + which@2.0.2: + resolution: + { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } + engines: { node: '>= 8' } + hasBin: true + + wrap-ansi@7.0.0: + resolution: + { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } + engines: { node: '>=10' } + + wrap-ansi@8.1.0: + resolution: + { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } + engines: { node: '>=12' } + + yaml@2.6.1: + resolution: + { integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg== } + engines: { node: '>= 14' } + hasBin: true + +snapshots: + '@alloc/quick-lru@5.2.0': {} + + '@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.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.18.0 + + '@pkgjs/parseargs@0.11.0': + optional: true + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + 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: {} + + balanced-match@1.0.2: {} + + binary-extensions@2.3.0: {} + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + camelcase-css@2.0.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 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commander@4.1.1: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssesc@3.0.0: {} + + didyoumean@1.2.2: {} + + dlv@1.1.3: {} + + eastasianwidth@0.2.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fastq@1.18.0: + dependencies: + reusify: 1.0.4 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + 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 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-core-module@2.16.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 + + is-number@7.0.0: {} + + isexe@2.0.0: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.7: {} + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + lru-cache@10.4.3: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minipass@7.1.2: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.8: {} + + normalize-path@3.0.0: {} + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + package-json-from-dist@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pify@2.3.0: {} + + pirates@4.0.6: {} + + postcss-import@15.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.10 + + postcss-js@4.0.1(postcss@8.4.49): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.49 + + postcss-load-config@4.0.2(postcss@8.4.49): + dependencies: + lilconfig: 3.1.3 + yaml: 2.6.1 + optionalDependencies: + postcss: 8.4.49 + + postcss-nested@6.2.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.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.49: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.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 + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.0.4: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@4.1.0: {} + + source-map-js@1.2.1: {} + + 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 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + 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-preserve-symlinks-flag@1.0.0: {} + + tailwindcss@3.4.17: + 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.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.10 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + ts-interface-checker@0.1.13: {} + + util-deprecate@1.0.2: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + 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 + + yaml@2.6.1: {} diff --git a/web/package.json b/web/package.json index 874f81d498..2cfc32aa5c 100644 --- a/web/package.json +++ b/web/package.json @@ -23,6 +23,7 @@ "@mdi/js": "^7.4.47", "@vueuse/core": "^12.0.0", "ansi_up": "^6.0.2", + "autoprefixer": "^10.4.20", "dompurify": "^3.2.0", "fuse.js": "^7.0.0", "js-base64": "^3.7.7", @@ -30,9 +31,11 @@ "marked": "^15.0.0", "node-emoji": "^2.1.3", "pinia": "^2.2.1", + "postcss": "^8.4.49", "prismjs": "^1.29.0", "semver": "^7.6.3", "simple-icons": "^13.5.0", + "tailwindcss": "^3.4.17", "vue": "^3.4.38", "vue-i18n": "^10.0.3", "vue-router": "^4.4.3" @@ -63,8 +66,7 @@ "vite-plugin-windicss": "^1.9.3", "vite-svg-loader": "^5.1.0", "vitest": "^2.0.5", - "vue-tsc": "^2.0.29", - "windicss": "^3.5.6" + "vue-tsc": "^2.0.29" }, "pnpm": { "overrides": { diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 3990300693..9e199d49e5 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -26,6 +26,9 @@ importers: ansi_up: specifier: ^6.0.2 version: 6.0.2 + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.4.49) dompurify: specifier: ^3.2.0 version: 3.2.2 @@ -47,6 +50,9 @@ importers: pinia: specifier: ^2.2.1 version: 2.2.8(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)) + postcss: + specifier: ^8.4.49 + version: 8.4.49 prismjs: specifier: ^1.29.0 version: 1.29.0 @@ -56,6 +62,9 @@ importers: simple-icons: specifier: ^13.5.0 version: 13.19.0 + tailwindcss: + specifier: ^3.4.17 + version: 3.4.17 vue: specifier: ^3.4.38 version: 3.5.13(typescript@5.6.3) @@ -144,12 +153,13 @@ importers: vue-tsc: specifier: ^2.0.29 version: 2.1.10(typescript@5.6.3) - windicss: - specifier: ^3.5.6 - version: 3.5.6 packages: + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -543,8 +553,8 @@ packages: resolution: {integrity: sha512-6GT1BJ852gZ0gItNZN2krX5QAmea+cmdjMvsWohArAZ3GmHdnNANEcF9JjPXAMRtQ6Ux5E269ymamg/+WU6tQA==} engines: {node: '>= 16'} - '@intlify/message-compiler@11.0.0-beta.2': - resolution: {integrity: sha512-/cJHP1n45Zlf9tbm/hudLrUwXzJZngR9OMTQk32H1S4lBjM2996wzKTHuLbaJJlJZNTTjnfWZUHPb+F6sE6p1Q==} + '@intlify/message-compiler@11.0.0-rc.1': + resolution: {integrity: sha512-TGw2uBfuTFTegZf/BHtUQBEKxl7Q/dVGLoqRIdw8lFsp9g/53sYn5iD+0HxIzdYjbWL6BTJMXCPUHp9PxDTRPw==} engines: {node: '>= 16'} '@intlify/message-compiler@9.14.2': @@ -555,8 +565,8 @@ packages: resolution: {integrity: sha512-bmsP4L2HqBF6i6uaMqJMcFBONVjKt+siGluRq4Ca4C0q7W2eMaVZr8iCgF9dKbcVXutftkC7D6z2SaSMmLiDyA==} engines: {node: '>= 16'} - '@intlify/shared@11.0.0-beta.2': - resolution: {integrity: sha512-N6ngJfFaVA0l2iLtx/SymgHOBW4wiS5Pyue7YmY/G+mrGjesi+S+U+u/Xlv6pZa/YIBfeM4QB07lI7rz1YqKLg==} + '@intlify/shared@11.0.0-rc.1': + resolution: {integrity: sha512-8tR1xe7ZEbkabTuE/tNhzpolygUn9OaYp9yuYAF4MgDNZg06C3Qny80bes2/e9/Wm3aVkPUlCw6WgU7mQd0yEg==} engines: {node: '>= 16'} '@intlify/shared@9.14.2': @@ -1032,10 +1042,20 @@ packages: ansi_up@6.0.2: resolution: {integrity: sha512-3G3vKvl1ilEp7J1u6BmULpMA0xVoW/f4Ekqhl8RTrJrhEBkonKn5k3bUc5Xt+qDayA6iDX0jyUh3AbZjB/l0tw==} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1051,6 +1071,13 @@ packages: engines: {node: '>= 4.5.0'} hasBin: true + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + babel-plugin-prismjs@2.1.0: resolution: {integrity: sha512-ehzSKYfeAz4U78zi/sfwsjDPlq0LvDKxNefcZTJ/iKBu+plsHsLqZhUeGf1+82LAcA35UZGbU6ksEx2Utphc/g==} peerDependencies: @@ -1059,6 +1086,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -1089,6 +1120,10 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + caniuse-lite@1.0.30001684: resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==} @@ -1114,6 +1149,10 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + ci-info@4.1.0: resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} engines: {node: '>=8'} @@ -1141,6 +1180,10 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -1254,6 +1297,12 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -1600,6 +1649,9 @@ packages: resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1728,6 +1780,10 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} @@ -1840,6 +1896,10 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -2054,6 +2114,9 @@ packages: muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2081,12 +2144,28 @@ packages: normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} nwsapi@2.2.16: resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==} + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -2179,6 +2258,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + pinia@2.2.8: resolution: {integrity: sha512-NRTYy2g+kju5tBRe0oNlriZIbMNvma8ZJrpHsp3qudyiMEA8jMmPPKQ2QMHg0Oc4BkUyQYWagACabrwriCK9HQ==} peerDependencies: @@ -2191,6 +2274,10 @@ packages: typescript: optional: true + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + pkg-types@1.2.1: resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} @@ -2198,6 +2285,36 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + 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==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + postcss-safe-parser@6.0.0: resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} @@ -2218,6 +2335,9 @@ packages: resolution: {integrity: sha512-8I7Cd8sxiEITIp32xBK4K/Aj1ukX6vuWnx8oY/oAH35NfQI4OZaY5nd68Yx8HeN5S49uhQ6DL0rNk0ZBu/TaLg==} engines: {node: ^8.10.0 || ^10.13.0 || ^11.10.1 || >=12.13.0} + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss@8.4.49: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} @@ -2245,6 +2365,9 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -2253,6 +2376,10 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + refa@0.12.1: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -2418,6 +2545,11 @@ packages: resolution: {integrity: sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ==} hasBin: true + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -2442,10 +2574,22 @@ packages: resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -2496,6 +2640,9 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -2802,6 +2949,8 @@ packages: snapshots: + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -3143,8 +3292,8 @@ snapshots: '@intlify/bundle-utils@10.0.0(vue-i18n@10.0.5(vue@3.5.13(typescript@5.6.3)))': dependencies: - '@intlify/message-compiler': 11.0.0-beta.2 - '@intlify/shared': 11.0.0-beta.2 + '@intlify/message-compiler': 11.0.0-rc.1 + '@intlify/shared': 11.0.0-rc.1 acorn: 8.14.0 escodegen: 2.1.0 estree-walker: 2.0.2 @@ -3195,9 +3344,9 @@ snapshots: '@intlify/shared': 10.0.5 source-map-js: 1.2.1 - '@intlify/message-compiler@11.0.0-beta.2': + '@intlify/message-compiler@11.0.0-rc.1': dependencies: - '@intlify/shared': 11.0.0-beta.2 + '@intlify/shared': 11.0.0-rc.1 source-map-js: 1.2.1 '@intlify/message-compiler@9.14.2': @@ -3207,7 +3356,7 @@ snapshots: '@intlify/shared@10.0.5': {} - '@intlify/shared@11.0.0-beta.2': {} + '@intlify/shared@11.0.0-rc.1': {} '@intlify/shared@9.14.2': {} @@ -3718,8 +3867,17 @@ snapshots: ansi_up@6.0.2: {} + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + are-docs-informative@0.0.2: {} + arg@5.0.2: {} + argparse@2.0.1: {} assertion-error@2.0.1: {} @@ -3728,12 +3886,24 @@ snapshots: atob@2.1.2: {} + autoprefixer@10.4.20(postcss@8.4.49): + dependencies: + browserslist: 4.24.2 + caniuse-lite: 1.0.30001684 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + babel-plugin-prismjs@2.1.0(prismjs@1.29.0): dependencies: prismjs: 1.29.0 balanced-match@1.0.2: {} + binary-extensions@2.3.0: {} + boolbase@1.0.0: {} brace-expansion@1.1.11: @@ -3762,6 +3932,8 @@ snapshots: callsites@3.1.0: {} + camelcase-css@2.0.1: {} + caniuse-lite@1.0.30001684: {} ccount@2.0.1: {} @@ -3785,6 +3957,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 + ci-info@4.1.0: {} clean-regexp@1.0.0: @@ -3809,6 +3993,8 @@ snapshots: commander@10.0.1: {} + commander@4.1.1: {} + commander@7.2.0: {} comment-parser@1.4.1: {} @@ -3907,6 +4093,10 @@ snapshots: dependencies: dequal: 2.0.3 + didyoumean@1.2.2: {} + + dlv@1.1.3: {} + doctrine@3.0.0: dependencies: esutils: 2.0.3 @@ -4377,6 +4567,8 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 + fraction.js@4.3.7: {} + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -4490,6 +4682,10 @@ snapshots: is-arrayish@0.2.1: {} + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 @@ -4604,6 +4800,8 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lilconfig@3.1.3: {} + lines-and-columns@1.2.4: {} local-pkg@0.5.1: @@ -4980,6 +5178,12 @@ snapshots: muggle-string@0.4.1: {} + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nanoid@3.3.8: {} natural-compare@1.4.0: {} @@ -5006,12 +5210,20 @@ snapshots: semver: 7.6.3 validate-npm-package-license: 3.0.4 + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + nth-check@2.1.1: dependencies: boolbase: 1.0.0 nwsapi@2.2.16: {} + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -5094,6 +5306,8 @@ snapshots: picomatch@4.0.2: {} + pify@2.3.0: {} + pinia@2.2.8(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 @@ -5102,6 +5316,8 @@ snapshots: optionalDependencies: typescript: 5.6.3 + pirates@4.0.6: {} + pkg-types@1.2.1: dependencies: confbox: 0.1.8 @@ -5110,6 +5326,30 @@ snapshots: pluralize@8.0.0: {} + postcss-import@15.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.49): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.49 + + postcss-load-config@4.0.2(postcss@8.4.49): + dependencies: + lilconfig: 3.1.3 + yaml: 2.6.1 + optionalDependencies: + postcss: 8.4.49 + + postcss-nested@6.2.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + postcss-safe-parser@6.0.0(postcss@8.4.49): dependencies: postcss: 8.4.49 @@ -5133,6 +5373,8 @@ snapshots: transitivePeerDependencies: - supports-color + postcss-value-parser@4.2.0: {} + postcss@8.4.49: dependencies: nanoid: 3.3.8 @@ -5151,6 +5393,10 @@ snapshots: queue-microtask@1.2.3: {} + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -5164,6 +5410,10 @@ snapshots: parse-json: 5.2.0 type-fest: 0.6.0 + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + refa@0.12.1: dependencies: '@eslint-community/regexpp': 4.12.1 @@ -5334,6 +5584,16 @@ snapshots: transitivePeerDependencies: - supports-color + 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@7.2.0: dependencies: has-flag: 4.0.0 @@ -5361,8 +5621,43 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.1 + tailwindcss@3.4.17: + 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: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tapable@2.2.1: {} + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + tinybench@2.9.0: {} tinycolor2@1.6.0: {} @@ -5401,6 +5696,8 @@ snapshots: dependencies: typescript: 5.6.3 + ts-interface-checker@0.1.13: {} + tslib@2.8.1: {} type-check@0.4.0: diff --git a/web/src/compositions/useTheme.ts b/web/src/compositions/useTheme.ts index 8476cb925a..6b4d0cdd99 100644 --- a/web/src/compositions/useTheme.ts +++ b/web/src/compositions/useTheme.ts @@ -14,7 +14,7 @@ function updateTheme() { document.documentElement.classList.remove('light'); document.documentElement.classList.add('dark'); document.documentElement.setAttribute('data-theme', 'dark'); - document.querySelector('meta[name=theme-color]')?.setAttribute('content', '#2A2E3A'); // internal-wp-secondary-600 (see windi.config.ts) + document.querySelector('meta[name=theme-color]')?.setAttribute('content', '#2A2E3A'); // internal-wp-secondary-600 (see tailwind.config.ts) } else { document.documentElement.classList.remove('dark'); document.documentElement.classList.add('light'); diff --git a/web/src/main.ts b/web/src/main.ts index ccb13dd8fb..547f4c70d8 100644 --- a/web/src/main.ts +++ b/web/src/main.ts @@ -1,4 +1,3 @@ -import 'windi.css'; import '~/compositions/useFavicon'; import '~/style.css'; diff --git a/web/windi.config.ts b/web/tailwind.config.ts similarity index 97% rename from web/windi.config.ts rename to web/tailwind.config.ts index 51fa05513e..f369a4388c 100644 --- a/web/windi.config.ts +++ b/web/tailwind.config.ts @@ -4,9 +4,9 @@ // @ts-nocheck import tinycolor from 'tinycolor2'; -import colors from 'windicss/colors'; -import { defineConfig } from 'windicss/helpers'; -import typography from 'windicss/plugin/typography'; +import colors from 'tailwindcss/colors'; +import type { Config } from 'tailwindcss'; +import typography from '@tailwindcss/typography'; const customColors = { 'wp-primary': { @@ -29,7 +29,8 @@ const customColors = { }; /* eslint-disable ts/no-unsafe-call */ -export default defineConfig({ +export default { + content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}'], darkMode: 'class', theme: { extend: { diff --git a/web/vite.config.ts b/web/vite.config.ts index 1b71b4bf95..de8384e5e9 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -5,7 +5,6 @@ import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'; import vue from '@vitejs/plugin-vue'; import type { Plugin } from 'vite'; import prismjs from 'vite-plugin-prismjs'; -import WindiCSS from 'vite-plugin-windicss'; import svgLoader from 'vite-svg-loader'; import { defineConfig } from 'vitest/config'; @@ -69,7 +68,6 @@ export default defineConfig({ }, }; })(), - WindiCSS(), svgLoader(), externalCSSPlugin(), woodpeckerInfoPlugin(), From 251b3bb778a400a3128bdcc7059b330d438eb359 Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 23 Dec 2024 17:44:03 +0100 Subject: [PATCH 02/28] missed files --- .cspell.json | 2 ++ docs/docs/92-development/03-ui.md | 6 +++--- web/tailwind.config.ts | 10 +++++----- web/tsconfig.json | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.cspell.json b/.cspell.json index a243cf3dc8..8774c09bea 100644 --- a/.cspell.json +++ b/.cspell.json @@ -209,6 +209,8 @@ "Warnf", "webhookd", "Weblate", + "windi", + "windicss", "woodpeckerci", "WORKDIR", "Wrapf", diff --git a/docs/docs/92-development/03-ui.md b/docs/docs/92-development/03-ui.md index 6a01584c2e..672d9d2e25 100644 --- a/docs/docs/92-development/03-ui.md +++ b/docs/docs/92-development/03-ui.md @@ -21,9 +21,9 @@ The following list contains some tools and frameworks used by the Woodpecker UI. - use `setup` and composition api - place (re-usable) components in `web/src/components/` - views should have a route in `web/src/router.ts` and are located in `web/src/views/` -- [Windicss](https://windicss.org/) (similar to Tailwind) - - use Windicss classes where possible - - if needed extend the Windicss config to use new classes +- [Tailwind CSS](https://tailwindcss.com/) + - use Tailwind classes where possible + - if needed extend the Tailwind config to use new classes - [Vite](https://vitejs.dev/) (similar to Webpack) - [Typescript](https://www.typescriptlang.org/) - avoid using `any` and `unknown` (the linter will prevent you from doing so anyways :wink:) diff --git a/web/tailwind.config.ts b/web/tailwind.config.ts index f369a4388c..bbf5de6a04 100644 --- a/web/tailwind.config.ts +++ b/web/tailwind.config.ts @@ -1,12 +1,12 @@ // cSpell:ignore Segoe Roboto Neue Noto nocheck -/* eslint-disable ts/no-unsafe-member-access, ts/no-unsafe-assignment, ts/no-unsafe-argument, ts/no-unsafe-return */ +/* eslint-disable ts/no-unsafe-return */ // eslint-disable-next-line ts/ban-ts-comment // @ts-nocheck -import tinycolor from 'tinycolor2'; -import colors from 'tailwindcss/colors'; -import type { Config } from 'tailwindcss'; import typography from '@tailwindcss/typography'; +import type { Config } from 'tailwindcss'; +import colors from 'tailwindcss/colors'; +import tinycolor from 'tinycolor2'; const customColors = { 'wp-primary': { @@ -233,4 +233,4 @@ export default { 'hover:bg-black hover:bg-opacity-10 dark:hover:bg-white dark:hover:bg-opacity-5 transition-colors duration-100', }, plugins: [typography()], -}); +} satisfies Config; diff --git a/web/tsconfig.json b/web/tsconfig.json index bb82ccac04..a658701cae 100644 --- a/web/tsconfig.json +++ b/web/tsconfig.json @@ -27,6 +27,6 @@ "noUnusedParameters": true, "noFallthroughCasesInSwitch": true }, - "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.json", "windi.config.ts", "vite.config.ts"], + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.json", "tailwind.config.ts", "vite.config.ts"], "exclude": ["node_modules", "**/__tests__/**/*", "**/dist/**/*"] } From 11db140b0a3dc82da1b73969977e6a7f3e206035 Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 23 Dec 2024 18:00:01 +0100 Subject: [PATCH 03/28] refactor custom hover class --- web/src/style.css | 18 ++++++++++++++---- web/tailwind.config.ts | 13 +++++++++---- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/web/src/style.css b/web/src/style.css index ab6d64be3b..3dc29a2206 100644 --- a/web/src/style.css +++ b/web/src/style.css @@ -105,7 +105,7 @@ body, } .vue-notification { - @apply rounded-md text-base border-l-6; + @apply border-l-6 rounded-md text-base; } .vue-notification .notification-title { @@ -131,7 +131,7 @@ body, *::-webkit-scrollbar-thumb { transition: background 0.2s ease-in-out; border: 3px solid transparent; - @apply bg-cool-gray-200 dark:bg-dark-200 rounded-full bg-clip-content; + @apply bg-clip-content bg-cool-gray-200 dark:bg-dark-200 rounded-full; } *::-webkit-scrollbar-thumb:hover { @@ -143,11 +143,21 @@ body, } .code-box { - @apply bg-wp-code-200 p-4 rounded-md text-wp-code-text-100 text-sm break-words; + @apply bg-wp-code-200 p-4 rounded-md text-sm text-wp-code-text-100 break-words; white-space: pre-wrap; } .code-box-inline, code:not(pre > code) { - @apply bg-wp-code-200 rounded-md text-wp-code-text-100 px-1 py-px; + @apply bg-wp-code-200 px-1 py-px rounded-md text-wp-code-text-100; +} + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components { + .hover-effect { + @apply hover:bg-black dark:hover:bg-white hover:bg-opacity-10 dark:hover:bg-opacity-5 transition-colors duration-100; + } } diff --git a/web/tailwind.config.ts b/web/tailwind.config.ts index bbf5de6a04..7cc89dc583 100644 --- a/web/tailwind.config.ts +++ b/web/tailwind.config.ts @@ -227,10 +227,15 @@ export default { 'sans-serif', ], }, - }, - shortcuts: { - 'hover-effect': - 'hover:bg-black hover:bg-opacity-10 dark:hover:bg-white dark:hover:bg-opacity-5 transition-colors duration-100', + fontFamily: { + sans: [ + 'system-ui', + '-apple-system', + 'Segoe UI', + 'Roboto', + // ...existing code... + ], + }, }, plugins: [typography()], } satisfies Config; From 96ac374a115144044eb862977cc650f91e96fe83 Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 23 Dec 2024 18:18:36 +0100 Subject: [PATCH 04/28] standalone tailwind.css --- web/src/main.ts | 1 + web/src/style.css | 10 ---------- web/src/tailwind.css | 9 +++++++++ 3 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 web/src/tailwind.css diff --git a/web/src/main.ts b/web/src/main.ts index 547f4c70d8..1d0a5aeef1 100644 --- a/web/src/main.ts +++ b/web/src/main.ts @@ -1,4 +1,5 @@ import '~/compositions/useFavicon'; +import '~/tailwind.css' import '~/style.css'; import { createPinia } from 'pinia'; diff --git a/web/src/style.css b/web/src/style.css index 3dc29a2206..31f13e7e40 100644 --- a/web/src/style.css +++ b/web/src/style.css @@ -151,13 +151,3 @@ body, code:not(pre > code) { @apply bg-wp-code-200 px-1 py-px rounded-md text-wp-code-text-100; } - -@tailwind base; -@tailwind components; -@tailwind utilities; - -@layer components { - .hover-effect { - @apply hover:bg-black dark:hover:bg-white hover:bg-opacity-10 dark:hover:bg-opacity-5 transition-colors duration-100; - } -} diff --git a/web/src/tailwind.css b/web/src/tailwind.css new file mode 100644 index 0000000000..d474a9dfb7 --- /dev/null +++ b/web/src/tailwind.css @@ -0,0 +1,9 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components { + .hover-effect { + @apply hover:bg-black dark:hover:bg-white hover:bg-opacity-10 dark:hover:bg-opacity-5 transition-colors duration-100; + } +} From 6e64b941f232d52d68b35342aeaa45a41cfb4873 Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 23 Dec 2024 18:27:35 +0100 Subject: [PATCH 05/28] use .js --- web/package.json | 1 + web/pnpm-lock.yaml | 120 +++++++++++++++++- ...{tailwind.config.ts => tailwind.config.js} | 9 +- 3 files changed, 121 insertions(+), 9 deletions(-) rename web/{tailwind.config.ts => tailwind.config.js} (97%) diff --git a/web/package.json b/web/package.json index 2cfc32aa5c..c18e822dfc 100644 --- a/web/package.json +++ b/web/package.json @@ -60,6 +60,7 @@ "jsdom": "^25.0.0", "prettier": "^3.3.3", "tinycolor2": "^1.6.0", + "ts-node": "^10.9.2", "typescript": "5.6.3", "vite": "^6.0.0", "vite-plugin-prismjs": "^0.0.11", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 9e199d49e5..aa12e0dcd3 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -64,7 +64,7 @@ importers: version: 13.19.0 tailwindcss: specifier: ^3.4.17 - version: 3.4.17 + version: 3.4.17(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.6.3)) vue: specifier: ^3.4.38 version: 3.5.13(typescript@5.6.3) @@ -132,6 +132,9 @@ importers: tinycolor2: specifier: ^1.6.0 version: 1.6.0 + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@22.10.1)(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -289,6 +292,10 @@ packages: '@clack/prompts@0.8.2': resolution: {integrity: sha512-6b9Ab2UiZwJYA9iMyboYyW9yJvAO9V753ZhS+DHKEjZRKAxPPOb7MXXu84lsPFG+vZt6FRFniZ8rXi+zCIw4yQ==} + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + '@es-joy/jsdoccomment@0.48.0': resolution: {integrity: sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==} engines: {node: '>=16'} @@ -626,6 +633,9 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@kyvg/vue3-notification@3.4.1': resolution: {integrity: sha512-WhTWCbF36JHLJR5UdKmJF7KXGOGVy4tLeaJuKTHZhwttZWnbF9w1/c2d32tvCSwY9CdeX/n9uoaKWLMKK3vOyg==} peerDependencies: @@ -770,6 +780,18 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -1008,6 +1030,10 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + acorn@8.14.0: resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} @@ -1053,6 +1079,9 @@ packages: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -1207,6 +1236,9 @@ packages: core-js-compat@3.39.0: resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1300,6 +1332,10 @@ packages: didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} @@ -1939,6 +1975,9 @@ packages: magic-string@0.30.14: resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -2643,6 +2682,20 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -2705,6 +2758,9 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -2940,6 +2996,10 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -3122,6 +3182,10 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + '@es-joy/jsdoccomment@0.48.0': dependencies: comment-parser: 1.4.1 @@ -3422,6 +3486,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + '@kyvg/vue3-notification@3.4.1(vue@3.5.13(typescript@5.6.3))': dependencies: vue: 3.5.13(typescript@5.6.3) @@ -3525,6 +3594,14 @@ snapshots: '@trysound/sax@0.2.0': {} + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 @@ -3838,6 +3915,10 @@ snapshots: dependencies: acorn: 8.14.0 + acorn-walk@8.3.4: + dependencies: + acorn: 8.14.0 + acorn@8.14.0: {} agent-base@7.1.1: @@ -3876,6 +3957,8 @@ snapshots: are-docs-informative@0.0.2: {} + arg@4.1.3: {} + arg@5.0.2: {} argparse@2.0.1: {} @@ -4014,6 +4097,8 @@ snapshots: dependencies: browserslist: 4.24.2 + create-require@1.1.1: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -4095,6 +4180,8 @@ snapshots: didyoumean@1.2.2: {} + diff@4.0.2: {} + dlv@1.1.3: {} doctrine@3.0.0: @@ -4837,6 +4924,8 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + make-error@1.3.6: {} + markdown-table@3.0.4: {} marked@15.0.3: {} @@ -5338,12 +5427,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.49 - postcss-load-config@4.0.2(postcss@8.4.49): + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.6.3)): dependencies: lilconfig: 3.1.3 yaml: 2.6.1 optionalDependencies: postcss: 8.4.49 + ts-node: 10.9.2(@types/node@22.10.1)(typescript@5.6.3) postcss-nested@6.2.0(postcss@8.4.49): dependencies: @@ -5621,7 +5711,7 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.1 - tailwindcss@3.4.17: + tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.6.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -5640,7 +5730,7 @@ snapshots: postcss: 8.4.49 postcss-import: 15.1.0(postcss@8.4.49) postcss-js: 4.0.1(postcss@8.4.49) - postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.6.3)) postcss-nested: 6.2.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -5698,6 +5788,24 @@ snapshots: ts-interface-checker@0.1.13: {} + ts-node@10.9.2(@types/node@22.10.1)(typescript@5.6.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.10.1 + acorn: 8.14.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.6.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + tslib@2.8.1: {} type-check@0.4.0: @@ -5754,6 +5862,8 @@ snapshots: util-deprecate@1.0.2: {} + v8-compile-cache-lib@3.0.1: {} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -5982,6 +6092,8 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yn@3.1.1: {} + yocto-queue@0.1.0: {} zwitch@2.0.4: {} diff --git a/web/tailwind.config.ts b/web/tailwind.config.js similarity index 97% rename from web/tailwind.config.ts rename to web/tailwind.config.js index 7cc89dc583..80c4fb4357 100644 --- a/web/tailwind.config.ts +++ b/web/tailwind.config.js @@ -1,10 +1,9 @@ // cSpell:ignore Segoe Roboto Neue Noto nocheck -/* eslint-disable ts/no-unsafe-return */ -// eslint-disable-next-line ts/ban-ts-comment + + // @ts-nocheck import typography from '@tailwindcss/typography'; -import type { Config } from 'tailwindcss'; import colors from 'tailwindcss/colors'; import tinycolor from 'tinycolor2'; @@ -28,7 +27,7 @@ const customColors = { }, }; -/* eslint-disable ts/no-unsafe-call */ + export default { content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}'], darkMode: 'class', @@ -238,4 +237,4 @@ export default { }, }, plugins: [typography()], -} satisfies Config; +}; From 200f08f1b9fa7b23a65ff4d7d3dc80beb3a2ef67 Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 23 Dec 2024 19:00:53 +0100 Subject: [PATCH 06/28] working build --- web/package.json | 3 + web/pnpm-lock.yaml | 620 +++++++++++++++++++++++++++++++---------- web/postcss.config.js | 7 + web/src/style.css | 8 +- web/src/tailwind.css | 2 +- web/tailwind.config.js | 40 ++- web/tsconfig.json | 2 +- web/vite.config.ts | 2 +- 8 files changed, 504 insertions(+), 180 deletions(-) create mode 100644 web/postcss.config.js diff --git a/web/package.json b/web/package.json index c18e822dfc..d4b679afa5 100644 --- a/web/package.json +++ b/web/package.json @@ -21,6 +21,9 @@ "@intlify/unplugin-vue-i18n": "^6.0.0", "@kyvg/vue3-notification": "^3.2.1", "@mdi/js": "^7.4.47", + "@tailwindcss/postcss": "4.0.0-beta.8", + "@tailwindcss/typography": "^0.5.15", + "@tailwindcss/vite": "4.0.0-beta.8", "@vueuse/core": "^12.0.0", "ansi_up": "^6.0.2", "autoprefixer": "^10.4.20", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index aa12e0dcd3..e98b0afb84 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -13,13 +13,22 @@ importers: dependencies: '@intlify/unplugin-vue-i18n': specifier: ^6.0.0 - version: 6.0.0(@vue/compiler-dom@3.5.13)(eslint@9.16.0(jiti@1.21.6))(rollup@4.28.0)(typescript@5.6.3)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)) + version: 6.0.0(@vue/compiler-dom@3.5.13)(eslint@9.16.0(jiti@2.4.2))(rollup@4.28.0)(typescript@5.6.3)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)) '@kyvg/vue3-notification': specifier: ^3.2.1 version: 3.4.1(vue@3.5.13(typescript@5.6.3)) '@mdi/js': specifier: ^7.4.47 version: 7.4.47 + '@tailwindcss/postcss': + specifier: 4.0.0-beta.8 + version: 4.0.0-beta.8 + '@tailwindcss/typography': + specifier: ^0.5.15 + version: 0.5.15(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.6.3))) + '@tailwindcss/vite': + specifier: 4.0.0-beta.8 + version: 4.0.0-beta.8(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1)) '@vueuse/core': specifier: ^12.0.0 version: 12.0.0(typescript@5.6.3) @@ -77,7 +86,7 @@ importers: devDependencies: '@antfu/eslint-config': specifier: ^3.3.2 - version: 3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3)(vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(jsdom@25.0.1)(stylus@0.57.0)(yaml@2.6.1)) + version: 3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)(vitest@2.1.6(@types/node@22.10.1)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1)) '@eslint/js': specifier: ^9.9.0 version: 9.16.0 @@ -86,7 +95,7 @@ importers: version: 4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.4.1) '@intlify/eslint-plugin-vue-i18n': specifier: 3.1.0 - version: 3.1.0(eslint@9.16.0(jiti@1.21.6)) + version: 3.1.0(eslint@9.16.0(jiti@2.4.2)) '@types/eslint__js': specifier: ^8.42.3 version: 8.42.3 @@ -107,7 +116,7 @@ importers: version: 1.4.6 '@vitejs/plugin-vue': specifier: ^5.1.2 - version: 5.2.1(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3)) '@vue/compiler-sfc': specifier: ^3.4.38 version: 3.5.13 @@ -116,13 +125,13 @@ importers: version: 2.4.6 eslint: specifier: ^9.9.0 - version: 9.16.0(jiti@1.21.6) + version: 9.16.0(jiti@2.4.2) eslint-plugin-promise: specifier: ^7.1.0 - version: 7.2.1(eslint@9.16.0(jiti@1.21.6)) + version: 7.2.1(eslint@9.16.0(jiti@2.4.2)) eslint-plugin-vue-scoped-css: specifier: ^2.8.1 - version: 2.9.0(eslint@9.16.0(jiti@1.21.6))(vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@1.21.6))) + version: 2.9.0(eslint@9.16.0(jiti@2.4.2))(vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@2.4.2))) jsdom: specifier: ^25.0.0 version: 25.0.1 @@ -140,19 +149,19 @@ importers: version: 5.6.3 vite: specifier: ^6.0.0 - version: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1) + version: 6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) vite-plugin-prismjs: specifier: ^0.0.11 version: 0.0.11(prismjs@1.29.0) vite-plugin-windicss: specifier: ^1.9.3 - version: 1.9.4(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1)) + version: 1.9.4(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1)) vite-svg-loader: specifier: ^5.1.0 version: 5.1.0(vue@3.5.13(typescript@5.6.3)) vitest: specifier: ^2.0.5 - version: 2.1.6(@types/node@22.10.1)(jiti@1.21.6)(jsdom@25.0.1)(stylus@0.57.0)(yaml@2.6.1) + version: 2.1.6(@types/node@22.10.1)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) vue-tsc: specifier: ^2.0.29 version: 2.1.10(typescript@5.6.3) @@ -776,6 +785,92 @@ packages: peerDependencies: eslint: '>=8.40.0' + '@tailwindcss/node@4.0.0-beta.8': + resolution: {integrity: sha512-ZbicJgFxo83IIH5eBm7CU3K1olsfud7/zg3+yG7P6+fZiufhh8FllM5QOJVxUEJ5zeB1V94Y+hTq5UOfu8ZloA==} + + '@tailwindcss/oxide-android-arm64@4.0.0-beta.8': + resolution: {integrity: sha512-YY4g6INIl8VfDMig12pleAVRf1JPvYCNgIXfcvm9g9lxIGq2zkGPsp81BpMSTS+pGJmTGhOZq8ab/TOprtNkAQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.0.0-beta.8': + resolution: {integrity: sha512-XUCjDaecPOt+mL7EngO6Yhj/ybNgxg9wi2oFuBECz3fj/VV9WQ8MwMDIdjEwrIm43BtwTvEugLIRO9I4KBbuuA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.0.0-beta.8': + resolution: {integrity: sha512-iMBDpcRBJPt30iohlqJ+slpV+YoR7vL609Zsvzl432lEt6UWEwtKpvPXNuMUEVi7jjLLyyQ/tgM62alVzG1Hug==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.0.0-beta.8': + resolution: {integrity: sha512-iZY+svFyJHllFSaBOfASzOaSU6TLEx8sX+pZwpDExsDHG61o1xh69QJRAL4TJVW288y9kfNsrvcv4yRyn5fwfw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.0-beta.8': + resolution: {integrity: sha512-IqEJggh5x+WgJYz2pG5r5+sOTU1D7Tb/92bQdQGYU618b9hgLhigLIBlbLEuZIC89aTK+aDYvgeqTbKX8X2iuA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.0-beta.8': + resolution: {integrity: sha512-WieWtmho/wdI3gowTyJWtvqn921BtVDwzaKKFjPACZmX4a7UM0T4t4xDINc8M84lSzCzFBpk2wVykSIyqCXJZA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.0.0-beta.8': + resolution: {integrity: sha512-P+apWSDGGgCGbTHfyNxUe4+n3lIH6kV+7Y4QGCkBUx5o3L2RzZ2I2/kQNA5z60Moac0tUqX9mKF8AyCmGpBFCg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.0.0-beta.8': + resolution: {integrity: sha512-6Xj+lHcW0WrsrtRtiHbBFFoJYfHDhscNKumYFyv6THFP9AMwrB/9jp3xPfx9q7Pp3OJf3l0VP8KhdI5MPEMBpw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.0.0-beta.8': + resolution: {integrity: sha512-RWeMlHrcS0Rj3tFhbwxkhnsLmsw8E6g0nHjDawNY0lTYi6PP5RZF7ghgzUbzMkjw6QcBJthycpXYXUCKPIZlpA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.0-beta.8': + resolution: {integrity: sha512-+FQFS2XjsHGlh+U/paIcUULLfkSmcBp9QzXkTu8UsEH6Ygp7L8RmMZshAr5dQDjXFKBvKHKJX4oIg/SP+VThgA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.0.0-beta.8': + resolution: {integrity: sha512-5cuAwlDMlnUgzGdZjr+U3ILGbRh9JGmlALgSKo/92qm02NAjNjSSQ4vvh/hMv+mRk5RQDE5lXwDK5/+fGejOBg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.0.0-beta.8': + resolution: {integrity: sha512-fpZkAwKDFuRNbxQZrXViij2D38R6qqgAnctBR9NPyHxZqYDjn3uyk75alrDnSGj4wUCTAhOCEX4HCI9xCgKGdA==} + engines: {node: '>= 10'} + + '@tailwindcss/postcss@4.0.0-beta.8': + resolution: {integrity: sha512-fdxUB9iRm4QocxXiAX/6NlU/VQG/IU1NlDMSGcwvR91/lZNVmWElialB4AVzdsZXIpv5xgrbmz9bb4nvPrT2Ug==} + + '@tailwindcss/typography@0.5.15': + resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20' + + '@tailwindcss/vite@4.0.0-beta.8': + resolution: {integrity: sha512-ZNlj0fdeH4/uWXafrXklZY+TgmN7wOHWHHBL4i3xzD4BflcCDZJkgJER/8baJCpagMzwWDnA6CyXDX+2q7lMRQ==} + peerDependencies: + vite: ^5.2.0 || ^6 + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -1326,6 +1421,11 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -1860,6 +1960,10 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + js-base64@3.7.7: resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} @@ -1932,6 +2036,70 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lightningcss-darwin-arm64@1.28.2: + resolution: {integrity: sha512-/8cPSqZiusHSS+WQz0W4NuaqFjquys1x+NsdN/XOHb+idGHJSoJ7SoQTVl3DZuAgtPZwFZgRfb/vd1oi8uX6+g==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.28.2: + resolution: {integrity: sha512-R7sFrXlgKjvoEG8umpVt/yutjxOL0z8KWf0bfPT3cYMOW4470xu5qSHpFdIOpRWwl3FKNMUdbKtMUjYt0h2j4g==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.28.2: + resolution: {integrity: sha512-l2qrCT+x7crAY+lMIxtgvV10R8VurzHAoUZJaVFSlHrN8kRLTvEg9ObojIDIexqWJQvJcVVV3vfzsEynpiuvgA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.28.2: + resolution: {integrity: sha512-DKMzpICBEKnL53X14rF7hFDu8KKALUJtcKdFUCW5YOlGSiwRSgVoRjM97wUm/E0NMPkzrTi/rxfvt7ruNK8meg==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.28.2: + resolution: {integrity: sha512-nhfjYkfymWZSxdtTNMWyhFk2ImUm0X7NAgJWFwnsYPOfmtWQEapzG/DXZTfEfMjSzERNUNJoQjPAbdqgB+sjiw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.28.2: + resolution: {integrity: sha512-1SPG1ZTNnphWvAv8RVOymlZ8BDtAg69Hbo7n4QxARvkFVCJAt0cgjAw1Fox0WEhf4PwnyoOBaVH0Z5YNgzt4dA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.28.2: + resolution: {integrity: sha512-ZhQy0FcO//INWUdo/iEdbefntTdpPVQ0XJwwtdbBuMQe+uxqZoytm9M+iqR9O5noWFaxK+nbS2iR/I80Q2Ofpg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.28.2: + resolution: {integrity: sha512-alb/j1NMrgQmSFyzTbN1/pvMPM+gdDw7YBuQ5VSgcFDypN3Ah0BzC2dTZbzwzaMdUVDszX6zH5MzjfVN1oGuww==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.28.2: + resolution: {integrity: sha512-WnwcjcBeAt0jGdjlgbT9ANf30pF0C/QMb1XnLnH272DQU8QXh+kmpi24R55wmWBwaTtNAETZ+m35ohyeMiNt+g==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.28.2: + resolution: {integrity: sha512-3piBifyT3avz22o6mDKywQC/OisH2yDK+caHWkiMsF82i3m5wDBadyCjlCQ5VNgzYkxrWZgiaxHDdd5uxsi0/A==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.28.2: + resolution: {integrity: sha512-ePLRrbt3fgjXI5VFZOLbvkLD5ZRuxGKm+wJ3ujCqBtL3NanDHPo/5zicR5uEKAPiIjBYF99BM4K4okvMznjkVA==} + engines: {node: '>= 12.0.0'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -1951,6 +2119,12 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -2366,6 +2540,10 @@ packages: peerDependencies: postcss: ^8.4.29 + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} @@ -2618,6 +2796,9 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + tailwindcss@4.0.0-beta.8: + resolution: {integrity: sha512-21HmdRq9tHDLJZavb2cRBGJxBvRODpwb0/t3tRbMOl65hJE6zG6K6lD6lLS3IOC35u4SOjKjdZiJJi9AuWCf+Q==} + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -3016,42 +3197,42 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3)(vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(jsdom@25.0.1)(stylus@0.57.0)(yaml@2.6.1))': + '@antfu/eslint-config@3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)(vitest@2.1.6(@types/node@22.10.1)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1))': dependencies: '@antfu/install-pkg': 0.5.0 '@clack/prompts': 0.8.2 - '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.16.0(jiti@2.4.2)) '@eslint/markdown': 6.2.1 - '@stylistic/eslint-plugin': 2.11.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) - '@vitest/eslint-plugin': 1.1.13(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3)(vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(jsdom@25.0.1)(stylus@0.57.0)(yaml@2.6.1)) - eslint: 9.16.0(jiti@1.21.6) - eslint-config-flat-gitignore: 0.3.0(eslint@9.16.0(jiti@1.21.6)) + '@stylistic/eslint-plugin': 2.11.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) + '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) + '@vitest/eslint-plugin': 1.1.13(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)(vitest@2.1.6(@types/node@22.10.1)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1)) + eslint: 9.16.0(jiti@2.4.2) + eslint-config-flat-gitignore: 0.3.0(eslint@9.16.0(jiti@2.4.2)) eslint-flat-config-utils: 0.4.0 - eslint-merge-processors: 0.1.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-antfu: 2.7.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-command: 0.2.6(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-import-x: 4.4.3(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) - eslint-plugin-jsdoc: 50.6.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-jsonc: 2.18.2(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-n: 17.14.0(eslint@9.16.0(jiti@1.21.6)) + eslint-merge-processors: 0.1.0(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-antfu: 2.7.0(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-command: 0.2.6(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-import-x: 4.4.3(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) + eslint-plugin-jsdoc: 50.6.0(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-jsonc: 2.18.2(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-n: 17.14.0(eslint@9.16.0(jiti@2.4.2)) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 4.1.2(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) - eslint-plugin-regexp: 2.7.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-toml: 0.11.1(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-unicorn: 56.0.1(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-vue: 9.32.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-yml: 1.16.0(eslint@9.16.0(jiti@1.21.6)) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-perfectionist: 4.1.2(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) + eslint-plugin-regexp: 2.7.0(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-toml: 0.11.1(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-unicorn: 56.0.1(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-vue: 9.32.0(eslint@9.16.0(jiti@2.4.2)) + eslint-plugin-yml: 1.16.0(eslint@9.16.0(jiti@2.4.2)) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@2.4.2)) globals: 15.13.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.1 parse-gitignore: 2.0.0 picocolors: 1.1.1 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@2.4.2)) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 transitivePeerDependencies: @@ -3270,22 +3451,22 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.16.0(jiti@1.21.6))': + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.16.0(jiti@2.4.2))': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) ignore: 5.3.2 - '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0(jiti@1.21.6))': + '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0(jiti@2.4.2))': dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.3(eslint@9.16.0(jiti@1.21.6))': + '@eslint/compat@1.2.3(eslint@9.16.0(jiti@2.4.2))': optionalDependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) '@eslint/config-array@0.19.0': dependencies: @@ -3378,14 +3559,14 @@ snapshots: '@intlify/message-compiler': 9.14.2 '@intlify/shared': 9.14.2 - '@intlify/eslint-plugin-vue-i18n@3.1.0(eslint@9.16.0(jiti@1.21.6))': + '@intlify/eslint-plugin-vue-i18n@3.1.0(eslint@9.16.0(jiti@2.4.2))': dependencies: '@eslint/eslintrc': 3.2.0 '@intlify/core-base': 9.14.2 '@intlify/message-compiler': 9.14.2 debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@2.4.2)) glob: 10.4.5 globals: 15.13.0 ignore: 6.0.2 @@ -3398,7 +3579,7 @@ snapshots: parse5: 7.2.1 semver: 7.6.3 synckit: 0.9.2 - vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@2.4.2)) yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color @@ -3424,9 +3605,9 @@ snapshots: '@intlify/shared@9.14.2': {} - '@intlify/unplugin-vue-i18n@6.0.0(@vue/compiler-dom@3.5.13)(eslint@9.16.0(jiti@1.21.6))(rollup@4.28.0)(typescript@5.6.3)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3))': + '@intlify/unplugin-vue-i18n@6.0.0(@vue/compiler-dom@3.5.13)(eslint@9.16.0(jiti@2.4.2))(rollup@4.28.0)(typescript@5.6.3)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3))': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) '@intlify/bundle-utils': 10.0.0(vue-i18n@10.0.5(vue@3.5.13(typescript@5.6.3))) '@intlify/shared': 10.0.5 '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.5)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)) @@ -3580,10 +3761,10 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3)': + '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) - eslint: 9.16.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) + eslint: 9.16.0(jiti@2.4.2) eslint-visitor-keys: 4.2.0 espree: 10.3.0 estraverse: 5.3.0 @@ -3592,6 +3773,84 @@ snapshots: - supports-color - typescript + '@tailwindcss/node@4.0.0-beta.8': + dependencies: + enhanced-resolve: 5.17.1 + jiti: 2.4.2 + tailwindcss: 4.0.0-beta.8 + + '@tailwindcss/oxide-android-arm64@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.0.0-beta.8': + optional: true + + '@tailwindcss/oxide@4.0.0-beta.8': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.0.0-beta.8 + '@tailwindcss/oxide-darwin-arm64': 4.0.0-beta.8 + '@tailwindcss/oxide-darwin-x64': 4.0.0-beta.8 + '@tailwindcss/oxide-freebsd-x64': 4.0.0-beta.8 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.0-beta.8 + '@tailwindcss/oxide-linux-arm64-gnu': 4.0.0-beta.8 + '@tailwindcss/oxide-linux-arm64-musl': 4.0.0-beta.8 + '@tailwindcss/oxide-linux-x64-gnu': 4.0.0-beta.8 + '@tailwindcss/oxide-linux-x64-musl': 4.0.0-beta.8 + '@tailwindcss/oxide-win32-arm64-msvc': 4.0.0-beta.8 + '@tailwindcss/oxide-win32-x64-msvc': 4.0.0-beta.8 + + '@tailwindcss/postcss@4.0.0-beta.8': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.0.0-beta.8 + '@tailwindcss/oxide': 4.0.0-beta.8 + lightningcss: 1.28.2 + postcss: 8.4.49 + tailwindcss: 4.0.0-beta.8 + + '@tailwindcss/typography@0.5.15(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.6.3)))': + 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.17(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.6.3)) + + '@tailwindcss/vite@4.0.0-beta.8(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1))': + dependencies: + '@tailwindcss/node': 4.0.0-beta.8 + '@tailwindcss/oxide': 4.0.0-beta.8 + lightningcss: 1.28.2 + tailwindcss: 4.0.0-beta.8 + vite: 6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) + '@trysound/sax@0.2.0': {} '@tsconfig/node10@1.0.11': {} @@ -3646,15 +3905,15 @@ snapshots: '@types/web-bluetooth@0.0.20': {} - '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/type-utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/type-utils': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.16.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -3664,14 +3923,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 8.16.0 '@typescript-eslint/types': 8.16.0 '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.16.0 debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -3682,12 +3941,12 @@ snapshots: '@typescript-eslint/types': 8.16.0 '@typescript-eslint/visitor-keys': 8.16.0 - '@typescript-eslint/type-utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/type-utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)': dependencies: '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) ts-api-utils: 1.4.3(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 @@ -3711,13 +3970,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.16.0 '@typescript-eslint/types': 8.16.0 '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.6.3) - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -3728,18 +3987,18 @@ snapshots: '@typescript-eslint/types': 8.16.0 eslint-visitor-keys: 4.2.0 - '@vitejs/plugin-vue@5.2.1(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue@5.2.1(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3))': dependencies: - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1) + vite: 6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) vue: 3.5.13(typescript@5.6.3) - '@vitest/eslint-plugin@1.1.13(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3)(vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(jsdom@25.0.1)(stylus@0.57.0)(yaml@2.6.1))': + '@vitest/eslint-plugin@1.1.13(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)(vitest@2.1.6(@types/node@22.10.1)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1))': dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) - eslint: 9.16.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) + eslint: 9.16.0(jiti@2.4.2) optionalDependencies: typescript: 5.6.3 - vitest: 2.1.6(@types/node@22.10.1)(jiti@1.21.6)(jsdom@25.0.1)(stylus@0.57.0)(yaml@2.6.1) + vitest: 2.1.6(@types/node@22.10.1)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) '@vitest/expect@2.1.6': dependencies: @@ -3748,13 +4007,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.6(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1))': + '@vitest/mocker@2.1.6(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1))': dependencies: '@vitest/spy': 2.1.6 estree-walker: 3.0.3 magic-string: 0.30.14 optionalDependencies: - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1) + vite: 6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) '@vitest/pretty-format@2.1.6': dependencies: @@ -4174,6 +4433,8 @@ snapshots: dequal@2.0.3: {} + detect-libc@1.0.3: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -4283,20 +4544,20 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.16.0(jiti@1.21.6)): + eslint-compat-utils@0.5.1(eslint@9.16.0(jiti@2.4.2)): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) semver: 7.6.3 - eslint-compat-utils@0.6.4(eslint@9.16.0(jiti@1.21.6)): + eslint-compat-utils@0.6.4(eslint@9.16.0(jiti@2.4.2)): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) semver: 7.6.3 - eslint-config-flat-gitignore@0.3.0(eslint@9.16.0(jiti@1.21.6)): + eslint-config-flat-gitignore@0.3.0(eslint@9.16.0(jiti@2.4.2)): dependencies: - '@eslint/compat': 1.2.3(eslint@9.16.0(jiti@1.21.6)) - eslint: 9.16.0(jiti@1.21.6) + '@eslint/compat': 1.2.3(eslint@9.16.0(jiti@2.4.2)) + eslint: 9.16.0(jiti@2.4.2) find-up-simple: 1.0.0 eslint-flat-config-utils@0.4.0: @@ -4311,39 +4572,39 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-json-compat-utils@0.2.1(eslint@9.16.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0): + eslint-json-compat-utils@0.2.1(eslint@9.16.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) esquery: 1.6.0 jsonc-eslint-parser: 2.4.0 - eslint-merge-processors@0.1.0(eslint@9.16.0(jiti@1.21.6)): + eslint-merge-processors@0.1.0(eslint@9.16.0(jiti@2.4.2)): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) - eslint-plugin-antfu@2.7.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-antfu@2.7.0(eslint@9.16.0(jiti@2.4.2)): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) - eslint-plugin-command@0.2.6(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-command@0.2.6(eslint@9.16.0(jiti@2.4.2)): dependencies: '@es-joy/jsdoccomment': 0.48.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) - eslint-plugin-es-x@7.8.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-es-x@7.8.0(eslint@9.16.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@2.4.2)) - eslint-plugin-import-x@4.4.3(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3): + eslint-plugin-import-x@4.4.3(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3): dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.1 is-glob: 4.0.3 @@ -4355,14 +4616,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.6.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-jsdoc@50.6.0(eslint@9.16.0(jiti@2.4.2)): dependencies: '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) espree: 10.3.0 esquery: 1.6.0 parse-imports: 2.2.1 @@ -4372,12 +4633,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.18.2(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-jsonc@2.18.2(eslint@9.16.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@1.21.6)) - eslint-json-compat-utils: 0.2.1(eslint@9.16.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) + eslint: 9.16.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@2.4.2)) + eslint-json-compat-utils: 0.2.1(eslint@9.16.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 @@ -4386,12 +4647,12 @@ snapshots: transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.14.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-n@17.14.0(eslint@9.16.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) enhanced-resolve: 5.17.1 - eslint: 9.16.0(jiti@1.21.6) - eslint-plugin-es-x: 7.8.0(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.4.2) + eslint-plugin-es-x: 7.8.0(eslint@9.16.0(jiti@2.4.2)) get-tsconfig: 4.8.1 globals: 15.13.0 ignore: 5.3.2 @@ -4400,50 +4661,50 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@4.1.2(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3): + eslint-plugin-perfectionist@4.1.2(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3): dependencies: '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) - eslint: 9.16.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) + eslint: 9.16.0(jiti@2.4.2) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-promise@7.2.1(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-promise@7.2.1(eslint@9.16.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) - eslint: 9.16.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) + eslint: 9.16.0(jiti@2.4.2) - eslint-plugin-regexp@2.7.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-regexp@2.7.0(eslint@9.16.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.11.1(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-toml@0.11.1(eslint@9.16.0(jiti@2.4.2)): dependencies: debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@2.4.2)) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@56.0.1(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-unicorn@56.0.1(eslint@9.16.0(jiti@2.4.2)): dependencies: '@babel/helper-validator-identifier': 7.25.9 - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) ci-info: 4.1.0 clean-regexp: 1.0.0 core-js-compat: 3.39.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) esquery: 1.6.0 globals: 15.13.0 indent-string: 4.0.0 @@ -4456,56 +4717,56 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2)): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.16.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) - eslint-plugin-vue-scoped-css@2.9.0(eslint@9.16.0(jiti@1.21.6))(vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@1.21.6))): + eslint-plugin-vue-scoped-css@2.9.0(eslint@9.16.0(jiti@2.4.2))(vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@2.4.2))): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) + eslint: 9.16.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@2.4.2)) lodash: 4.17.21 postcss: 8.4.49 postcss-safe-parser: 6.0.0(postcss@8.4.49) postcss-scss: 4.0.9(postcss@8.4.49) postcss-selector-parser: 6.1.2 postcss-styl: 0.12.3 - vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.32.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-vue@9.32.0(eslint@9.16.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) - eslint: 9.16.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) + eslint: 9.16.0(jiti@2.4.2) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@2.4.2)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.16.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-yml@1.16.0(eslint@9.16.0(jiti@2.4.2)): dependencies: debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@2.4.2)) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6)): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@2.4.2)): dependencies: '@vue/compiler-sfc': 3.5.13 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) eslint-scope@7.2.2: dependencies: @@ -4521,9 +4782,9 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.16.0(jiti@1.21.6): + eslint@9.16.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.0 '@eslint/core': 0.9.0 @@ -4558,7 +4819,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 1.21.6 + jiti: 2.4.2 transitivePeerDependencies: - supports-color @@ -4807,6 +5068,8 @@ snapshots: jiti@1.21.6: {} + jiti@2.4.2: {} + js-base64@3.7.7: {} js-beautify@1.15.1: @@ -4887,6 +5150,51 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightningcss-darwin-arm64@1.28.2: + optional: true + + lightningcss-darwin-x64@1.28.2: + optional: true + + lightningcss-freebsd-x64@1.28.2: + optional: true + + lightningcss-linux-arm-gnueabihf@1.28.2: + optional: true + + lightningcss-linux-arm64-gnu@1.28.2: + optional: true + + lightningcss-linux-arm64-musl@1.28.2: + optional: true + + lightningcss-linux-x64-gnu@1.28.2: + optional: true + + lightningcss-linux-x64-musl@1.28.2: + optional: true + + lightningcss-win32-arm64-msvc@1.28.2: + optional: true + + lightningcss-win32-x64-msvc@1.28.2: + optional: true + + lightningcss@1.28.2: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.28.2 + lightningcss-darwin-x64: 1.28.2 + lightningcss-freebsd-x64: 1.28.2 + lightningcss-linux-arm-gnueabihf: 1.28.2 + lightningcss-linux-arm64-gnu: 1.28.2 + lightningcss-linux-arm64-musl: 1.28.2 + lightningcss-linux-x64-gnu: 1.28.2 + lightningcss-linux-x64-musl: 1.28.2 + lightningcss-win32-arm64-msvc: 1.28.2 + lightningcss-win32-x64-msvc: 1.28.2 + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -4904,6 +5212,10 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.castarray@4.4.0: {} + + lodash.isplainobject@4.0.6: {} + lodash.merge@4.6.2: {} lodash.sortedlastindex@4.1.0: {} @@ -5448,6 +5760,11 @@ snapshots: dependencies: postcss: 8.4.49 + 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 @@ -5738,6 +6055,8 @@ snapshots: transitivePeerDependencies: - ts-node + tailwindcss@4.0.0-beta.8: {} + tapable@2.2.1: {} thenify-all@1.6.0: @@ -5869,13 +6188,13 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1): + vite-node@2.1.6(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1): dependencies: cac: 6.7.14 debug: 4.3.7 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1) + vite: 6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) transitivePeerDependencies: - '@types/node' - jiti @@ -5898,12 +6217,12 @@ snapshots: - prismjs - supports-color - vite-plugin-windicss@1.9.4(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1)): + vite-plugin-windicss@1.9.4(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1)): dependencies: '@windicss/plugin-utils': 1.9.4 debug: 4.3.7 kolorist: 1.8.0 - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1) + vite: 6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) windicss: 3.5.6 transitivePeerDependencies: - supports-color @@ -5913,7 +6232,7 @@ snapshots: svgo: 3.3.2 vue: 3.5.13(typescript@5.6.3) - vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1): + vite@6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1): dependencies: esbuild: 0.24.0 postcss: 8.4.49 @@ -5921,14 +6240,15 @@ snapshots: optionalDependencies: '@types/node': 22.10.1 fsevents: 2.3.3 - jiti: 1.21.6 + jiti: 2.4.2 + lightningcss: 1.28.2 stylus: 0.57.0 yaml: 2.6.1 - vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(jsdom@25.0.1)(stylus@0.57.0)(yaml@2.6.1): + vitest@2.1.6(@types/node@22.10.1)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1): dependencies: '@vitest/expect': 2.1.6 - '@vitest/mocker': 2.1.6(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1)) + '@vitest/mocker': 2.1.6(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1)) '@vitest/pretty-format': 2.1.6 '@vitest/runner': 2.1.6 '@vitest/snapshot': 2.1.6 @@ -5944,8 +6264,8 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1) - vite-node: 2.1.6(@types/node@22.10.1)(jiti@1.21.6)(stylus@0.57.0)(yaml@2.6.1) + vite: 6.0.2(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) + vite-node: 2.1.6(@types/node@22.10.1)(jiti@2.4.2)(lightningcss@1.28.2)(stylus@0.57.0)(yaml@2.6.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.1 @@ -5972,10 +6292,10 @@ snapshots: dependencies: vue: 3.5.13(typescript@5.6.3) - vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@1.21.6)): + vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@2.4.2)): dependencies: debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.4.2) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 diff --git a/web/postcss.config.js b/web/postcss.config.js new file mode 100644 index 0000000000..b0c6b49046 --- /dev/null +++ b/web/postcss.config.js @@ -0,0 +1,7 @@ +// postcss.config.js +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/web/src/style.css b/web/src/style.css index 31f13e7e40..f2a4388bce 100644 --- a/web/src/style.css +++ b/web/src/style.css @@ -121,22 +121,22 @@ body, } *::-webkit-scrollbar { - @apply bg-transparent w-12px h-12px; + @apply bg-transparent w-[12px] h-[12px]; } * { scrollbar-width: thin; } -*::-webkit-scrollbar-thumb { +/* *::-webkit-scrollbar-thumb { transition: background 0.2s ease-in-out; border: 3px solid transparent; - @apply bg-clip-content bg-cool-gray-200 dark:bg-dark-200 rounded-full; + @apply bg-clip-content bg-gray-200 dark:bg-dark-200 rounded-full; } *::-webkit-scrollbar-thumb:hover { @apply bg-cool-gray-300 dark:bg-dark-100; -} +} */ *::-webkit-scrollbar-corner { @apply bg-transparent; diff --git a/web/src/tailwind.css b/web/src/tailwind.css index d474a9dfb7..e08d0929b4 100644 --- a/web/src/tailwind.css +++ b/web/src/tailwind.css @@ -4,6 +4,6 @@ @layer components { .hover-effect { - @apply hover:bg-black dark:hover:bg-white hover:bg-opacity-10 dark:hover:bg-opacity-5 transition-colors duration-100; + @apply hover:bg-black hover:bg-opacity-10 dark:hover:bg-white dark:hover:bg-opacity-5 transition-colors duration-100; } } diff --git a/web/tailwind.config.js b/web/tailwind.config.js index 80c4fb4357..a646a8fe6f 100644 --- a/web/tailwind.config.js +++ b/web/tailwind.config.js @@ -1,6 +1,5 @@ // cSpell:ignore Segoe Roboto Neue Noto nocheck - // @ts-nocheck import typography from '@tailwindcss/typography'; @@ -27,9 +26,8 @@ const customColors = { }, }; - export default { - content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}'], + content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}', './src/**/*.css'], darkMode: 'class', theme: { extend: { @@ -209,31 +207,27 @@ export default { 200: 'var(--wp-link-200)', }, }, + fontFamily: { + sans: [ + 'system-ui', + '-apple-system', + 'Segoe UI', + 'Roboto', + 'Helvetica Neue', + 'Noto Sans', + 'Liberation Sans', + 'Arial', + 'sans-serif', + ], + }, + borderWidth: { + '6': '6px', + }, transitionProperty: { height: 'max-height', }, stroke: (theme) => theme('colors'), fill: (theme) => theme('colors'), - fontFamily: [ - 'system-ui', - '-apple-system', - 'Segoe UI', - 'Roboto', - 'Helvetica Neue', - 'Noto Sans', - 'Liberation Sans', - 'Arial', - 'sans-serif', - ], - }, - fontFamily: { - sans: [ - 'system-ui', - '-apple-system', - 'Segoe UI', - 'Roboto', - // ...existing code... - ], }, }, plugins: [typography()], diff --git a/web/tsconfig.json b/web/tsconfig.json index a658701cae..a2392350d4 100644 --- a/web/tsconfig.json +++ b/web/tsconfig.json @@ -27,6 +27,6 @@ "noUnusedParameters": true, "noFallthroughCasesInSwitch": true }, - "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.json", "tailwind.config.ts", "vite.config.ts"], + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.json", "tailwind.config.js", "vite.config.ts", "postcss.config.js"], "exclude": ["node_modules", "**/__tests__/**/*", "**/dist/**/*"] } diff --git a/web/vite.config.ts b/web/vite.config.ts index de8384e5e9..b0d0cb6e34 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -6,7 +6,7 @@ import vue from '@vitejs/plugin-vue'; import type { Plugin } from 'vite'; import prismjs from 'vite-plugin-prismjs'; import svgLoader from 'vite-svg-loader'; -import { defineConfig } from 'vitest/config'; +import { defineConfig } from 'vite'; function woodpeckerInfoPlugin(): Plugin { return { From 18c572728864ac8c4c18b868a255f36c5d967104 Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 23 Dec 2024 19:03:01 +0100 Subject: [PATCH 07/28] format --- web/src/main.ts | 2 +- web/tailwind.config.js | 2 +- web/tsconfig.json | 10 +++++++++- web/vite.config.ts | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/web/src/main.ts b/web/src/main.ts index 1d0a5aeef1..47697bce95 100644 --- a/web/src/main.ts +++ b/web/src/main.ts @@ -1,5 +1,5 @@ import '~/compositions/useFavicon'; -import '~/tailwind.css' +import '~/tailwind.css'; import '~/style.css'; import { createPinia } from 'pinia'; diff --git a/web/tailwind.config.js b/web/tailwind.config.js index a646a8fe6f..6f314499a4 100644 --- a/web/tailwind.config.js +++ b/web/tailwind.config.js @@ -221,7 +221,7 @@ export default { ], }, borderWidth: { - '6': '6px', + 6: '6px', }, transitionProperty: { height: 'max-height', diff --git a/web/tsconfig.json b/web/tsconfig.json index a2392350d4..77f82d50f0 100644 --- a/web/tsconfig.json +++ b/web/tsconfig.json @@ -27,6 +27,14 @@ "noUnusedParameters": true, "noFallthroughCasesInSwitch": true }, - "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.json", "tailwind.config.js", "vite.config.ts", "postcss.config.js"], + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "src/**/*.vue", + "src/**/*.json", + "tailwind.config.js", + "vite.config.ts", + "postcss.config.js" + ], "exclude": ["node_modules", "**/__tests__/**/*", "**/dist/**/*"] } diff --git a/web/vite.config.ts b/web/vite.config.ts index b0d0cb6e34..b11ba84a3f 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -4,9 +4,9 @@ import process from 'node:process'; import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'; import vue from '@vitejs/plugin-vue'; import type { Plugin } from 'vite'; +import { defineConfig } from 'vite'; import prismjs from 'vite-plugin-prismjs'; import svgLoader from 'vite-svg-loader'; -import { defineConfig } from 'vite'; function woodpeckerInfoPlugin(): Plugin { return { From 3a738323bfb39d681b42af71bf300e2a4dc01055 Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 23 Dec 2024 19:09:15 +0100 Subject: [PATCH 08/28] fix too large padding --- web/src/components/atomic/ListItem.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/components/atomic/ListItem.vue b/web/src/components/atomic/ListItem.vue index 0f6ec12b2a..6d180c9961 100644 --- a/web/src/components/atomic/ListItem.vue +++ b/web/src/components/atomic/ListItem.vue @@ -2,7 +2,7 @@ Date: Mon, 23 Dec 2024 19:11:39 +0100 Subject: [PATCH 09/28] fix overflowing input field --- web/src/components/form/TextField.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/src/components/form/TextField.vue b/web/src/components/form/TextField.vue index 4facf52574..a6f8389e08 100644 --- a/web/src/components/form/TextField.vue +++ b/web/src/components/form/TextField.vue @@ -2,7 +2,7 @@ Date: Mon, 23 Dec 2024 22:28:58 +0100 Subject: [PATCH 10/28] max-w-full --- web/src/components/form/TextField.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/src/components/form/TextField.vue b/web/src/components/form/TextField.vue index a6f8389e08..ee17ed17c7 100644 --- a/web/src/components/form/TextField.vue +++ b/web/src/components/form/TextField.vue @@ -2,7 +2,7 @@ Date: Mon, 23 Dec 2024 22:31:40 +0100 Subject: [PATCH 11/28] yamllint ignore pnpm lock --- .yamllint.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.yamllint.yaml b/.yamllint.yaml index 37a80852cf..54d78ed255 100644 --- a/.yamllint.yaml +++ b/.yamllint.yaml @@ -6,6 +6,7 @@ ignore-from-file: - .gitignore - server/store/datastore/migration/test-files/.gitignore - web/.gitignore + - web/pnpm-lock.yaml rules: line-length: disable From 627a9d3aadd77a0f991acf223427e7f51619720e Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 23 Dec 2024 22:45:06 +0100 Subject: [PATCH 12/28] use custom w-fill --- web/src/components/form/TextField.vue | 4 ++-- web/src/tailwind.css | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/web/src/components/form/TextField.vue b/web/src/components/form/TextField.vue index ee17ed17c7..d6de4087d0 100644 --- a/web/src/components/form/TextField.vue +++ b/web/src/components/form/TextField.vue @@ -2,7 +2,7 @@ Date: Mon, 23 Dec 2024 22:49:01 +0100 Subject: [PATCH 13/28] readd p-4 --- web/src/components/atomic/ListItem.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/components/atomic/ListItem.vue b/web/src/components/atomic/ListItem.vue index 6d180c9961..397ac2d5a7 100644 --- a/web/src/components/atomic/ListItem.vue +++ b/web/src/components/atomic/ListItem.vue @@ -2,7 +2,7 @@ Date: Mon, 23 Dec 2024 22:58:17 +0100 Subject: [PATCH 14/28] fix login div --- web/src/views/Login.vue | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/web/src/views/Login.vue b/web/src/views/Login.vue index bc3a978f57..231a4493e4 100644 --- a/web/src/views/Login.vue +++ b/web/src/views/Login.vue @@ -1,26 +1,26 @@