My landing page, written in Astro hayden.moe
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: use tailwind upgrade tool

+354 -92
+1 -1
package.json
··· 29 29 "devDependencies": { 30 30 "@cloudflare/workers-types": "^4.20241022.0", 31 31 "@react-router/dev": "^7.0.0", 32 + "@tailwindcss/postcss": "^4.0.0", 32 33 "@tailwindcss/typography": "^0.5.15", 33 34 "@types/react": "^18.3.12", 34 35 "@types/react-dom": "^18.3.1", 35 36 "@typescript-eslint/eslint-plugin": "^7.0.0", 36 37 "@typescript-eslint/parser": "^6.21.0", 37 - "autoprefixer": "^10.4.20", 38 38 "eslint": "^8.57.1", 39 39 "eslint-import-resolver-typescript": "^3.6.3", 40 40 "eslint-plugin-import": "^2.31.0",
+302 -61
pnpm-lock.yaml
··· 19 19 version: 5.1.0 20 20 '@react-router/cloudflare': 21 21 specifier: ^7.0.0 22 - version: 7.0.2(@cloudflare/workers-types@4.20241022.0)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(tsup@8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1))(typescript@5.6.3) 22 + version: 7.0.2(@cloudflare/workers-types@4.20241022.0)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(tsup@8.3.5(jiti@2.4.2)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1))(typescript@5.6.3) 23 23 '@react-router/fs-routes': 24 24 specifier: ^7.0.2 25 - version: 7.0.2(@react-router/dev@7.0.2(@types/node@22.10.2)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0)))(typescript@5.6.3) 25 + version: 7.0.2(@react-router/dev@7.0.2(@types/node@22.10.2)(lightningcss@1.29.1)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.29.1))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0)))(typescript@5.6.3) 26 26 feed: 27 27 specifier: ^4.2.2 28 28 version: 4.2.2 ··· 47 47 version: 4.20241022.0 48 48 '@react-router/dev': 49 49 specifier: ^7.0.0 50 - version: 7.0.2(@types/node@22.10.2)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0)) 50 + version: 7.0.2(@types/node@22.10.2)(lightningcss@1.29.1)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.29.1))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0)) 51 + '@tailwindcss/postcss': 52 + specifier: ^4.0.0 53 + version: 4.0.0 51 54 '@tailwindcss/typography': 52 55 specifier: ^0.5.15 53 56 version: 0.5.15(tailwindcss@4.0.0) ··· 63 66 '@typescript-eslint/parser': 64 67 specifier: ^6.21.0 65 68 version: 6.21.0(eslint@8.57.1)(typescript@5.6.3) 66 - autoprefixer: 67 - specifier: ^10.4.20 68 - version: 10.4.20(postcss@8.4.49) 69 69 eslint: 70 70 specifier: ^8.57.1 71 71 version: 8.57.1 ··· 95 95 version: 5.6.3 96 96 vite: 97 97 specifier: ^5.4.11 98 - version: 5.4.11(@types/node@22.10.2) 98 + version: 5.4.11(@types/node@22.10.2)(lightningcss@1.29.1) 99 99 vite-tsconfig-paths: 100 100 specifier: ^5.1.0 101 - version: 5.1.0(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)) 101 + version: 5.1.0(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.29.1)) 102 102 wrangler: 103 103 specifier: ^3.84.1 104 104 version: 3.84.1(@cloudflare/workers-types@4.20241022.0) 105 105 106 106 packages: 107 + 108 + '@alloc/quick-lru@5.2.0': 109 + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 110 + engines: {node: '>=10'} 107 111 108 112 '@ampproject/remapping@2.3.0': 109 113 resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} ··· 1071 1075 '@rtsao/scc@1.1.0': 1072 1076 resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} 1073 1077 1078 + '@tailwindcss/node@4.0.3': 1079 + resolution: {integrity: sha512-QsVJokOl0pJ4AbJV33D2npvLcHGPWi5MOSZtrtE0GT3tSx+3D0JE2lokLA8yHS1x3oCY/3IyRyy7XX6tmzid7A==} 1080 + 1081 + '@tailwindcss/oxide-android-arm64@4.0.3': 1082 + resolution: {integrity: sha512-S8XOTQuMnpijZRlPm5HBzPJjZ28quB+40LSRHjRnQF6rRYKsvpr1qkY7dfwsetNdd+kMLOMDsvmuT8WnqqETvg==} 1083 + engines: {node: '>= 10'} 1084 + cpu: [arm64] 1085 + os: [android] 1086 + 1087 + '@tailwindcss/oxide-darwin-arm64@4.0.3': 1088 + resolution: {integrity: sha512-smrY2DpzhXvgDhZtQlYAl8+vxJ04lv2/64C1eiRxvsRT2nkw/q+zA1/eAYKvUHat6cIuwqDku3QucmrUT6pCeg==} 1089 + engines: {node: '>= 10'} 1090 + cpu: [arm64] 1091 + os: [darwin] 1092 + 1093 + '@tailwindcss/oxide-darwin-x64@4.0.3': 1094 + resolution: {integrity: sha512-NTz8x/LcGUjpZAWUxz0ZuzHao90Wj9spoQgomwB+/hgceh5gcJDfvaBYqxLFpKzVglpnbDSq1Fg0p0zI4oa5Pg==} 1095 + engines: {node: '>= 10'} 1096 + cpu: [x64] 1097 + os: [darwin] 1098 + 1099 + '@tailwindcss/oxide-freebsd-x64@4.0.3': 1100 + resolution: {integrity: sha512-yQc9Q0JCOp3kkAV8gKgDctXO60IkQhHpqGB+KgOccDtD5UmN6Q5+gd+lcsDyQ7N8dRuK1fAud51xQpZJgKfm7g==} 1101 + engines: {node: '>= 10'} 1102 + cpu: [x64] 1103 + os: [freebsd] 1104 + 1105 + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.3': 1106 + resolution: {integrity: sha512-e1ivVMLSnxTOU1O3npnxN16FEyWM/g3SuH2pP6udxXwa0/SnSAijRwcAYRpqIlhVKujr158S8UeHxQjC4fGl4w==} 1107 + engines: {node: '>= 10'} 1108 + cpu: [arm] 1109 + os: [linux] 1110 + 1111 + '@tailwindcss/oxide-linux-arm64-gnu@4.0.3': 1112 + resolution: {integrity: sha512-PLrToqQqX6sdJ9DmMi8IxZWWrfjc9pdi9AEEPTrtMts3Jm9HBi1WqEeF1VwZZ2aW9TXloE5OwA35zuuq1Bhb/Q==} 1113 + engines: {node: '>= 10'} 1114 + cpu: [arm64] 1115 + os: [linux] 1116 + 1117 + '@tailwindcss/oxide-linux-arm64-musl@4.0.3': 1118 + resolution: {integrity: sha512-YlzRxx7N1ampfgSKzEDw0iwDkJXUInR4cgNEqmR4TzHkU2Vhg59CGPJrTI7dxOBofD8+O35R13Nk9Ytyv0JUFg==} 1119 + engines: {node: '>= 10'} 1120 + cpu: [arm64] 1121 + os: [linux] 1122 + 1123 + '@tailwindcss/oxide-linux-x64-gnu@4.0.3': 1124 + resolution: {integrity: sha512-Xfc3z/li6XkuD7Hs+Uk6pjyCXnfnd9zuQTKOyDTZJ544xc2yoMKUkuDw6Et9wb31MzU2/c0CIUpTDa71lL9KHw==} 1125 + engines: {node: '>= 10'} 1126 + cpu: [x64] 1127 + os: [linux] 1128 + 1129 + '@tailwindcss/oxide-linux-x64-musl@4.0.3': 1130 + resolution: {integrity: sha512-ugKVqKzwa/cjmqSQG17aS9DYrEcQ/a5NITcgmOr3JLW4Iz64C37eoDlkC8tIepD3S/Td/ywKAolTQ8fKbjEL4g==} 1131 + engines: {node: '>= 10'} 1132 + cpu: [x64] 1133 + os: [linux] 1134 + 1135 + '@tailwindcss/oxide-win32-arm64-msvc@4.0.3': 1136 + resolution: {integrity: sha512-qHPDMl+UUwsk1RMJMgAXvhraWqUUT+LR/tkXix5RA39UGxtTrHwsLIN1AhNxI5i2RFXAXfmFXDqZCdyQ4dWmAQ==} 1137 + engines: {node: '>= 10'} 1138 + cpu: [arm64] 1139 + os: [win32] 1140 + 1141 + '@tailwindcss/oxide-win32-x64-msvc@4.0.3': 1142 + resolution: {integrity: sha512-+ujwN4phBGyOsPyLgGgeCyUm4Mul+gqWVCIGuSXWgrx9xVUnf6LVXrw0BDBc9Aq1S2qMyOTX4OkCGbZeoIo8Qw==} 1143 + engines: {node: '>= 10'} 1144 + cpu: [x64] 1145 + os: [win32] 1146 + 1147 + '@tailwindcss/oxide@4.0.3': 1148 + resolution: {integrity: sha512-FFcp3VNvRjjmFA39ORM27g2mbflMQljhvM7gxBAujHxUy4LXlKa6yMF9wbHdTbPqTONiCyyOYxccvJyVyI/XBg==} 1149 + engines: {node: '>= 10'} 1150 + 1151 + '@tailwindcss/postcss@4.0.0': 1152 + resolution: {integrity: sha512-lI2bPk4TvwavHdehjr5WiC6HnZ59hacM6ySEo4RM/H7tsjWd8JpqiNW9ThH7rO/yKtrn4mGBoXshpvn8clXjPg==} 1153 + 1074 1154 '@tailwindcss/typography@0.5.15': 1075 1155 resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==} 1076 1156 peerDependencies: ··· 1300 1380 1301 1381 ast-types-flow@0.0.8: 1302 1382 resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 1303 - 1304 - autoprefixer@10.4.20: 1305 - resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} 1306 - engines: {node: ^10 || ^12 || >=14} 1307 - hasBin: true 1308 - peerDependencies: 1309 - postcss: ^8.1.0 1310 1383 1311 1384 available-typed-arrays@1.0.7: 1312 1385 resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} ··· 1533 1606 resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 1534 1607 engines: {node: '>=6'} 1535 1608 1609 + detect-libc@1.0.3: 1610 + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} 1611 + engines: {node: '>=0.10'} 1612 + hasBin: true 1613 + 1536 1614 devlop@1.1.0: 1537 1615 resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} 1538 1616 ··· 1572 1650 1573 1651 enhanced-resolve@5.17.1: 1574 1652 resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} 1653 + engines: {node: '>=10.13.0'} 1654 + 1655 + enhanced-resolve@5.18.0: 1656 + resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==} 1575 1657 engines: {node: '>=10.13.0'} 1576 1658 1577 1659 err-code@2.0.3: ··· 1800 1882 resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 1801 1883 engines: {node: '>=14'} 1802 1884 1803 - fraction.js@4.3.7: 1804 - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 1805 - 1806 1885 fs-extra@10.1.0: 1807 1886 resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 1808 1887 engines: {node: '>=12'} ··· 2124 2203 jackspeak@3.4.3: 2125 2204 resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 2126 2205 2127 - jiti@1.21.6: 2128 - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 2206 + jiti@2.4.2: 2207 + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 2129 2208 hasBin: true 2130 2209 2131 2210 joycon@3.1.1: ··· 2187 2266 resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2188 2267 engines: {node: '>= 0.8.0'} 2189 2268 2269 + lightningcss-darwin-arm64@1.29.1: 2270 + resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==} 2271 + engines: {node: '>= 12.0.0'} 2272 + cpu: [arm64] 2273 + os: [darwin] 2274 + 2275 + lightningcss-darwin-x64@1.29.1: 2276 + resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==} 2277 + engines: {node: '>= 12.0.0'} 2278 + cpu: [x64] 2279 + os: [darwin] 2280 + 2281 + lightningcss-freebsd-x64@1.29.1: 2282 + resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==} 2283 + engines: {node: '>= 12.0.0'} 2284 + cpu: [x64] 2285 + os: [freebsd] 2286 + 2287 + lightningcss-linux-arm-gnueabihf@1.29.1: 2288 + resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==} 2289 + engines: {node: '>= 12.0.0'} 2290 + cpu: [arm] 2291 + os: [linux] 2292 + 2293 + lightningcss-linux-arm64-gnu@1.29.1: 2294 + resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==} 2295 + engines: {node: '>= 12.0.0'} 2296 + cpu: [arm64] 2297 + os: [linux] 2298 + 2299 + lightningcss-linux-arm64-musl@1.29.1: 2300 + resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==} 2301 + engines: {node: '>= 12.0.0'} 2302 + cpu: [arm64] 2303 + os: [linux] 2304 + 2305 + lightningcss-linux-x64-gnu@1.29.1: 2306 + resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==} 2307 + engines: {node: '>= 12.0.0'} 2308 + cpu: [x64] 2309 + os: [linux] 2310 + 2311 + lightningcss-linux-x64-musl@1.29.1: 2312 + resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==} 2313 + engines: {node: '>= 12.0.0'} 2314 + cpu: [x64] 2315 + os: [linux] 2316 + 2317 + lightningcss-win32-arm64-msvc@1.29.1: 2318 + resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==} 2319 + engines: {node: '>= 12.0.0'} 2320 + cpu: [arm64] 2321 + os: [win32] 2322 + 2323 + lightningcss-win32-x64-msvc@1.29.1: 2324 + resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==} 2325 + engines: {node: '>= 12.0.0'} 2326 + cpu: [x64] 2327 + os: [win32] 2328 + 2329 + lightningcss@1.29.1: 2330 + resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==} 2331 + engines: {node: '>= 12.0.0'} 2332 + 2190 2333 lilconfig@3.1.3: 2191 2334 resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 2192 2335 engines: {node: '>=14'} ··· 2400 2543 resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2401 2544 engines: {node: '>=0.10.0'} 2402 2545 2403 - normalize-range@0.1.2: 2404 - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 2405 - engines: {node: '>=0.10.0'} 2406 - 2407 2546 npm-install-checks@6.3.0: 2408 2547 resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} 2409 2548 engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} ··· 2556 2695 resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} 2557 2696 engines: {node: '>=4'} 2558 2697 2559 - postcss-value-parser@4.2.0: 2560 - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2561 - 2562 2698 postcss@8.4.49: 2563 2699 resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} 2564 2700 engines: {node: ^10 || ^12 || >=14} ··· 2921 3057 tailwindcss@4.0.0: 2922 3058 resolution: {integrity: sha512-ULRPI3A+e39T7pSaf1xoi58AqqJxVCLg8F/uM5A3FadUbnyDTgltVnXJvdkTjwCOGA6NazqHVcwPJC5h2vRYVQ==} 2923 3059 3060 + tailwindcss@4.0.3: 3061 + resolution: {integrity: sha512-ImmZF0Lon5RrQpsEAKGxRvHwCvMgSC4XVlFRqmbzTEDb/3wvin9zfEZrMwgsa3yqBbPqahYcVI6lulM2S7IZAA==} 3062 + 2924 3063 tapable@2.2.1: 2925 3064 resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 2926 3065 engines: {node: '>=6'} ··· 3273 3412 3274 3413 snapshots: 3275 3414 3415 + '@alloc/quick-lru@5.2.0': {} 3416 + 3276 3417 '@ampproject/remapping@2.3.0': 3277 3418 dependencies: 3278 3419 '@jridgewell/gen-mapping': 0.3.8 ··· 3868 4009 '@pkgjs/parseargs@0.11.0': 3869 4010 optional: true 3870 4011 3871 - '@react-router/cloudflare@7.0.2(@cloudflare/workers-types@4.20241022.0)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(tsup@8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1))(typescript@5.6.3)': 4012 + '@react-router/cloudflare@7.0.2(@cloudflare/workers-types@4.20241022.0)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(tsup@8.3.5(jiti@2.4.2)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1))(typescript@5.6.3)': 3872 4013 dependencies: 3873 4014 '@cloudflare/workers-types': 4.20241022.0 3874 4015 react-router: 7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 3875 - tsup: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1) 4016 + tsup: 8.3.5(jiti@2.4.2)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1) 3876 4017 optionalDependencies: 3877 4018 typescript: 5.6.3 3878 4019 3879 - '@react-router/dev@7.0.2(@types/node@22.10.2)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0))': 4020 + '@react-router/dev@7.0.2(@types/node@22.10.2)(lightningcss@1.29.1)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.29.1))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0))': 3880 4021 dependencies: 3881 4022 '@babel/core': 7.26.0 3882 4023 '@babel/generator': 7.26.3 ··· 3907 4048 semver: 7.6.3 3908 4049 set-cookie-parser: 2.7.1 3909 4050 valibot: 0.41.0(typescript@5.6.3) 3910 - vite: 5.4.11(@types/node@22.10.2) 3911 - vite-node: 1.6.0(@types/node@22.10.2) 4051 + vite: 5.4.11(@types/node@22.10.2)(lightningcss@1.29.1) 4052 + vite-node: 1.6.0(@types/node@22.10.2)(lightningcss@1.29.1) 3912 4053 optionalDependencies: 3913 4054 typescript: 5.6.3 3914 4055 wrangler: 3.84.1(@cloudflare/workers-types@4.20241022.0) ··· 3925 4066 - supports-color 3926 4067 - terser 3927 4068 3928 - '@react-router/fs-routes@7.0.2(@react-router/dev@7.0.2(@types/node@22.10.2)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0)))(typescript@5.6.3)': 4069 + '@react-router/fs-routes@7.0.2(@react-router/dev@7.0.2(@types/node@22.10.2)(lightningcss@1.29.1)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.29.1))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0)))(typescript@5.6.3)': 3929 4070 dependencies: 3930 - '@react-router/dev': 7.0.2(@types/node@22.10.2)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0)) 4071 + '@react-router/dev': 7.0.2(@types/node@22.10.2)(lightningcss@1.29.1)(react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.29.1))(wrangler@3.84.1(@cloudflare/workers-types@4.20241022.0)) 3931 4072 minimatch: 9.0.5 3932 4073 optionalDependencies: 3933 4074 typescript: 5.6.3 ··· 4058 4199 4059 4200 '@rtsao/scc@1.1.0': {} 4060 4201 4202 + '@tailwindcss/node@4.0.3': 4203 + dependencies: 4204 + enhanced-resolve: 5.18.0 4205 + jiti: 2.4.2 4206 + tailwindcss: 4.0.3 4207 + 4208 + '@tailwindcss/oxide-android-arm64@4.0.3': 4209 + optional: true 4210 + 4211 + '@tailwindcss/oxide-darwin-arm64@4.0.3': 4212 + optional: true 4213 + 4214 + '@tailwindcss/oxide-darwin-x64@4.0.3': 4215 + optional: true 4216 + 4217 + '@tailwindcss/oxide-freebsd-x64@4.0.3': 4218 + optional: true 4219 + 4220 + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.3': 4221 + optional: true 4222 + 4223 + '@tailwindcss/oxide-linux-arm64-gnu@4.0.3': 4224 + optional: true 4225 + 4226 + '@tailwindcss/oxide-linux-arm64-musl@4.0.3': 4227 + optional: true 4228 + 4229 + '@tailwindcss/oxide-linux-x64-gnu@4.0.3': 4230 + optional: true 4231 + 4232 + '@tailwindcss/oxide-linux-x64-musl@4.0.3': 4233 + optional: true 4234 + 4235 + '@tailwindcss/oxide-win32-arm64-msvc@4.0.3': 4236 + optional: true 4237 + 4238 + '@tailwindcss/oxide-win32-x64-msvc@4.0.3': 4239 + optional: true 4240 + 4241 + '@tailwindcss/oxide@4.0.3': 4242 + optionalDependencies: 4243 + '@tailwindcss/oxide-android-arm64': 4.0.3 4244 + '@tailwindcss/oxide-darwin-arm64': 4.0.3 4245 + '@tailwindcss/oxide-darwin-x64': 4.0.3 4246 + '@tailwindcss/oxide-freebsd-x64': 4.0.3 4247 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.3 4248 + '@tailwindcss/oxide-linux-arm64-gnu': 4.0.3 4249 + '@tailwindcss/oxide-linux-arm64-musl': 4.0.3 4250 + '@tailwindcss/oxide-linux-x64-gnu': 4.0.3 4251 + '@tailwindcss/oxide-linux-x64-musl': 4.0.3 4252 + '@tailwindcss/oxide-win32-arm64-msvc': 4.0.3 4253 + '@tailwindcss/oxide-win32-x64-msvc': 4.0.3 4254 + 4255 + '@tailwindcss/postcss@4.0.0': 4256 + dependencies: 4257 + '@alloc/quick-lru': 5.2.0 4258 + '@tailwindcss/node': 4.0.3 4259 + '@tailwindcss/oxide': 4.0.3 4260 + lightningcss: 1.29.1 4261 + postcss: 8.4.49 4262 + tailwindcss: 4.0.0 4263 + 4061 4264 '@tailwindcss/typography@0.5.15(tailwindcss@4.0.0)': 4062 4265 dependencies: 4063 4266 lodash.castarray: 4.4.0 ··· 4344 4547 4345 4548 ast-types-flow@0.0.8: {} 4346 4549 4347 - autoprefixer@10.4.20(postcss@8.4.49): 4348 - dependencies: 4349 - browserslist: 4.24.3 4350 - caniuse-lite: 1.0.30001689 4351 - fraction.js: 4.3.7 4352 - normalize-range: 0.1.2 4353 - picocolors: 1.1.1 4354 - postcss: 8.4.49 4355 - postcss-value-parser: 4.2.0 4356 - 4357 4550 available-typed-arrays@1.0.7: 4358 4551 dependencies: 4359 4552 possible-typed-array-names: 1.0.0 ··· 4561 4754 4562 4755 dequal@2.0.3: {} 4563 4756 4757 + detect-libc@1.0.3: {} 4758 + 4564 4759 devlop@1.1.0: 4565 4760 dependencies: 4566 4761 dequal: 2.0.3 ··· 4607 4802 graceful-fs: 4.2.11 4608 4803 tapable: 2.2.1 4609 4804 4805 + enhanced-resolve@5.18.0: 4806 + dependencies: 4807 + graceful-fs: 4.2.11 4808 + tapable: 2.2.1 4809 + 4610 4810 err-code@2.0.3: {} 4611 4811 4612 4812 es-abstract@1.23.6: ··· 5031 5231 cross-spawn: 7.0.6 5032 5232 signal-exit: 4.1.0 5033 5233 5034 - fraction.js@4.3.7: {} 5035 - 5036 5234 fs-extra@10.1.0: 5037 5235 dependencies: 5038 5236 graceful-fs: 4.2.11 ··· 5382 5580 optionalDependencies: 5383 5581 '@pkgjs/parseargs': 0.11.0 5384 5582 5385 - jiti@1.21.6: 5386 - optional: true 5583 + jiti@2.4.2: {} 5387 5584 5388 5585 joycon@3.1.1: {} 5389 5586 ··· 5437 5634 prelude-ls: 1.2.1 5438 5635 type-check: 0.4.0 5439 5636 5637 + lightningcss-darwin-arm64@1.29.1: 5638 + optional: true 5639 + 5640 + lightningcss-darwin-x64@1.29.1: 5641 + optional: true 5642 + 5643 + lightningcss-freebsd-x64@1.29.1: 5644 + optional: true 5645 + 5646 + lightningcss-linux-arm-gnueabihf@1.29.1: 5647 + optional: true 5648 + 5649 + lightningcss-linux-arm64-gnu@1.29.1: 5650 + optional: true 5651 + 5652 + lightningcss-linux-arm64-musl@1.29.1: 5653 + optional: true 5654 + 5655 + lightningcss-linux-x64-gnu@1.29.1: 5656 + optional: true 5657 + 5658 + lightningcss-linux-x64-musl@1.29.1: 5659 + optional: true 5660 + 5661 + lightningcss-win32-arm64-msvc@1.29.1: 5662 + optional: true 5663 + 5664 + lightningcss-win32-x64-msvc@1.29.1: 5665 + optional: true 5666 + 5667 + lightningcss@1.29.1: 5668 + dependencies: 5669 + detect-libc: 1.0.3 5670 + optionalDependencies: 5671 + lightningcss-darwin-arm64: 1.29.1 5672 + lightningcss-darwin-x64: 1.29.1 5673 + lightningcss-freebsd-x64: 1.29.1 5674 + lightningcss-linux-arm-gnueabihf: 1.29.1 5675 + lightningcss-linux-arm64-gnu: 1.29.1 5676 + lightningcss-linux-arm64-musl: 1.29.1 5677 + lightningcss-linux-x64-gnu: 1.29.1 5678 + lightningcss-linux-x64-musl: 1.29.1 5679 + lightningcss-win32-arm64-msvc: 1.29.1 5680 + lightningcss-win32-x64-msvc: 1.29.1 5681 + 5440 5682 lilconfig@3.1.3: {} 5441 5683 5442 5684 lines-and-columns@1.2.4: {} ··· 5772 6014 5773 6015 normalize-path@3.0.0: {} 5774 6016 5775 - normalize-range@0.1.2: {} 5776 - 5777 6017 npm-install-checks@6.3.0: 5778 6018 dependencies: 5779 6019 semver: 7.6.3 ··· 5908 6148 5909 6149 possible-typed-array-names@1.0.0: {} 5910 6150 5911 - postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.49)(yaml@2.6.1): 6151 + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.49)(yaml@2.6.1): 5912 6152 dependencies: 5913 6153 lilconfig: 3.1.3 5914 6154 optionalDependencies: 5915 - jiti: 1.21.6 6155 + jiti: 2.4.2 5916 6156 postcss: 8.4.49 5917 6157 yaml: 2.6.1 5918 6158 ··· 5920 6160 dependencies: 5921 6161 cssesc: 3.0.0 5922 6162 util-deprecate: 1.0.2 5923 - 5924 - postcss-value-parser@4.2.0: {} 5925 6163 5926 6164 postcss@8.4.49: 5927 6165 dependencies: ··· 6385 6623 6386 6624 tailwindcss@4.0.0: {} 6387 6625 6626 + tailwindcss@4.0.3: {} 6627 + 6388 6628 tapable@2.2.1: {} 6389 6629 6390 6630 text-table@0.2.0: {} ··· 6444 6684 6445 6685 tslib@2.8.1: {} 6446 6686 6447 - tsup@8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1): 6687 + tsup@8.3.5(jiti@2.4.2)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1): 6448 6688 dependencies: 6449 6689 bundle-require: 5.1.0(esbuild@0.24.2) 6450 6690 cac: 6.7.14 ··· 6454 6694 esbuild: 0.24.2 6455 6695 joycon: 3.1.1 6456 6696 picocolors: 1.1.1 6457 - postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.49)(yaml@2.6.1) 6697 + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.49)(yaml@2.6.1) 6458 6698 resolve-from: 5.0.0 6459 6699 rollup: 4.32.0 6460 6700 source-map: 0.8.0-beta.0 ··· 6610 6850 '@types/unist': 3.0.3 6611 6851 vfile-message: 4.0.2 6612 6852 6613 - vite-node@1.6.0(@types/node@22.10.2): 6853 + vite-node@1.6.0(@types/node@22.10.2)(lightningcss@1.29.1): 6614 6854 dependencies: 6615 6855 cac: 6.7.14 6616 6856 debug: 4.4.0 6617 6857 pathe: 1.1.2 6618 6858 picocolors: 1.1.1 6619 - vite: 5.4.11(@types/node@22.10.2) 6859 + vite: 5.4.11(@types/node@22.10.2)(lightningcss@1.29.1) 6620 6860 transitivePeerDependencies: 6621 6861 - '@types/node' 6622 6862 - less ··· 6628 6868 - supports-color 6629 6869 - terser 6630 6870 6631 - vite-tsconfig-paths@5.1.0(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)): 6871 + vite-tsconfig-paths@5.1.0(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.29.1)): 6632 6872 dependencies: 6633 6873 debug: 4.4.0 6634 6874 globrex: 0.1.2 6635 6875 tsconfck: 3.1.4(typescript@5.6.3) 6636 6876 optionalDependencies: 6637 - vite: 5.4.11(@types/node@22.10.2) 6877 + vite: 5.4.11(@types/node@22.10.2)(lightningcss@1.29.1) 6638 6878 transitivePeerDependencies: 6639 6879 - supports-color 6640 6880 - typescript 6641 6881 6642 - vite@5.4.11(@types/node@22.10.2): 6882 + vite@5.4.11(@types/node@22.10.2)(lightningcss@1.29.1): 6643 6883 dependencies: 6644 6884 esbuild: 0.21.5 6645 6885 postcss: 8.4.49 ··· 6647 6887 optionalDependencies: 6648 6888 '@types/node': 22.10.2 6649 6889 fsevents: 2.3.3 6890 + lightningcss: 1.29.1 6650 6891 6651 6892 webidl-conversions@4.0.2: {} 6652 6893
+1 -2
postcss.config.js
··· 1 1 export default { 2 2 plugins: { 3 - tailwindcss: {}, 4 - autoprefixer: {}, 3 + '@tailwindcss/postcss': {}, 5 4 }, 6 5 };
+1 -1
src/app/components/header.tsx
··· 9 9 <a className="hover:text-[var(--base0E)]" href="https://bsky.app/profile/hayden.moe">bluesky</a> 10 10 <a className="hover:text-[var(--base0E)]" href="https://twitch.tv/hayden_dev">twitch</a> 11 11 <a className="hover:text-[var(--base0E)]" href="https://github.com/hbjydev">github</a> 12 - <a className="hover:text-[var(--base0E)] !border-r border-muted" href="/rss.xml">rss</a> 12 + <a className="hover:text-[var(--base0E)] border-r! border-muted" href="/rss.xml">rss</a> 13 13 </nav> 14 14 );
+2 -2
src/app/root.tsx
··· 46 46 <Links /> 47 47 </head> 48 48 <body className="antialiased bg-black text-white font-mono tracking-normal leading-normal flex flex-col min-h-screen selection:bg-[var(--base0E)] selection:text-black"> 49 - <div className="flex flex-col flex-grow"> 49 + <div className="flex flex-col grow"> 50 50 <Header /> 51 51 52 - <main className="mt-10 flex flex-col gap-3 px-5 pt-5 flex-grow"> 52 + <main className="mt-10 flex flex-col gap-3 px-5 pt-5 grow"> 53 53 {children} 54 54 </main> 55 55
+47 -25
src/app/tailwind.css
··· 1 - @import '@fontsource/geist-mono'; 1 + @import '@fontsource/geist-mono' layer(base); 2 + 3 + @import 'tailwindcss'; 2 4 3 - @tailwind base; 4 - @tailwind components; 5 - @tailwind utilities; 5 + @config '../../tailwind.config.ts'; 6 + 7 + /* 8 + The default border color has changed to `currentColor` in Tailwind CSS v4, 9 + so we've added these compatibility styles to make sure everything still 10 + looks the same as it did with Tailwind CSS v3. 11 + 12 + If we ever want to remove these styles, we need to add an explicit border 13 + color utility to any element that depends on these defaults. 14 + */ 15 + @layer base { 16 + *, 17 + ::after, 18 + ::before, 19 + ::backdrop, 20 + ::file-selector-button { 21 + border-color: var(--color-gray-200, currentColor); 22 + } 23 + } 24 + 25 + @utility rendering-pixelated { 26 + image-rendering: pixelated; 27 + } 28 + 29 + @utility before-hash-1 { 30 + &::before { 31 + content: '# ' / ''; 32 + color: var(--base03); 33 + } 34 + } 35 + 36 + @utility before-hash-2 { 37 + &::before { 38 + content: '## ' / ''; 39 + color: var(--base03); 40 + } 41 + } 42 + 43 + @utility before-hash-3 { 44 + &::before { 45 + content: '### ' / ''; 46 + color: var(--base03); 47 + } 48 + } 6 49 7 50 @layer base { 8 51 :root { ··· 22 65 --base0D: #42be65; 23 66 --base0E: #be95ff; 24 67 --base0F: #82cfff; 25 - } 26 - } 27 - 28 - @layer utilities { 29 - .rendering-pixelated { 30 - image-rendering: pixelated; 31 - } 32 - 33 - .before-hash-1::before { 34 - content: "# " / ""; 35 - color: var(--base03); 36 - } 37 - 38 - .before-hash-2::before { 39 - content: "## " / ""; 40 - color: var(--base03); 41 - } 42 - 43 - .before-hash-3::before { 44 - content: "### " / ""; 45 - color: var(--base03); 46 68 } 47 69 } 48 70