Using nix for cross platform dev
All checks were successful
Docker Deploy / build-and-push (push) Successful in 6m34s

This commit is contained in:
2025-06-30 13:49:26 -06:00
parent 5649c9592f
commit 0f6054701b
5 changed files with 261 additions and 260 deletions

View File

@ -1,4 +1,4 @@
FROM node:18 AS builder FROM node:24 AS builder
WORKDIR /app WORKDIR /app

View File

@ -6,7 +6,8 @@
"dev": "astro dev", "dev": "astro dev",
"build": "astro build", "build": "astro build",
"preview": "astro preview", "preview": "astro preview",
"astro": "astro" "astro": "astro",
"shell": "nix-shell"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.3.0", "@astrojs/mdx": "^4.3.0",
@ -14,21 +15,20 @@
"@astrojs/preact": "^4.1.0", "@astrojs/preact": "^4.1.0",
"@astrojs/rss": "^4.0.12", "@astrojs/rss": "^4.0.12",
"@iarna/toml": "^2.2.5", "@iarna/toml": "^2.2.5",
"@preact/signals": "^2.2.0", "@preact/signals": "^2.2.1",
"@tailwindcss/typography": "^0.5.16", "@tailwindcss/typography": "^0.5.16",
"@tailwindcss/vite": "^4.1.11", "@tailwindcss/vite": "^4.1.11",
"@types/puppeteer": "^7.0.4",
"astro": "^5.10.1", "astro": "^5.10.1",
"astro-icon": "^1.1.5", "astro-icon": "^1.1.5",
"lucide-preact": "^0.525.0", "lucide-preact": "^0.525.0",
"preact": "^10.26.9", "preact": "^10.26.9",
"puppeteer": "^24.11.0", "puppeteer": "^24.11.1",
"sharp": "^0.34.2", "sharp": "^0.34.2",
"tailwindcss": "^4.1.11" "tailwindcss": "^4.1.11"
}, },
"devDependencies": { "devDependencies": {
"@iconify-json/mdi": "^1.2.3", "@iconify-json/mdi": "^1.2.3",
"@iconify-json/simple-icons": "^1.2.40", "@iconify-json/simple-icons": "^1.2.41",
"daisyui": "^5.0.43" "daisyui": "^5.0.43"
}, },
"pnpm": { "pnpm": {

269
pnpm-lock.yaml generated
View File

@ -10,13 +10,13 @@ importers:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^4.3.0 specifier: ^4.3.0
version: 4.3.0(astro@5.10.1(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3)) version: 4.3.0(astro@5.10.1(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3))
'@astrojs/node': '@astrojs/node':
specifier: ^9.2.2 specifier: ^9.2.2
version: 9.2.2(astro@5.10.1(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3)) version: 9.2.2(astro@5.10.1(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3))
'@astrojs/preact': '@astrojs/preact':
specifier: ^4.1.0 specifier: ^4.1.0
version: 4.1.0(@babel/core@7.27.7)(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(preact@10.26.9) version: 4.1.0(@babel/core@7.27.7)(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(preact@10.26.9)
'@astrojs/rss': '@astrojs/rss':
specifier: ^4.0.12 specifier: ^4.0.12
version: 4.0.12 version: 4.0.12
@ -24,20 +24,17 @@ importers:
specifier: ^2.2.5 specifier: ^2.2.5
version: 2.2.5 version: 2.2.5
'@preact/signals': '@preact/signals':
specifier: ^2.2.0 specifier: ^2.2.1
version: 2.2.0(preact@10.26.9) version: 2.2.1(preact@10.26.9)
'@tailwindcss/typography': '@tailwindcss/typography':
specifier: ^0.5.16 specifier: ^0.5.16
version: 0.5.16(tailwindcss@4.1.11) version: 0.5.16(tailwindcss@4.1.11)
'@tailwindcss/vite': '@tailwindcss/vite':
specifier: ^4.1.11 specifier: ^4.1.11
version: 4.1.11(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)) version: 4.1.11(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1))
'@types/puppeteer':
specifier: ^7.0.4
version: 7.0.4(typescript@5.8.3)
astro: astro:
specifier: ^5.10.1 specifier: ^5.10.1
version: 5.10.1(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3) version: 5.10.1(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3)
astro-icon: astro-icon:
specifier: ^1.1.5 specifier: ^1.1.5
version: 1.1.5 version: 1.1.5
@ -48,8 +45,8 @@ importers:
specifier: ^10.26.9 specifier: ^10.26.9
version: 10.26.9 version: 10.26.9
puppeteer: puppeteer:
specifier: ^24.11.0 specifier: ^24.11.1
version: 24.11.0(typescript@5.8.3) version: 24.11.1(typescript@5.8.3)
sharp: sharp:
specifier: ^0.34.2 specifier: ^0.34.2
version: 0.34.2 version: 0.34.2
@ -61,8 +58,8 @@ importers:
specifier: ^1.2.3 specifier: ^1.2.3
version: 1.2.3 version: 1.2.3
'@iconify-json/simple-icons': '@iconify-json/simple-icons':
specifier: ^1.2.40 specifier: ^1.2.41
version: 1.2.40 version: 1.2.41
daisyui: daisyui:
specifier: ^5.0.43 specifier: ^5.0.43
version: 5.0.43 version: 5.0.43
@ -367,8 +364,8 @@ packages:
'@iconify-json/mdi@1.2.3': '@iconify-json/mdi@1.2.3':
resolution: {integrity: sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg==} resolution: {integrity: sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg==}
'@iconify-json/simple-icons@1.2.40': '@iconify-json/simple-icons@1.2.41':
resolution: {integrity: sha512-sr2fbrS8rRhJNap41ucTStctxTcWQ3lcsHkY3loc4Yt1KNOne6D+l1JTOQCDj9f/VrUktVIEdaRQoYTvqfuSSw==} resolution: {integrity: sha512-4tt29cKzNsxvt6rjAOVhEgpZV0L8jleTDTMdtvIJjF14Afp9aH8peuwGYyX35l6idfFwuzbvjSVfVyVjJtfmYA==}
'@iconify/tools@4.1.2': '@iconify/tools@4.1.2':
resolution: {integrity: sha512-q6NzLQYEN9zkDfcyBqD3vItHcZw97w/s++3H3TBxUORr57EfHxj6tOW6fyufDjMq+Vl56WXWaPx1csBPYlI5CA==} resolution: {integrity: sha512-q6NzLQYEN9zkDfcyBqD3vItHcZw97w/s++3H3TBxUORr57EfHxj6tOW6fyufDjMq+Vl56WXWaPx1csBPYlI5CA==}
@ -604,23 +601,18 @@ packages:
resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
engines: {node: '>=18.0.0'} engines: {node: '>=18.0.0'}
'@jridgewell/gen-mapping@0.3.8': '@jridgewell/gen-mapping@0.3.11':
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} resolution: {integrity: sha512-C512c1ytBTio4MrpWKlJpyFHT6+qfFL8SZ58zBzJ1OOzUEjHeF1BtjY2fH7n4x/g2OV/KiiMLAivOp1DXmiMMw==}
engines: {node: '>=6.0.0'}
'@jridgewell/resolve-uri@3.1.2': '@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
'@jridgewell/set-array@1.2.1': '@jridgewell/sourcemap-codec@1.5.3':
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} resolution: {integrity: sha512-AiR5uKpFxP3PjO4R19kQGIMwxyRyPuXmKEEy301V1C0+1rVjS94EZQXf1QKZYN8Q0YM+estSPhmx5JwNftv6nw==}
engines: {node: '>=6.0.0'}
'@jridgewell/sourcemap-codec@1.5.0': '@jridgewell/trace-mapping@0.3.28':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} resolution: {integrity: sha512-KNNHHwW3EIp4EDYOvYFGyIFfx36R2dNJYH4knnZlF8T5jdbD5Wx8xmSaQ2gP9URkJ04LGEtlcCtwArKcmFcwKw==}
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
'@mdx-js/mdx@3.1.0': '@mdx-js/mdx@3.1.0':
resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
@ -634,27 +626,27 @@ packages:
'@babel/core': 7.x '@babel/core': 7.x
vite: 2.x || 3.x || 4.x || 5.x || 6.x || 7.x vite: 2.x || 3.x || 4.x || 5.x || 6.x || 7.x
'@preact/signals-core@1.10.0': '@preact/signals-core@1.11.0':
resolution: {integrity: sha512-qlKeXlfqtlC+sjxCPHt6Sk0/dXBrKZVcPlianqjNc/vW263YBFiP5mRrgKpHoO0q222Thm1TdYQWfCKpbbgvwA==} resolution: {integrity: sha512-jglbibeWHuFRzEWVFY/TT7wB1PppJxmcSfUHcK+2J9vBRtiooMfw6tAPttojNYrrpdGViqAYCbPpmWYlMm+eMQ==}
'@preact/signals@2.2.0': '@preact/signals@2.2.1':
resolution: {integrity: sha512-P3KPcEYyVk9Wiwfw68QQzRpPkt0H+zjfH3X4AaGCDlc86GuRBYFGiAxT1nC5F5qlsVIEmjNJ9yVYe7C91z3L+g==} resolution: {integrity: sha512-cX3mijdjHbbz3dBoJ6z687CGYEOp9ifj3uFnm4UKW+DxXKPMvE2y/VSdm0PXhXmHnr6F0iSnDJ+dLwmV7CYT5A==}
peerDependencies: peerDependencies:
preact: '>= 10.25.0' preact: '>= 10.25.0'
'@prefresh/babel-plugin@0.5.1': '@prefresh/babel-plugin@0.5.2':
resolution: {integrity: sha512-uG3jGEAysxWoyG3XkYfjYHgaySFrSsaEb4GagLzYaxlydbuREtaX+FTxuIidp241RaLl85XoHg9Ej6E4+V1pcg==} resolution: {integrity: sha512-AOl4HG6dAxWkJ5ndPHBgBa49oo/9bOiJuRDKHLSTyH+Fd9x00shTXpdiTj1W41l6oQIwUOAgJeHMn4QwIDpHkA==}
'@prefresh/core@1.5.3': '@prefresh/core@1.5.4':
resolution: {integrity: sha512-nDzxj0tA1/M6APNAWqaxkZ+3sTdPHESa+gol4+Bw7rMc2btWdkLoNH7j9rGhUb8SThC0Vz0VoXtq+U+9azGLHg==} resolution: {integrity: sha512-F7Sd/qnPX2QEkgiJr0hmImYjp6s85chlkR3Y9ncWVSMusN3UM9vMhQIdcYo/ugqxqo7cKH7Y7Oofrsimf7TWuQ==}
peerDependencies: peerDependencies:
preact: ^10.0.0 preact: ^10.0.0
'@prefresh/utils@1.2.0': '@prefresh/utils@1.2.1':
resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} resolution: {integrity: sha512-vq/sIuN5nYfYzvyayXI4C2QkprfNaHUQ9ZX+3xLD8nL3rWyzpxOm1+K7RtMbhd+66QcaISViK7amjnheQ/4WZw==}
'@prefresh/vite@2.4.7': '@prefresh/vite@2.4.8':
resolution: {integrity: sha512-zmCEDWSFHl5A7PciXa/fe+OUjoGi4iiCQclpWfpIg7LjxwWrtlUT4DfxDBcQwHfTyipS/XDm8x7WYrkiTW0q+w==} resolution: {integrity: sha512-H7vlo9UbJInuRbZhRQrdgVqLP7qKjDoX7TgYWWwIVhEHeHO0hZ4zyicvwBrV1wX5A3EPOmArgRkUaN7cPI2VXQ==}
peerDependencies: peerDependencies:
preact: ^10.4.0 preact: ^10.4.0
vite: '>=2.0.0' vite: '>=2.0.0'
@ -930,12 +922,8 @@ packages:
'@types/nlcst@2.0.3': '@types/nlcst@2.0.3':
resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
'@types/node@24.0.6': '@types/node@24.0.7':
resolution: {integrity: sha512-ZOyn+gOs749xU7ovp+Ibj0g1o3dFRqsfPnT22C2t5JzcRvgsEDpGawPbCISGKLudJk9Y0wiu9sYd6kUh0pc9TA==} resolution: {integrity: sha512-YIEUUr4yf8q8oQoXPpSlnvKNVKDQlPMWrmOcgzoduo7kvA2UF0/BwJ/eMKFTiTtkNL17I0M6Xe2tvwFU7be6iw==}
'@types/puppeteer@7.0.4':
resolution: {integrity: sha512-ja78vquZc8y+GM2al07GZqWDKQskQXygCDiu0e3uO0DMRKqE0MjrFBFmTulfPYzLB6WnL7Kl2tFPy0WXSpPomg==}
deprecated: This is a stub types definition. puppeteer provides its own type definitions, so you do not need this installed.
'@types/tar@6.1.13': '@types/tar@6.1.13':
resolution: {integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==} resolution: {integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==}
@ -1237,8 +1225,8 @@ packages:
crossws@0.3.5: crossws@0.3.5:
resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==}
css-select@5.1.0: css-select@5.2.2:
resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
css-tree@2.2.1: css-tree@2.2.1:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
@ -1252,8 +1240,8 @@ packages:
resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
css-what@6.1.0: css-what@6.2.2:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
cssesc@3.0.0: cssesc@3.0.0:
@ -1357,8 +1345,8 @@ packages:
ee-first@1.1.1: ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
electron-to-chromium@1.5.177: electron-to-chromium@1.5.178:
resolution: {integrity: sha512-7EH2G59nLsEMj97fpDuvVcYi6lwTcM1xuWw3PssD8xzboAW7zj7iB3COEEEATUfjLHrs5uKBLQT03V/8URx06g==} resolution: {integrity: sha512-wObbz/ar3Bc6e4X5vf0iO8xTN8YAjN/tgiAOJLr7yjYFtP9wAjq8Mb5h0yn6kResir+VYx2DXBj9NNobs0ETSA==}
emoji-regex@10.4.0: emoji-regex@10.4.0:
resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
@ -2265,8 +2253,8 @@ packages:
pkg-types@1.3.1: pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
pkg-types@2.1.1: pkg-types@2.2.0:
resolution: {integrity: sha512-eY0QFb6eSwc9+0d/5D2lFFUq+A3n3QNGSy/X2Nvp+6MfzGw2u6EbA7S80actgjY1lkvvI0pqB+a4hioMh443Ew==} resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==}
postcss-selector-parser@6.0.10: postcss-selector-parser@6.0.10:
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
@ -2312,12 +2300,12 @@ packages:
pump@3.0.3: pump@3.0.3:
resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
puppeteer-core@24.11.0: puppeteer-core@24.11.1:
resolution: {integrity: sha512-ncLty0wRjCX67UxzXemmD1mOxb6y1Xzrx1nym8SAQ6cYrcypOVf77CfcZru6P+EiMA9gNDeQNscowKSE9xvhMw==} resolution: {integrity: sha512-I0Gv3jWBRY9E3NTBElp7br7Gaid5RbFTxCRRMHym1kCf0ompO0Pel4REGsGDwMWkg3uwFzIH7t7qXs3T4DKRWA==}
engines: {node: '>=18'} engines: {node: '>=18'}
puppeteer@24.11.0: puppeteer@24.11.1:
resolution: {integrity: sha512-7XFpexeYIMen/pfGiDjUpIV7BB9EuVQBtXeQ0cUOmVJTkAuQD3oPHVU7iYeA/mrIJyk79sfOmT20a6SEDwGTLQ==} resolution: {integrity: sha512-QbccB/LgxX4tSZRzr9KQ1Jajdvu3n35Dlf/Otjz0QfR+6mDoZdMWLcWF94uQoC3OJerCyYm5hlU2Ru4nBoId2A==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
@ -2464,8 +2452,8 @@ packages:
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
smol-toml@1.3.4: smol-toml@1.4.0:
resolution: {integrity: sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==} resolution: {integrity: sha512-IMxaDA/58wBvkvX77ykQ6e9r6fjs8xbxpz8bMCyVQ/fEFWbA5uJrnaVwDuhLrrANGdd7apRyTPDBvI893Bxu9g==}
engines: {node: '>= 18'} engines: {node: '>= 18'}
socks-proxy-agent@8.0.5: socks-proxy-agent@8.0.5:
@ -2549,8 +2537,8 @@ packages:
resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
engines: {node: '>=6'} engines: {node: '>=6'}
tar-fs@3.0.10: tar-fs@3.1.0:
resolution: {integrity: sha512-C1SwlQGNLe/jPNqapK8epDsXME7CAJR5RL3GcE6KWx1d9OUByzoHVcbu1VPI8tevg9H8Alae0AApHHFGzrD5zA==} resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==}
tar-stream@3.1.7: tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
@ -2841,8 +2829,8 @@ packages:
wrappy@1.0.2: wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
ws@8.18.2: ws@8.18.3:
resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
peerDependencies: peerDependencies:
bufferutil: ^4.0.1 bufferutil: ^4.0.1
@ -2914,8 +2902,8 @@ snapshots:
'@ampproject/remapping@2.3.0': '@ampproject/remapping@2.3.0':
dependencies: dependencies:
'@jridgewell/gen-mapping': 0.3.8 '@jridgewell/gen-mapping': 0.3.11
'@jridgewell/trace-mapping': 0.3.25 '@jridgewell/trace-mapping': 0.3.28
'@antfu/install-pkg@1.1.0': '@antfu/install-pkg@1.1.0':
dependencies: dependencies:
@ -2945,7 +2933,7 @@ snapshots:
remark-rehype: 11.1.2 remark-rehype: 11.1.2
remark-smartypants: 3.0.2 remark-smartypants: 3.0.2
shiki: 3.7.0 shiki: 3.7.0
smol-toml: 1.3.4 smol-toml: 1.4.0
unified: 11.0.5 unified: 11.0.5
unist-util-remove-position: 5.0.0 unist-util-remove-position: 5.0.0
unist-util-visit: 5.0.0 unist-util-visit: 5.0.0
@ -2954,12 +2942,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@astrojs/mdx@4.3.0(astro@5.10.1(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3))': '@astrojs/mdx@4.3.0(astro@5.10.1(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3))':
dependencies: dependencies:
'@astrojs/markdown-remark': 6.3.2 '@astrojs/markdown-remark': 6.3.2
'@mdx-js/mdx': 3.1.0(acorn@8.15.0) '@mdx-js/mdx': 3.1.0(acorn@8.15.0)
acorn: 8.15.0 acorn: 8.15.0
astro: 5.10.1(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3) astro: 5.10.1(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3)
es-module-lexer: 1.7.0 es-module-lexer: 1.7.0
estree-util-visit: 2.0.0 estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5 hast-util-to-html: 9.0.5
@ -2973,22 +2961,22 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@astrojs/node@9.2.2(astro@5.10.1(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3))': '@astrojs/node@9.2.2(astro@5.10.1(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3))':
dependencies: dependencies:
'@astrojs/internal-helpers': 0.6.1 '@astrojs/internal-helpers': 0.6.1
astro: 5.10.1(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3) astro: 5.10.1(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3)
send: 1.2.0 send: 1.2.0
server-destroy: 1.0.1 server-destroy: 1.0.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@astrojs/preact@4.1.0(@babel/core@7.27.7)(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(preact@10.26.9)': '@astrojs/preact@4.1.0(@babel/core@7.27.7)(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(preact@10.26.9)':
dependencies: dependencies:
'@preact/preset-vite': 2.10.2(@babel/core@7.27.7)(preact@10.26.9)(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)) '@preact/preset-vite': 2.10.2(@babel/core@7.27.7)(preact@10.26.9)(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1))
'@preact/signals': 2.2.0(preact@10.26.9) '@preact/signals': 2.2.1(preact@10.26.9)
preact: 10.26.9 preact: 10.26.9
preact-render-to-string: 6.5.13(preact@10.26.9) preact-render-to-string: 6.5.13(preact@10.26.9)
vite: 6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
- '@types/node' - '@types/node'
@ -3057,8 +3045,8 @@ snapshots:
dependencies: dependencies:
'@babel/parser': 7.27.7 '@babel/parser': 7.27.7
'@babel/types': 7.27.7 '@babel/types': 7.27.7
'@jridgewell/gen-mapping': 0.3.8 '@jridgewell/gen-mapping': 0.3.11
'@jridgewell/trace-mapping': 0.3.25 '@jridgewell/trace-mapping': 0.3.28
jsesc: 3.1.0 jsesc: 3.1.0
'@babel/helper-annotate-as-pure@7.27.3': '@babel/helper-annotate-as-pure@7.27.3':
@ -3246,7 +3234,7 @@ snapshots:
dependencies: dependencies:
'@iconify/types': 2.0.0 '@iconify/types': 2.0.0
'@iconify-json/simple-icons@1.2.40': '@iconify-json/simple-icons@1.2.41':
dependencies: dependencies:
'@iconify/types': 2.0.0 '@iconify/types': 2.0.0
@ -3442,22 +3430,19 @@ snapshots:
dependencies: dependencies:
minipass: 7.1.2 minipass: 7.1.2
'@jridgewell/gen-mapping@0.3.8': '@jridgewell/gen-mapping@0.3.11':
dependencies: dependencies:
'@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.5.3
'@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.28
'@jridgewell/trace-mapping': 0.3.25
'@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/set-array@1.2.1': {} '@jridgewell/sourcemap-codec@1.5.3': {}
'@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.28':
'@jridgewell/trace-mapping@0.3.25':
dependencies: dependencies:
'@jridgewell/resolve-uri': 3.1.2 '@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/sourcemap-codec': 1.5.3
'@mdx-js/mdx@3.1.0(acorn@8.15.0)': '@mdx-js/mdx@3.1.0(acorn@8.15.0)':
dependencies: dependencies:
@ -3491,46 +3476,46 @@ snapshots:
'@oslojs/encoding@1.1.0': {} '@oslojs/encoding@1.1.0': {}
'@preact/preset-vite@2.10.2(@babel/core@7.27.7)(preact@10.26.9)(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1))': '@preact/preset-vite@2.10.2(@babel/core@7.27.7)(preact@10.26.9)(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1))':
dependencies: dependencies:
'@babel/core': 7.27.7 '@babel/core': 7.27.7
'@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.7)
'@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.27.7)
'@prefresh/vite': 2.4.7(preact@10.26.9)(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)) '@prefresh/vite': 2.4.8(preact@10.26.9)(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1))
'@rollup/pluginutils': 4.2.1 '@rollup/pluginutils': 4.2.1
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.27.7) babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.27.7)
debug: 4.4.1 debug: 4.4.1
picocolors: 1.1.1 picocolors: 1.1.1
vite: 6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)
vite-prerender-plugin: 0.5.10(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)) vite-prerender-plugin: 0.5.10(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1))
transitivePeerDependencies: transitivePeerDependencies:
- preact - preact
- supports-color - supports-color
'@preact/signals-core@1.10.0': {} '@preact/signals-core@1.11.0': {}
'@preact/signals@2.2.0(preact@10.26.9)': '@preact/signals@2.2.1(preact@10.26.9)':
dependencies: dependencies:
'@preact/signals-core': 1.10.0 '@preact/signals-core': 1.11.0
preact: 10.26.9 preact: 10.26.9
'@prefresh/babel-plugin@0.5.1': {} '@prefresh/babel-plugin@0.5.2': {}
'@prefresh/core@1.5.3(preact@10.26.9)': '@prefresh/core@1.5.4(preact@10.26.9)':
dependencies: dependencies:
preact: 10.26.9 preact: 10.26.9
'@prefresh/utils@1.2.0': {} '@prefresh/utils@1.2.1': {}
'@prefresh/vite@2.4.7(preact@10.26.9)(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1))': '@prefresh/vite@2.4.8(preact@10.26.9)(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1))':
dependencies: dependencies:
'@babel/core': 7.27.7 '@babel/core': 7.27.7
'@prefresh/babel-plugin': 0.5.1 '@prefresh/babel-plugin': 0.5.2
'@prefresh/core': 1.5.3(preact@10.26.9) '@prefresh/core': 1.5.4(preact@10.26.9)
'@prefresh/utils': 1.2.0 '@prefresh/utils': 1.2.1
'@rollup/pluginutils': 4.2.1 '@rollup/pluginutils': 4.2.1
preact: 10.26.9 preact: 10.26.9
vite: 6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -3541,7 +3526,7 @@ snapshots:
progress: 2.0.3 progress: 2.0.3
proxy-agent: 6.5.0 proxy-agent: 6.5.0
semver: 7.7.2 semver: 7.7.2
tar-fs: 3.0.10 tar-fs: 3.1.0
yargs: 17.7.2 yargs: 17.7.2
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
@ -3729,12 +3714,12 @@ snapshots:
postcss-selector-parser: 6.0.10 postcss-selector-parser: 6.0.10
tailwindcss: 4.1.11 tailwindcss: 4.1.11
'@tailwindcss/vite@4.1.11(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1))': '@tailwindcss/vite@4.1.11(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1))':
dependencies: dependencies:
'@tailwindcss/node': 4.1.11 '@tailwindcss/node': 4.1.11
'@tailwindcss/oxide': 4.1.11 '@tailwindcss/oxide': 4.1.11
tailwindcss: 4.1.11 tailwindcss: 4.1.11
vite: 6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)
'@tootallnate/quickjs-emscripten@0.23.0': {} '@tootallnate/quickjs-emscripten@0.23.0': {}
@ -3752,7 +3737,7 @@ snapshots:
'@types/fontkit@2.0.8': '@types/fontkit@2.0.8':
dependencies: dependencies:
'@types/node': 24.0.6 '@types/node': 24.0.7
'@types/hast@3.0.4': '@types/hast@3.0.4':
dependencies: dependencies:
@ -3770,23 +3755,13 @@ snapshots:
dependencies: dependencies:
'@types/unist': 3.0.3 '@types/unist': 3.0.3
'@types/node@24.0.6': '@types/node@24.0.7':
dependencies: dependencies:
undici-types: 7.8.0 undici-types: 7.8.0
'@types/puppeteer@7.0.4(typescript@5.8.3)':
dependencies:
puppeteer: 24.11.0(typescript@5.8.3)
transitivePeerDependencies:
- bare-buffer
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@types/tar@6.1.13': '@types/tar@6.1.13':
dependencies: dependencies:
'@types/node': 24.0.6 '@types/node': 24.0.7
minipass: 4.2.8 minipass: 4.2.8
'@types/unist@2.0.11': {} '@types/unist@2.0.11': {}
@ -3795,7 +3770,7 @@ snapshots:
'@types/yauzl@2.10.3': '@types/yauzl@2.10.3':
dependencies: dependencies:
'@types/node': 24.0.6 '@types/node': 24.0.7
optional: true optional: true
'@ungap/structured-clone@1.3.0': {} '@ungap/structured-clone@1.3.0': {}
@ -3848,7 +3823,7 @@ snapshots:
- debug - debug
- supports-color - supports-color
astro@5.10.1(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3): astro@5.10.1(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.1)(typescript@5.8.3):
dependencies: dependencies:
'@astrojs/compiler': 2.12.2 '@astrojs/compiler': 2.12.2
'@astrojs/internal-helpers': 0.6.1 '@astrojs/internal-helpers': 0.6.1
@ -3903,8 +3878,8 @@ snapshots:
unist-util-visit: 5.0.0 unist-util-visit: 5.0.0
unstorage: 1.16.0 unstorage: 1.16.0
vfile: 6.0.3 vfile: 6.0.3
vite: 6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)
vitefu: 1.0.7(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)) vitefu: 1.0.7(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1))
xxhash-wasm: 1.1.0 xxhash-wasm: 1.1.0
yargs-parser: 21.1.1 yargs-parser: 21.1.1
yocto-spinner: 0.2.3 yocto-spinner: 0.2.3
@ -4021,7 +3996,7 @@ snapshots:
browserslist@4.25.1: browserslist@4.25.1:
dependencies: dependencies:
caniuse-lite: 1.0.30001726 caniuse-lite: 1.0.30001726
electron-to-chromium: 1.5.177 electron-to-chromium: 1.5.178
node-releases: 2.0.19 node-releases: 2.0.19
update-browserslist-db: 1.1.3(browserslist@4.25.1) update-browserslist-db: 1.1.3(browserslist@4.25.1)
@ -4053,8 +4028,8 @@ snapshots:
cheerio-select@2.1.0: cheerio-select@2.1.0:
dependencies: dependencies:
boolbase: 1.0.0 boolbase: 1.0.0
css-select: 5.1.0 css-select: 5.2.2
css-what: 6.1.0 css-what: 6.2.2
domelementtype: 2.3.0 domelementtype: 2.3.0
domhandler: 5.0.3 domhandler: 5.0.3
domutils: 3.2.2 domutils: 3.2.2
@ -4158,10 +4133,10 @@ snapshots:
dependencies: dependencies:
uncrypto: 0.1.3 uncrypto: 0.1.3
css-select@5.1.0: css-select@5.2.2:
dependencies: dependencies:
boolbase: 1.0.0 boolbase: 1.0.0
css-what: 6.1.0 css-what: 6.2.2
domhandler: 5.0.3 domhandler: 5.0.3
domutils: 3.2.2 domutils: 3.2.2
nth-check: 2.1.1 nth-check: 2.1.1
@ -4181,7 +4156,7 @@ snapshots:
mdn-data: 2.12.2 mdn-data: 2.12.2
source-map-js: 1.2.1 source-map-js: 1.2.1
css-what@6.1.0: {} css-what@6.2.2: {}
cssesc@3.0.0: {} cssesc@3.0.0: {}
@ -4265,7 +4240,7 @@ snapshots:
ee-first@1.1.1: {} ee-first@1.1.1: {}
electron-to-chromium@1.5.177: {} electron-to-chromium@1.5.178: {}
emoji-regex@10.4.0: {} emoji-regex@10.4.0: {}
@ -4846,7 +4821,7 @@ snapshots:
local-pkg@1.1.1: local-pkg@1.1.1:
dependencies: dependencies:
mlly: 1.7.4 mlly: 1.7.4
pkg-types: 2.1.1 pkg-types: 2.2.0
quansync: 0.2.10 quansync: 0.2.10
lodash.castarray@4.4.0: {} lodash.castarray@4.4.0: {}
@ -4871,7 +4846,7 @@ snapshots:
magic-string@0.30.17: magic-string@0.30.17:
dependencies: dependencies:
'@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/sourcemap-codec': 1.5.3
magicast@0.3.5: magicast@0.3.5:
dependencies: dependencies:
@ -5390,7 +5365,7 @@ snapshots:
node-html-parser@6.1.13: node-html-parser@6.1.13:
dependencies: dependencies:
css-select: 5.1.0 css-select: 5.2.2
he: 1.2.0 he: 1.2.0
node-mock-http@1.0.1: {} node-mock-http@1.0.1: {}
@ -5521,7 +5496,7 @@ snapshots:
mlly: 1.7.4 mlly: 1.7.4
pathe: 2.0.3 pathe: 2.0.3
pkg-types@2.1.1: pkg-types@2.2.0:
dependencies: dependencies:
confbox: 0.2.2 confbox: 0.2.2
exsolve: 1.0.7 exsolve: 1.0.7
@ -5577,27 +5552,27 @@ snapshots:
end-of-stream: 1.4.5 end-of-stream: 1.4.5
once: 1.4.0 once: 1.4.0
puppeteer-core@24.11.0: puppeteer-core@24.11.1:
dependencies: dependencies:
'@puppeteer/browsers': 2.10.5 '@puppeteer/browsers': 2.10.5
chromium-bidi: 5.1.0(devtools-protocol@0.0.1464554) chromium-bidi: 5.1.0(devtools-protocol@0.0.1464554)
debug: 4.4.1 debug: 4.4.1
devtools-protocol: 0.0.1464554 devtools-protocol: 0.0.1464554
typed-query-selector: 2.12.0 typed-query-selector: 2.12.0
ws: 8.18.2 ws: 8.18.3
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
- bufferutil - bufferutil
- supports-color - supports-color
- utf-8-validate - utf-8-validate
puppeteer@24.11.0(typescript@5.8.3): puppeteer@24.11.1(typescript@5.8.3):
dependencies: dependencies:
'@puppeteer/browsers': 2.10.5 '@puppeteer/browsers': 2.10.5
chromium-bidi: 5.1.0(devtools-protocol@0.0.1464554) chromium-bidi: 5.1.0(devtools-protocol@0.0.1464554)
cosmiconfig: 9.0.0(typescript@5.8.3) cosmiconfig: 9.0.0(typescript@5.8.3)
devtools-protocol: 0.0.1464554 devtools-protocol: 0.0.1464554
puppeteer-core: 24.11.0 puppeteer-core: 24.11.1
typed-query-selector: 2.12.0 typed-query-selector: 2.12.0
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
@ -5896,7 +5871,7 @@ snapshots:
smart-buffer@4.2.0: {} smart-buffer@4.2.0: {}
smol-toml@1.3.4: {} smol-toml@1.4.0: {}
socks-proxy-agent@8.0.5: socks-proxy-agent@8.0.5:
dependencies: dependencies:
@ -5974,9 +5949,9 @@ snapshots:
dependencies: dependencies:
'@trysound/sax': 0.2.0 '@trysound/sax': 0.2.0
commander: 7.2.0 commander: 7.2.0
css-select: 5.1.0 css-select: 5.2.2
css-tree: 2.3.1 css-tree: 2.3.1
css-what: 6.1.0 css-what: 6.2.2
csso: 5.0.5 csso: 5.0.5
picocolors: 1.1.1 picocolors: 1.1.1
@ -5984,7 +5959,7 @@ snapshots:
tapable@2.2.2: {} tapable@2.2.2: {}
tar-fs@3.0.10: tar-fs@3.1.0:
dependencies: dependencies:
pump: 3.0.3 pump: 3.0.3
tar-stream: 3.1.7 tar-stream: 3.1.7
@ -6169,7 +6144,7 @@ snapshots:
'@types/unist': 3.0.3 '@types/unist': 3.0.3
vfile-message: 4.0.2 vfile-message: 4.0.2
vite-prerender-plugin@0.5.10(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)): vite-prerender-plugin@0.5.10(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)):
dependencies: dependencies:
kolorist: 1.8.0 kolorist: 1.8.0
magic-string: 0.30.17 magic-string: 0.30.17
@ -6177,9 +6152,9 @@ snapshots:
simple-code-frame: 1.3.0 simple-code-frame: 1.3.0
source-map: 0.7.4 source-map: 0.7.4
stack-trace: 1.0.0-pre2 stack-trace: 1.0.0-pre2
vite: 6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)
vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1): vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1):
dependencies: dependencies:
esbuild: 0.25.5 esbuild: 0.25.5
fdir: 6.4.6(picomatch@4.0.2) fdir: 6.4.6(picomatch@4.0.2)
@ -6188,14 +6163,14 @@ snapshots:
rollup: 4.44.1 rollup: 4.44.1
tinyglobby: 0.2.14 tinyglobby: 0.2.14
optionalDependencies: optionalDependencies:
'@types/node': 24.0.6 '@types/node': 24.0.7
fsevents: 2.3.3 fsevents: 2.3.3
jiti: 2.4.2 jiti: 2.4.2
lightningcss: 1.30.1 lightningcss: 1.30.1
vitefu@1.0.7(vite@6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1)): vitefu@1.0.7(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)):
optionalDependencies: optionalDependencies:
vite: 6.3.5(@types/node@24.0.6)(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)
web-namespaces@2.0.1: {} web-namespaces@2.0.1: {}
@ -6232,7 +6207,7 @@ snapshots:
wrappy@1.0.2: {} wrappy@1.0.2: {}
ws@8.18.2: {} ws@8.18.3: {}
xxhash-wasm@1.1.0: {} xxhash-wasm@1.1.0: {}

30
shell.nix Normal file
View File

@ -0,0 +1,30 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
buildInputs = with pkgs; [
nodejs_24
nodePackages.pnpm
chromium
git
curl
];
shellHook = ''
echo "🚀 atridotdad development environment loaded!"
echo "Node version: $(node --version)"
echo "pnpm version: $(pnpm --version)"
echo "Chromium path: ${pkgs.chromium}/bin/chromium"
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
export PUPPETEER_EXECUTABLE_PATH="${pkgs.chromium}/bin/chromium"
if [ ! -d "node_modules" ]; then
echo "📦 Installing dependencies..."
pnpm install
fi
'';
# Environment variables
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = "true";
PUPPETEER_EXECUTABLE_PATH = "${pkgs.chromium}/bin/chromium";
}

View File

@ -263,8 +263,7 @@ const generateResumeHTML = async (data: ResumeData): Promise<string> => {
<h1 class="text-3xl font-bold text-gray-900 mb-1">${data.basics.name}</h1> <h1 class="text-3xl font-bold text-gray-900 mb-1">${data.basics.name}</h1>
<div class="flex justify-center items-center flex-wrap gap-4 text-xs text-gray-600"> <div class="flex justify-center items-center flex-wrap gap-4 text-xs text-gray-600">
${data.basics.email ? `<div class="flex items-center gap-1">${emailIcon} ${data.basics.email}</div>` : ""} ${data.basics.email ? `<div class="flex items-center gap-1">${emailIcon} ${data.basics.email}</div>` : ""}
${ ${data.basics.profiles
data.basics.profiles
?.map((profile) => { ?.map((profile) => {
const icon = profileIcons[profile.network] || ""; const icon = profileIcons[profile.network] || "";
const displayUrl = profile.url const displayUrl = profile.url
@ -277,8 +276,7 @@ const generateResumeHTML = async (data: ResumeData): Promise<string> => {
</div> </div>
</header> </header>
${ ${data.summary && resumeConfig.sections.summary?.enabled
data.summary && resumeConfig.sections.summary?.enabled
? ` ? `
<section class="mb-3"> <section class="mb-3">
<h2 class="text-sm font-semibold text-gray-900 mb-2 pb-1 border-b border-gray-300"> <h2 class="text-sm font-semibold text-gray-900 mb-2 pb-1 border-b border-gray-300">
@ -416,10 +414,8 @@ export const GET: APIRoute = async ({ request }) => {
const browser = await puppeteer.launch({ const browser = await puppeteer.launch({
headless: true, headless: true,
defaultViewport: null, defaultViewport: null,
executablePath: executablePath: process.env.PUPPETEER_EXECUTABLE_PATH ||
process.env.NODE_ENV === "production" (process.env.NODE_ENV === "production" ? "/usr/bin/google-chrome" : undefined),
? "/usr/bin/google-chrome"
: undefined,
args: [ args: [
"--no-sandbox", "--no-sandbox",
"--disable-setuid-sandbox", "--disable-setuid-sandbox",