mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-09-22 12:03:25 -04:00
Merge branch 'renovate/canvas-3.x' into 'main'
Update dependency canvas to v3 See merge request PronounsPage/PronounsPage!585
This commit is contained in:
commit
5ca29e538d
@ -6,7 +6,7 @@
|
||||
artifacts: false
|
||||
rules:
|
||||
-
|
||||
if: $CI_COMMIT_REF_PROTECTED && $DEPLOY_TARGET =~ $ENVIRONMENT_PATTERN
|
||||
if: $CI_COMMIT_TAG =~ /^deploy-.*/ && $CI_COMMIT_TAG_MESSAGE =~ $ENVIRONMENT_PATTERN
|
||||
-
|
||||
if: $CI_COMMIT_REF_PROTECTED == 'true' && $DEPLOY_TARGET =~ $ENVIRONMENT_PATTERN
|
||||
-
|
||||
|
@ -23,7 +23,7 @@
|
||||
"@sentry/cli": "^2.31.0",
|
||||
"@sentry/node": "^7.109.0",
|
||||
"abort-controller": "^3.0.0",
|
||||
"canvas": "^2.11.2",
|
||||
"canvas": "^3.1.0",
|
||||
"dotenv": "^16.4.5",
|
||||
"feed": "^4.2.2",
|
||||
"generic-diff": "^1.0.1",
|
||||
|
172
pnpm-lock.yaml
generated
172
pnpm-lock.yaml
generated
@ -33,8 +33,8 @@ importers:
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0
|
||||
canvas:
|
||||
specifier: ^2.11.2
|
||||
version: 2.11.2(encoding@0.1.13)
|
||||
specifier: ^3.1.0
|
||||
version: 3.1.0
|
||||
dotenv:
|
||||
specifier: ^16.4.5
|
||||
version: 16.4.7
|
||||
@ -67,7 +67,7 @@ importers:
|
||||
version: 0.7.3
|
||||
jsdom:
|
||||
specifier: ^24.1.1
|
||||
version: 24.1.3(canvas@2.11.2(encoding@0.1.13))
|
||||
version: 24.1.3(canvas@3.1.0)
|
||||
luxon:
|
||||
specifier: ^1.28.1
|
||||
version: 1.28.1
|
||||
@ -146,7 +146,7 @@ importers:
|
||||
version: 1.0.1(@vue/compiler-sfc@3.5.13)(eslint@9.13.0(jiti@2.4.2))(magicast@0.3.5)(typescript@5.7.2)(vite@5.4.11(@types/node@20.16.5)(sass@1.32.12)(terser@5.33.0))
|
||||
'@nuxt/test-utils':
|
||||
specifier: ^3.15.4
|
||||
version: 3.15.4(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0)
|
||||
version: 3.15.4(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@3.1.0))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0)
|
||||
'@nuxtjs/plausible':
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.0(magicast@0.3.5)
|
||||
@ -215,7 +215,7 @@ importers:
|
||||
version: 0.10.6(magicast@0.3.5)(vite@5.4.11(@types/node@20.16.5)(sass@1.32.12)(terser@5.33.0))(workbox-build@7.3.0)(workbox-window@7.3.0)
|
||||
'@vitest/coverage-v8':
|
||||
specifier: ^2.1.9
|
||||
version: 2.1.9(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0))
|
||||
version: 2.1.9(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0))
|
||||
'@vue/test-utils':
|
||||
specifier: ^2.4.6
|
||||
version: 2.4.6
|
||||
@ -284,7 +284,7 @@ importers:
|
||||
version: https://codeload.github.com/pixunil/h3-express/tar.gz/0dd96342062c6190cc50101e7b48480587ca9582
|
||||
html-validate:
|
||||
specifier: ^9.2.2
|
||||
version: 9.3.0(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0))
|
||||
version: 9.3.0(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0))
|
||||
markdown-it:
|
||||
specifier: ^14.0.0
|
||||
version: 14.1.0
|
||||
@ -329,7 +329,7 @@ importers:
|
||||
version: 5.7.2
|
||||
vitest:
|
||||
specifier: ^2.1.9
|
||||
version: 2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0)
|
||||
version: 2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0)
|
||||
vue-component-type-helpers:
|
||||
specifier: ^2.1.6
|
||||
version: 2.1.6
|
||||
@ -1657,10 +1657,6 @@ packages:
|
||||
'@kwsites/promise-deferred@1.1.1':
|
||||
resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==}
|
||||
|
||||
'@mapbox/node-pre-gyp@1.0.11':
|
||||
resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
|
||||
hasBin: true
|
||||
|
||||
'@mapbox/node-pre-gyp@2.0.0':
|
||||
resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==}
|
||||
engines: {node: '>=18'}
|
||||
@ -3006,11 +3002,6 @@ packages:
|
||||
resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
are-we-there-yet@2.0.0:
|
||||
resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
|
||||
engines: {node: '>=10'}
|
||||
deprecated: This package is no longer supported.
|
||||
|
||||
are-we-there-yet@3.0.1:
|
||||
resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
@ -3307,9 +3298,9 @@ packages:
|
||||
caniuse-lite@1.0.30001692:
|
||||
resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==}
|
||||
|
||||
canvas@2.11.2:
|
||||
resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==}
|
||||
engines: {node: '>=6'}
|
||||
canvas@3.1.0:
|
||||
resolution: {integrity: sha512-tTj3CqqukVJ9NgSahykNwtGda7V33VLObwrHfzT0vqJXu7J4d4C/7kQQW3fOEGDfZZoILPut5H00gOjyttPGyg==}
|
||||
engines: {node: ^18.12.0 || >= 20.9.0}
|
||||
|
||||
capture-stack-trace@1.0.2:
|
||||
resolution: {integrity: sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==}
|
||||
@ -3753,10 +3744,6 @@ packages:
|
||||
decimal.js@10.4.3:
|
||||
resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
|
||||
|
||||
decompress-response@4.2.1:
|
||||
resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
decompress-response@6.0.0:
|
||||
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
|
||||
engines: {node: '>=10'}
|
||||
@ -4461,11 +4448,6 @@ packages:
|
||||
resolution: {integrity: sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
gauge@3.0.2:
|
||||
resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
|
||||
engines: {node: '>=10'}
|
||||
deprecated: This package is no longer supported.
|
||||
|
||||
gauge@4.0.4:
|
||||
resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
@ -5476,10 +5458,6 @@ packages:
|
||||
magicast@0.3.5:
|
||||
resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
|
||||
|
||||
make-dir@3.1.0:
|
||||
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
make-dir@4.0.0:
|
||||
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
|
||||
engines: {node: '>=10'}
|
||||
@ -5603,10 +5581,6 @@ packages:
|
||||
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
mimic-response@2.1.0:
|
||||
resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
mimic-response@3.1.0:
|
||||
resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
|
||||
engines: {node: '>=10'}
|
||||
@ -5728,9 +5702,6 @@ packages:
|
||||
multiformats@9.9.0:
|
||||
resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==}
|
||||
|
||||
nan@2.20.0:
|
||||
resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==}
|
||||
|
||||
nanoid@3.3.8:
|
||||
resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
@ -5867,10 +5838,6 @@ packages:
|
||||
resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
npmlog@5.0.1:
|
||||
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
|
||||
deprecated: This package is no longer supported.
|
||||
|
||||
npmlog@6.0.2:
|
||||
resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
@ -6926,9 +6893,6 @@ packages:
|
||||
simple-concat@1.0.1:
|
||||
resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
|
||||
|
||||
simple-get@3.1.1:
|
||||
resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==}
|
||||
|
||||
simple-get@4.0.1:
|
||||
resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
|
||||
|
||||
@ -10012,21 +9976,6 @@ snapshots:
|
||||
|
||||
'@kwsites/promise-deferred@1.1.1': {}
|
||||
|
||||
'@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)':
|
||||
dependencies:
|
||||
detect-libc: 2.0.3
|
||||
https-proxy-agent: 5.0.1
|
||||
make-dir: 3.1.0
|
||||
node-fetch: 2.7.0(encoding@0.1.13)
|
||||
nopt: 5.0.0
|
||||
npmlog: 5.0.1
|
||||
rimraf: 3.0.2
|
||||
semver: 7.6.3
|
||||
tar: 6.2.1
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
- supports-color
|
||||
|
||||
'@mapbox/node-pre-gyp@2.0.0(encoding@0.1.13)':
|
||||
dependencies:
|
||||
consola: 3.4.0
|
||||
@ -10306,7 +10255,7 @@ snapshots:
|
||||
- magicast
|
||||
- supports-color
|
||||
|
||||
'@nuxt/test-utils@3.15.4(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0)':
|
||||
'@nuxt/test-utils@3.15.4(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@3.1.0))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0)':
|
||||
dependencies:
|
||||
'@nuxt/kit': 3.15.4(magicast@0.3.5)
|
||||
'@nuxt/schema': 3.15.4
|
||||
@ -10332,14 +10281,14 @@ snapshots:
|
||||
unenv: 1.10.0
|
||||
unplugin: 2.1.2
|
||||
vite: 6.1.0(@types/node@20.16.5)(jiti@2.4.2)(sass@1.32.12)(terser@5.33.0)(yaml@2.7.0)
|
||||
vitest-environment-nuxt: 1.0.1(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0)
|
||||
vitest-environment-nuxt: 1.0.1(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@3.1.0))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0)
|
||||
vue: 3.5.13(typescript@5.7.2)
|
||||
optionalDependencies:
|
||||
'@playwright/test': 1.50.0
|
||||
'@vue/test-utils': 2.4.6
|
||||
jsdom: 24.1.3(canvas@2.11.2(encoding@0.1.13))
|
||||
jsdom: 24.1.3(canvas@3.1.0)
|
||||
playwright-core: 1.50.0
|
||||
vitest: 2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0)
|
||||
vitest: 2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- jiti
|
||||
@ -11551,7 +11500,7 @@ snapshots:
|
||||
vite: 6.1.0(@types/node@20.16.5)(jiti@2.4.2)(sass@1.32.12)(terser@5.33.0)(yaml@2.7.0)
|
||||
vue: 3.5.13(typescript@5.7.2)
|
||||
|
||||
'@vitest/coverage-v8@2.1.9(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0))':
|
||||
'@vitest/coverage-v8@2.1.9(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0))':
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.3.0
|
||||
'@bcoe/v8-coverage': 0.2.3
|
||||
@ -11565,7 +11514,7 @@ snapshots:
|
||||
std-env: 3.8.0
|
||||
test-exclude: 7.0.1
|
||||
tinyrainbow: 1.2.0
|
||||
vitest: 2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0)
|
||||
vitest: 2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@ -11789,7 +11738,8 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- typescript
|
||||
|
||||
abbrev@1.1.1: {}
|
||||
abbrev@1.1.1:
|
||||
optional: true
|
||||
|
||||
abbrev@2.0.0: {}
|
||||
|
||||
@ -11882,7 +11832,8 @@ snapshots:
|
||||
normalize-path: 3.0.0
|
||||
picomatch: 2.3.1
|
||||
|
||||
aproba@2.0.0: {}
|
||||
aproba@2.0.0:
|
||||
optional: true
|
||||
|
||||
archiver-utils@5.0.2:
|
||||
dependencies:
|
||||
@ -11906,11 +11857,6 @@ snapshots:
|
||||
|
||||
are-docs-informative@0.0.2: {}
|
||||
|
||||
are-we-there-yet@2.0.0:
|
||||
dependencies:
|
||||
delegates: 1.0.0
|
||||
readable-stream: 3.6.2
|
||||
|
||||
are-we-there-yet@3.0.1:
|
||||
dependencies:
|
||||
delegates: 1.0.0
|
||||
@ -12247,14 +12193,10 @@ snapshots:
|
||||
|
||||
caniuse-lite@1.0.30001692: {}
|
||||
|
||||
canvas@2.11.2(encoding@0.1.13):
|
||||
canvas@3.1.0:
|
||||
dependencies:
|
||||
'@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13)
|
||||
nan: 2.20.0
|
||||
simple-get: 3.1.1
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
- supports-color
|
||||
node-addon-api: 7.1.1
|
||||
prebuild-install: 7.1.2
|
||||
|
||||
capture-stack-trace@1.0.2: {}
|
||||
|
||||
@ -12386,7 +12328,8 @@ snapshots:
|
||||
color-name: 1.1.4
|
||||
simple-swizzle: 0.2.2
|
||||
|
||||
color-support@1.1.3: {}
|
||||
color-support@1.1.3:
|
||||
optional: true
|
||||
|
||||
color@4.2.3:
|
||||
dependencies:
|
||||
@ -12438,7 +12381,8 @@ snapshots:
|
||||
|
||||
consola@3.4.0: {}
|
||||
|
||||
console-control-strings@1.1.0: {}
|
||||
console-control-strings@1.1.0:
|
||||
optional: true
|
||||
|
||||
content-disposition@0.5.4:
|
||||
dependencies:
|
||||
@ -12681,10 +12625,6 @@ snapshots:
|
||||
|
||||
decimal.js@10.4.3: {}
|
||||
|
||||
decompress-response@4.2.1:
|
||||
dependencies:
|
||||
mimic-response: 2.1.0
|
||||
|
||||
decompress-response@6.0.0:
|
||||
dependencies:
|
||||
mimic-response: 3.1.0
|
||||
@ -12734,7 +12674,8 @@ snapshots:
|
||||
|
||||
delegate@3.2.0: {}
|
||||
|
||||
delegates@1.0.0: {}
|
||||
delegates@1.0.0:
|
||||
optional: true
|
||||
|
||||
denque@2.1.0: {}
|
||||
|
||||
@ -13630,18 +13571,6 @@ snapshots:
|
||||
|
||||
fuse.js@7.1.0: {}
|
||||
|
||||
gauge@3.0.2:
|
||||
dependencies:
|
||||
aproba: 2.0.0
|
||||
color-support: 1.1.3
|
||||
console-control-strings: 1.1.0
|
||||
has-unicode: 2.0.1
|
||||
object-assign: 4.1.1
|
||||
signal-exit: 3.0.7
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
wide-align: 1.1.5
|
||||
|
||||
gauge@4.0.4:
|
||||
dependencies:
|
||||
aproba: 2.0.0
|
||||
@ -13914,7 +13843,8 @@ snapshots:
|
||||
dependencies:
|
||||
has-symbols: 1.1.0
|
||||
|
||||
has-unicode@2.0.1: {}
|
||||
has-unicode@2.0.1:
|
||||
optional: true
|
||||
|
||||
hash.js@1.1.7:
|
||||
dependencies:
|
||||
@ -13949,7 +13879,7 @@ snapshots:
|
||||
|
||||
html-tags@3.3.1: {}
|
||||
|
||||
html-validate@9.3.0(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0)):
|
||||
html-validate@9.3.0(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0)):
|
||||
dependencies:
|
||||
'@html-validate/stylish': 4.2.0
|
||||
'@sidvind/better-ajv-errors': 3.0.1(ajv@8.17.1)
|
||||
@ -13960,7 +13890,7 @@ snapshots:
|
||||
prompts: 2.4.2
|
||||
semver: 7.6.3
|
||||
optionalDependencies:
|
||||
vitest: 2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0)
|
||||
vitest: 2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0)
|
||||
|
||||
html2canvas@1.4.1:
|
||||
dependencies:
|
||||
@ -14416,7 +14346,7 @@ snapshots:
|
||||
|
||||
jsdoc-type-pratt-parser@4.1.0: {}
|
||||
|
||||
jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)):
|
||||
jsdom@24.1.3(canvas@3.1.0):
|
||||
dependencies:
|
||||
cssstyle: 4.1.0
|
||||
data-urls: 5.0.0
|
||||
@ -14440,7 +14370,7 @@ snapshots:
|
||||
ws: 8.18.0
|
||||
xml-name-validator: 5.0.0
|
||||
optionalDependencies:
|
||||
canvas: 2.11.2(encoding@0.1.13)
|
||||
canvas: 3.1.0
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- supports-color
|
||||
@ -14716,10 +14646,6 @@ snapshots:
|
||||
'@babel/types': 7.26.8
|
||||
source-map-js: 1.2.1
|
||||
|
||||
make-dir@3.1.0:
|
||||
dependencies:
|
||||
semver: 6.3.1
|
||||
|
||||
make-dir@4.0.0:
|
||||
dependencies:
|
||||
semver: 7.6.3
|
||||
@ -14845,8 +14771,6 @@ snapshots:
|
||||
|
||||
mimic-fn@4.0.0: {}
|
||||
|
||||
mimic-response@2.1.0: {}
|
||||
|
||||
mimic-response@3.1.0: {}
|
||||
|
||||
min-indent@1.0.1: {}
|
||||
@ -14957,8 +14881,6 @@ snapshots:
|
||||
|
||||
multiformats@9.9.0: {}
|
||||
|
||||
nan@2.20.0: {}
|
||||
|
||||
nanoid@3.3.8: {}
|
||||
|
||||
nanoid@5.0.9: {}
|
||||
@ -15121,6 +15043,7 @@ snapshots:
|
||||
nopt@5.0.0:
|
||||
dependencies:
|
||||
abbrev: 1.1.1
|
||||
optional: true
|
||||
|
||||
nopt@7.2.1:
|
||||
dependencies:
|
||||
@ -15160,13 +15083,6 @@ snapshots:
|
||||
path-key: 4.0.0
|
||||
unicorn-magic: 0.3.0
|
||||
|
||||
npmlog@5.0.1:
|
||||
dependencies:
|
||||
are-we-there-yet: 2.0.0
|
||||
console-control-strings: 1.1.0
|
||||
gauge: 3.0.2
|
||||
set-blocking: 2.0.0
|
||||
|
||||
npmlog@6.0.2:
|
||||
dependencies:
|
||||
are-we-there-yet: 3.0.1
|
||||
@ -16194,6 +16110,7 @@ snapshots:
|
||||
rimraf@3.0.2:
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
optional: true
|
||||
|
||||
rimraf@5.0.10:
|
||||
dependencies:
|
||||
@ -16449,12 +16366,6 @@ snapshots:
|
||||
|
||||
simple-concat@1.0.1: {}
|
||||
|
||||
simple-get@3.1.1:
|
||||
dependencies:
|
||||
decompress-response: 4.2.1
|
||||
once: 1.4.0
|
||||
simple-concat: 1.0.1
|
||||
|
||||
simple-get@4.0.1:
|
||||
dependencies:
|
||||
decompress-response: 6.0.0
|
||||
@ -17469,9 +17380,9 @@ snapshots:
|
||||
terser: 5.33.0
|
||||
yaml: 2.7.0
|
||||
|
||||
vitest-environment-nuxt@1.0.1(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0):
|
||||
vitest-environment-nuxt@1.0.1(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@3.1.0))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0):
|
||||
dependencies:
|
||||
'@nuxt/test-utils': 3.15.4(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0)
|
||||
'@nuxt/test-utils': 3.15.4(@playwright/test@1.50.0)(@types/node@20.16.5)(@vue/test-utils@2.4.6)(jiti@2.4.2)(jsdom@24.1.3(canvas@3.1.0))(magicast@0.3.5)(playwright-core@1.50.0)(sass@1.32.12)(terser@5.33.0)(typescript@5.7.2)(vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0))(yaml@2.7.0)
|
||||
transitivePeerDependencies:
|
||||
- '@cucumber/cucumber'
|
||||
- '@jest/globals'
|
||||
@ -17498,7 +17409,7 @@ snapshots:
|
||||
- vitest
|
||||
- yaml
|
||||
|
||||
vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@2.11.2(encoding@0.1.13)))(sass@1.32.12)(terser@5.33.0):
|
||||
vitest@2.1.9(@types/node@20.16.5)(jsdom@24.1.3(canvas@3.1.0))(sass@1.32.12)(terser@5.33.0):
|
||||
dependencies:
|
||||
'@vitest/expect': 2.1.9
|
||||
'@vitest/mocker': 2.1.9(vite@5.4.11(@types/node@20.16.5)(sass@1.32.12)(terser@5.33.0))
|
||||
@ -17522,7 +17433,7 @@ snapshots:
|
||||
why-is-node-running: 2.3.0
|
||||
optionalDependencies:
|
||||
'@types/node': 20.16.5
|
||||
jsdom: 24.1.3(canvas@2.11.2(encoding@0.1.13))
|
||||
jsdom: 24.1.3(canvas@3.1.0)
|
||||
transitivePeerDependencies:
|
||||
- less
|
||||
- lightningcss
|
||||
@ -17718,6 +17629,7 @@ snapshots:
|
||||
wide-align@1.1.5:
|
||||
dependencies:
|
||||
string-width: 4.2.3
|
||||
optional: true
|
||||
|
||||
word-wrap@1.2.5: {}
|
||||
|
||||
|
@ -1,6 +1,9 @@
|
||||
import fs from 'node:fs/promises';
|
||||
|
||||
import { createCanvas, loadImage } from 'canvas';
|
||||
import type { CanvasRenderingContext2D, Image } from 'canvas';
|
||||
import { Router } from 'express';
|
||||
import sharp from 'sharp';
|
||||
import SQL from 'sql-template-strings';
|
||||
|
||||
import type { Translations } from '../../locale/translations.ts';
|
||||
@ -37,6 +40,12 @@ const drawCircle = (context: CanvasRenderingContext2D, image: Image, x: number,
|
||||
context.restore();
|
||||
};
|
||||
|
||||
const loadSvgImage = async (svg: string): Promise<Image> => {
|
||||
const pngBuffer = await sharp(await fs.readFile(svg)).png()
|
||||
.toBuffer();
|
||||
return await loadImage(pngBuffer);
|
||||
};
|
||||
|
||||
const router = Router();
|
||||
|
||||
const width = 1200;
|
||||
@ -79,24 +88,25 @@ const getBannerKey = defineCachedFunction(async (path: string, db: Database) =>
|
||||
}, {
|
||||
name: 'banner',
|
||||
getKey: (path) => path,
|
||||
shouldBypassCache: () => true,
|
||||
maxAge: 24 * 60 * 60,
|
||||
});
|
||||
|
||||
const drawDefault = async (context: CanvasRenderingContext2D, fontName: string) => {
|
||||
const leftRatio = 5;
|
||||
const logo = await loadImage('public/logo/logo.svg');
|
||||
const logo = await loadSvgImage('public/logo/logo.svg');
|
||||
|
||||
context.drawImage(logo, width / leftRatio - imageSize / 2, height / 2 - imageSize / 2, imageSize, imageSize);
|
||||
context.font = `regular ${translations.title.length < 10 ? 120 : translations.title.length < 14 ? 80 : 72}pt '${fontName}'`;
|
||||
context.font = `${translations.title.length < 10 ? 120 : translations.title.length < 14 ? 80 : 72}pt '${fontName}'`;
|
||||
context.fillText(translations.title, width / leftRatio + imageSize / 1.5, height / 2 + (translations.title.length < 10 ? 48 : translations.title.length < 14 ? 36 : 24));
|
||||
return 'default.png';
|
||||
};
|
||||
|
||||
const drawPronounUsage = async (context: CanvasRenderingContext2D, fontName: string, usage: PronounUsage) => {
|
||||
const logo = await loadImage('public/logo/logo.svg');
|
||||
const logo = await loadSvgImage('public/logo/logo.svg');
|
||||
|
||||
context.drawImage(logo, width / leftRatio - imageSize / 2, height / 2 - imageSize / 2, imageSize, imageSize);
|
||||
context.font = `regular 48pt '${fontName}'`;
|
||||
context.font = `48pt '${fontName}'`;
|
||||
context.fillText(`${translations.pronouns.intro}:`, width / leftRatio + imageSize / 1.5, height / 2 - 36);
|
||||
|
||||
context.font = `bold ${usage.short.options.length <= 2 ? '70' : '36'}pt '${fontName}'`;
|
||||
@ -114,17 +124,17 @@ const drawProfileBanner = async (
|
||||
user: Pick<User, 'id' | 'username' | 'email' | 'avatarSource'>,
|
||||
db: Database,
|
||||
) => {
|
||||
const logoPrimary = await loadImage('public/logo/logo-primary.svg');
|
||||
const logoPrimary = await loadSvgImage('public/logo/logo-primary.svg');
|
||||
|
||||
try {
|
||||
const avatarImage = await loadImage(await avatar(db, user));
|
||||
drawCircle(context, avatarImage, width / leftRatio - imageSize / 2, height / 2 - imageSize / 2, imageSize);
|
||||
} catch {}
|
||||
|
||||
context.font = `regular 48pt '${fontName}'`;
|
||||
context.font = `48pt '${fontName}'`;
|
||||
context.fillText(`@${user.username}`, width / leftRatio + imageSize, height / 2);
|
||||
|
||||
context.font = `regular 24pt '${fontName}'`;
|
||||
context.font = `24pt '${fontName}'`;
|
||||
context.fillStyle = '#C71585';
|
||||
const logoSize = 24 * 1.25;
|
||||
context.drawImage(logoPrimary, width / leftRatio + imageSize, height / 2 + logoSize - 8, logoSize, logoSize);
|
||||
|
@ -257,7 +257,7 @@ router.get('/nouns/:id.png', async (req, res) => {
|
||||
context.font = `bold 64pt '${fontName}'`;
|
||||
|
||||
genders.forEach((gender, column) => {
|
||||
context.font = 'regular 24pt FontAwesome';
|
||||
context.font = '24pt FontAwesome';
|
||||
context.fillText(iconUnicodesByGender[gender], column * (width - 2 * padding) / genders.length + padding, padding * 1.5);
|
||||
|
||||
context.font = `bold 24pt '${fontName}'`;
|
||||
@ -265,7 +265,7 @@ router.get('/nouns/:id.png', async (req, res) => {
|
||||
context.fillText(header, column * (width - 2 * padding) / genders.length + padding + 36, padding * 1.5);
|
||||
});
|
||||
|
||||
context.font = `regular 24pt '${fontName}'`;
|
||||
context.font = `24pt '${fontName}'`;
|
||||
genders.forEach((form, column) => {
|
||||
let i = 0;
|
||||
for (const [key, symbol] of [['', '⋅'], ['Pl', '⁖']] as const) {
|
||||
@ -278,9 +278,9 @@ router.get('/nouns/:id.png', async (req, res) => {
|
||||
});
|
||||
|
||||
context.fillStyle = '#C71585';
|
||||
context.font = 'regular 16pt FontAwesome';
|
||||
context.font = '16pt FontAwesome';
|
||||
context.fillText('\uf02c', padding, height - padding + 12);
|
||||
context.font = `regular 16pt '${fontName}'`;
|
||||
context.font = `16pt '${fontName}'`;
|
||||
context.fillText(
|
||||
`${translations.domain}/${global.config.nouns.routeMain || global.config.nouns.route}`,
|
||||
padding + 36,
|
||||
|
Loading…
x
Reference in New Issue
Block a user