51 Commits

Author SHA1 Message Date
a2e78e2e36 Fallback for missing environment variable
All checks were successful
/ Misc Linters (push) Successful in 20s
/ Build App (push) Successful in 50s
Publish / tests (push) Successful in 51s
Publish / Publishing (push) Successful in 1m57s
2024-08-16 15:06:41 +02:00
b2bab79562 Run shellcheck and hadolint in CI
Some checks failed
/ Build App (push) Failing after 28s
/ Misc Linters (push) Successful in 35s
2024-08-16 14:45:13 +02:00
0b8bddb1f6 Run shellcheck in CI
Some checks failed
/ Check scripts (push) Failing after 22s
/ Build App (push) Failing after 41s
2024-08-16 14:41:51 +02:00
cbd03de6a3 Load upload dir from ENV 2024-08-16 14:41:33 +02:00
0842c107e6 Merge pull request 'chore(deps): update dependency vite to v5.4.1' (#47) from renovate/vite-5.x-lockfile into main
All checks were successful
/ Build App (push) Successful in 1m15s
Reviewed-on: #47
2024-08-15 19:46:33 +02:00
a59f8688d0 chore(deps): update dependency vite to v5.4.1
All checks were successful
/ Build App (pull_request) Successful in 3m43s
2024-08-15 16:02:40 +00:00
91bba73796 Merge pull request 'chore(deps): lock file maintenance' (#46) from renovate/lock-file-maintenance into main
All checks were successful
/ Build App (push) Successful in 1m1s
Reviewed-on: #46
2024-08-13 14:57:39 +02:00
85e1874188 chore(deps): lock file maintenance
All checks were successful
/ Build App (pull_request) Successful in 1m0s
2024-08-13 14:56:31 +02:00
6ab6560009 Merge pull request 'chore(deps): update dependency @sveltejs/adapter-auto to v3.2.4' (#42) from renovate/sveltejs-adapter-auto-3.x-lockfile into main
All checks were successful
/ Build App (push) Successful in 57s
Reviewed-on: #42
2024-08-13 14:56:21 +02:00
16bbb29f32 chore(deps): update dependency @sveltejs/adapter-auto to v3.2.4
All checks were successful
/ Build App (pull_request) Successful in 54s
2024-08-13 14:49:58 +02:00
c0c35b8e0f Merge pull request 'chore(deps): update dependency @sveltejs/adapter-node to v5.2.2' (#43) from renovate/sveltejs-adapter-node-5.x-lockfile into main
All checks were successful
/ Build App (push) Successful in 55s
Reviewed-on: #43
2024-08-13 14:49:48 +02:00
626982fe3e chore(deps): update dependency @sveltejs/adapter-node to v5.2.2
All checks were successful
/ Build App (pull_request) Successful in 53s
2024-08-13 10:44:54 +02:00
79e079f115 Merge pull request 'chore(deps): update dependency @sveltejs/kit to v2.5.22' (#44) from renovate/sveltejs-kit-2.x-lockfile into main
All checks were successful
/ Build App (push) Successful in 55s
Reviewed-on: #44
2024-08-13 10:44:45 +02:00
cd933b77cb chore(deps): update dependency @sveltejs/kit to v2.5.22
All checks were successful
/ Build App (pull_request) Successful in 54s
2024-08-13 10:41:55 +02:00
ef4ddf872f Merge pull request 'chore(deps): update dependency typescript-eslint to v8.1.0' (#45) from renovate/typescript-eslint-monorepo into main
All checks were successful
/ Build App (push) Successful in 1m18s
Reviewed-on: #45
2024-08-13 10:41:44 +02:00
ca3178e42a chore(deps): update dependency typescript-eslint to v8.1.0
All checks were successful
/ Build App (pull_request) Successful in 1m31s
2024-08-12 22:03:35 +00:00
338d3ccdbb Merge pull request 'chore(deps): lock file maintenance' (#35) from renovate/lock-file-maintenance into main
All checks were successful
/ Build App (push) Successful in 1m6s
Reviewed-on: #35
2024-08-10 11:52:41 +02:00
83eb10aadd chore(deps): lock file maintenance
All checks were successful
/ Build App (pull_request) Successful in 2m2s
2024-08-10 09:50:31 +00:00
2858c8c375 Merge pull request 'chore(deps): update dependency typescript-eslint to v8.0.1' (#34) from renovate/typescript-eslint-monorepo into main
All checks were successful
/ Build App (push) Successful in 55s
Reviewed-on: #34
2024-08-10 11:33:03 +02:00
0c09a354b8 chore(deps): update dependency typescript-eslint to v8.0.1
All checks were successful
/ Build App (pull_request) Successful in 59s
2024-08-10 11:28:38 +02:00
52ada9d040 Merge pull request 'chore(deps): update dependency vite to v5.4.0' (#36) from renovate/vite-5.x-lockfile into main
Some checks are pending
/ Build App (push) Waiting to run
Reviewed-on: #36
2024-08-10 11:28:14 +02:00
6cf7361905 chore(deps): update dependency vite to v5.4.0
Some checks failed
/ Build App (pull_request) Has been cancelled
2024-08-10 11:28:09 +02:00
335f341839 Merge pull request 'chore(deps): update dependency @sveltejs/adapter-auto to v3.2.3' (#37) from renovate/sveltejs-adapter-auto-3.x-lockfile into main
Some checks are pending
/ Build App (push) Waiting to run
Reviewed-on: #37
2024-08-10 11:27:49 +02:00
f4d5ccd4c3 chore(deps): update dependency @sveltejs/adapter-auto to v3.2.3
Some checks failed
/ Build App (pull_request) Has been cancelled
2024-08-10 11:27:35 +02:00
abd6a8a3be Merge pull request 'chore(deps): update dependency @sveltejs/adapter-node to v5.2.1' (#38) from renovate/sveltejs-adapter-node-5.x-lockfile into main
Some checks are pending
/ Build App (push) Waiting to run
Reviewed-on: #38
2024-08-10 11:27:22 +02:00
990e0e131f chore(deps): update dependency @sveltejs/adapter-node to v5.2.1
All checks were successful
/ Build App (pull_request) Successful in 1m5s
2024-08-10 11:24:27 +02:00
d6c24702d6 Merge pull request 'chore(deps): update dependency @sveltejs/kit to v2.5.21' (#39) from renovate/sveltejs-kit-2.x-lockfile into main
All checks were successful
/ Build App (push) Successful in 1m31s
Reviewed-on: #39
2024-08-10 11:24:19 +02:00
13467c1c8f chore(deps): update dependency @sveltejs/kit to v2.5.21
All checks were successful
/ Build App (pull_request) Successful in 59s
2024-08-10 11:22:57 +02:00
3b338ea854 Merge pull request 'chore(deps): update dependency @types/node to v20.14.15' (#40) from renovate/node-20.x-lockfile into main
All checks were successful
/ Build App (push) Successful in 58s
Reviewed-on: #40
2024-08-10 11:22:49 +02:00
7a85f1aae3 chore(deps): update dependency @types/node to v20.14.15
All checks were successful
/ Build App (pull_request) Successful in 53s
2024-08-10 11:21:37 +02:00
1e90cf7fc5 Merge pull request 'chore(deps): update dependency eslint to v9.9.0' (#41) from renovate/eslint-monorepo into main
All checks were successful
/ Build App (push) Successful in 56s
Reviewed-on: #41
2024-08-10 11:21:29 +02:00
1b36f81b85 chore(deps): update dependency eslint to v9.9.0
All checks were successful
/ Build App (pull_request) Successful in 51s
2024-08-10 01:02:12 +00:00
fba4548df4 Merge pull request 'chore(deps): lock file maintenance' (#32) from renovate/lock-file-maintenance into main
All checks were successful
/ Build App (push) Successful in 55s
Reviewed-on: #32
2024-08-04 15:57:28 +02:00
8ca2e03e6b chore(deps): lock file maintenance
All checks were successful
/ Build App (pull_request) Successful in 1m1s
2024-08-04 13:50:26 +00:00
ac6c82f2d8 Merge pull request 'chore(deps): update dependency @types/node to v20.14.14' (#33) from renovate/node-20.x-lockfile into main
All checks were successful
/ Build App (push) Successful in 57s
Reviewed-on: #33
2024-08-04 15:37:17 +02:00
35dc5db5b9 Merge pull request 'chore(deps): update dependency globals to v15.9.0' (#31) from renovate/globals-15.x-lockfile into main
Some checks are pending
/ Build App (push) Waiting to run
Reviewed-on: #31
2024-08-04 15:36:58 +02:00
186d6423d2 Merge pull request 'chore(deps): update dependency @sveltejs/kit to v2.5.20' (#30) from renovate/sveltejs-kit-2.x-lockfile into main
Some checks are pending
/ Build App (push) Waiting to run
Reviewed-on: #30
2024-08-04 15:36:03 +02:00
9b7cd22d31 chore(deps): update dependency @sveltejs/kit to v2.5.20
All checks were successful
/ Build App (pull_request) Successful in 55s
2024-08-02 19:01:42 +00:00
4e7c757e71 chore(deps): update dependency @types/node to v20.14.14
All checks were successful
/ Build App (pull_request) Successful in 1m4s
2024-08-02 10:01:55 +00:00
c7ce50b334 chore(deps): update dependency globals to v15.9.0
All checks were successful
/ Build App (pull_request) Successful in 57s
2024-08-01 13:01:42 +00:00
518041ce4e Merge pull request 'chore(deps): lock file maintenance' (#29) from renovate/lock-file-maintenance into main
All checks were successful
/ Build App (push) Successful in 1m3s
Reviewed-on: #29
2024-08-01 11:13:50 +02:00
2ca056059d chore(deps): lock file maintenance
All checks were successful
/ Build App (pull_request) Successful in 55s
2024-08-01 09:08:49 +00:00
66e2cce28d Merge pull request 'chore(deps): update dependency vitest to v2.0.5' (#27) from renovate/vitest-monorepo into main
All checks were successful
/ Build App (push) Successful in 48s
Reviewed-on: #27
2024-08-01 11:07:11 +02:00
deb3382023 chore(deps): update dependency vitest to v2.0.5
All checks were successful
/ Build App (pull_request) Successful in 50s
2024-08-01 11:06:07 +02:00
667eaabd58 Merge pull request 'chore(deps): update dependency typescript-eslint to v8.0.0' (#28) from renovate/typescript-eslint-monorepo into main
All checks were successful
/ Build App (push) Successful in 51s
Reviewed-on: #28
2024-08-01 11:05:54 +02:00
13c958db03 chore(deps): update dependency typescript-eslint to v8.0.0
All checks were successful
/ Build App (pull_request) Successful in 57s
2024-07-31 19:01:18 +00:00
36a297837d chore(deps): update dependency svelte-check to v3.8.5 (#25)
All checks were successful
/ Build App (push) Successful in 1m1s
2024-07-31 00:05:07 +02:00
07fcf86fef chore(deps): update dependency typescript-eslint to v8.0.0-alpha.60 (#26)
Some checks are pending
/ Build App (push) Waiting to run
2024-07-31 00:03:41 +02:00
ce25ef7ec1 chore(deps): update dependency typescript-eslint to v8.0.0-alpha.60
All checks were successful
/ Build App (pull_request) Successful in 1m52s
2024-07-30 22:01:52 +00:00
84e8d3b2bd chore(deps): update dependency svelte-check to v3.8.5
All checks were successful
/ Build App (pull_request) Successful in 52s
2024-07-30 19:01:06 +00:00
9c8459c3e1 CI step naming
All checks were successful
/ Build App (push) Successful in 1m1s
2024-07-30 19:24:58 +02:00
6 changed files with 259 additions and 204 deletions

View File

@ -0,0 +1,24 @@
on:
workflow_call:
push:
branches:
- main
pull_request:
schedule:
- cron: '0 0 * * *'
jobs:
shellcheck:
name: Misc Linters
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: https://gitea.com/actions/checkout@v4
- name: Lint shellscripts
uses: ludeeus/action-shellcheck@master
- name: Lint Dockerfile
uses: hadolint/hadolint-action@v3.1.0
with:
dockerfile: ./Containerfile

View File

@ -21,7 +21,7 @@ jobs:
- name: Checkout sources
uses: actions/checkout@v4
- name: Login to DockerHub
- name: Login to Container Registry
uses: docker/login-action@v3
with:
registry: https://git.vbrandl.net

View File

@ -8,8 +8,10 @@ COPY . .
RUN npm run build
FROM node:21-alpine
USER node:node
WORKDIR /app
RUN chown -R node:node /app
USER node:node
COPY ./container/entrypoint.sh /entrypoint.sh
COPY package.json .
COPY --from=builder /app/build ./build
CMD ["node", "./build/index.js"]
ENTRYPOINT ["sh", "/entrypoint.sh"]

12
container/entrypoint.sh Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/env sh
set -e
export STORAGE_PATH="${STORAGE_PATH:-./uploads}"
entrypoint() {
mkdir -p "${STORAGE_PATH}"
node ./build/index.js
}
entrypoint

412
package-lock.json generated
View File

@ -532,9 +532,9 @@
}
},
"node_modules/@eslint/js": {
"version": "9.8.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz",
"integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==",
"version": "9.9.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz",
"integrity": "sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==",
"dev": true,
"license": "MIT",
"engines": {
@ -832,9 +832,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz",
"integrity": "sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz",
"integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==",
"cpu": [
"arm"
],
@ -846,9 +846,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.1.tgz",
"integrity": "sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz",
"integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==",
"cpu": [
"arm64"
],
@ -860,9 +860,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.1.tgz",
"integrity": "sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz",
"integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==",
"cpu": [
"arm64"
],
@ -874,9 +874,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.1.tgz",
"integrity": "sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz",
"integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==",
"cpu": [
"x64"
],
@ -888,9 +888,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.1.tgz",
"integrity": "sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz",
"integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==",
"cpu": [
"arm"
],
@ -902,9 +902,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.1.tgz",
"integrity": "sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz",
"integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==",
"cpu": [
"arm"
],
@ -916,9 +916,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.1.tgz",
"integrity": "sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz",
"integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==",
"cpu": [
"arm64"
],
@ -930,9 +930,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.1.tgz",
"integrity": "sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz",
"integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==",
"cpu": [
"arm64"
],
@ -944,9 +944,9 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.1.tgz",
"integrity": "sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz",
"integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==",
"cpu": [
"ppc64"
],
@ -958,9 +958,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.1.tgz",
"integrity": "sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz",
"integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==",
"cpu": [
"riscv64"
],
@ -972,9 +972,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.1.tgz",
"integrity": "sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz",
"integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==",
"cpu": [
"s390x"
],
@ -986,9 +986,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz",
"integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz",
"integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==",
"cpu": [
"x64"
],
@ -1000,9 +1000,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.1.tgz",
"integrity": "sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz",
"integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==",
"cpu": [
"x64"
],
@ -1014,9 +1014,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.1.tgz",
"integrity": "sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz",
"integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==",
"cpu": [
"arm64"
],
@ -1028,9 +1028,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.1.tgz",
"integrity": "sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz",
"integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==",
"cpu": [
"ia32"
],
@ -1042,9 +1042,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.1.tgz",
"integrity": "sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz",
"integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==",
"cpu": [
"x64"
],
@ -1056,9 +1056,9 @@
]
},
"node_modules/@sveltejs/adapter-auto": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.2.2.tgz",
"integrity": "sha512-Mso5xPCA8zgcKrv+QioVlqMZkyUQ5MjDJiEPuG/Z7cV/5tmwV7LmcVWk5tZ+H0NCOV1x12AsoSpt/CwFwuVXMA==",
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.2.4.tgz",
"integrity": "sha512-a64AKYbfTUrVwU0xslzv1Jf3M8bj0IwhptaXmhgIkjXspBXhD0od9JiItQHchijpLMGdEDcYBlvqySkEawv6mQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1069,9 +1069,9 @@
}
},
"node_modules/@sveltejs/adapter-node": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.2.0.tgz",
"integrity": "sha512-HVZoei2078XSyPmvdTHE03VXDUD0ytTvMuMHMQP0j6zX4nPDpCcKrgvU7baEblMeCCMdM/shQvstFxOJPQKlUQ==",
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.2.2.tgz",
"integrity": "sha512-BCX4zP0cf86TXpmvLQTnnT/tp7P12UMezf+5LwljP1MJC1fFzn9XOXpAHQCyP+pyHGy2K7p5gY0LyLcZFAL02w==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1085,9 +1085,9 @@
}
},
"node_modules/@sveltejs/kit": {
"version": "2.5.18",
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.18.tgz",
"integrity": "sha512-+g06hvpVAnH7b4CDjhnTDgFWBKBiQJpuSmQeGYOuzbO3SC3tdYjRNlDCrafvDtKbGiT2uxY5Dn9qdEUGVZdWOQ==",
"version": "2.5.22",
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.22.tgz",
"integrity": "sha512-PQ98baF2WzvG5yiO4cZKJZJG60XjHTZD1jyho3u9Kmthx2ytdGYyVPPvKXgKXpKSq4wwctD9dl0d2blSbJMcOg==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@ -1191,9 +1191,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "20.14.13",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.13.tgz",
"integrity": "sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==",
"version": "20.14.15",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.15.tgz",
"integrity": "sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1215,17 +1215,17 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "8.0.0-alpha.59",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.0.0-alpha.59.tgz",
"integrity": "sha512-81ulgiEE76CNOfkPEcZo+ROqP2nzpkMe7vt7YGzO1hDYbP20om6oqql5ZqP6jSo6bQMVBGdlZ3wJU0KaEnaw4Q==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.1.0.tgz",
"integrity": "sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "8.0.0-alpha.59",
"@typescript-eslint/type-utils": "8.0.0-alpha.59",
"@typescript-eslint/utils": "8.0.0-alpha.59",
"@typescript-eslint/visitor-keys": "8.0.0-alpha.59",
"@typescript-eslint/scope-manager": "8.1.0",
"@typescript-eslint/type-utils": "8.1.0",
"@typescript-eslint/utils": "8.1.0",
"@typescript-eslint/visitor-keys": "8.1.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@ -1249,16 +1249,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
"version": "8.0.0-alpha.59",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.0.0-alpha.59.tgz",
"integrity": "sha512-IXZr+aab8WayJv7eQBD7iyxar6arBu28+XqDSFOddrfKCpbxyxv7l6GL/PsRbKzaf2vFl/zFx5FJ9HWaS6ilFg==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.1.0.tgz",
"integrity": "sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/scope-manager": "8.0.0-alpha.59",
"@typescript-eslint/types": "8.0.0-alpha.59",
"@typescript-eslint/typescript-estree": "8.0.0-alpha.59",
"@typescript-eslint/visitor-keys": "8.0.0-alpha.59",
"@typescript-eslint/scope-manager": "8.1.0",
"@typescript-eslint/types": "8.1.0",
"@typescript-eslint/typescript-estree": "8.1.0",
"@typescript-eslint/visitor-keys": "8.1.0",
"debug": "^4.3.4"
},
"engines": {
@ -1278,14 +1278,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "8.0.0-alpha.59",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.0.0-alpha.59.tgz",
"integrity": "sha512-XnkzD5jdebFDS0k0aaGH7gqva5Go/ZLaNmIxD7TgLh6i6Z9BjHpbBz8B/mMEJo7g5A35iEx0wDF6lG/cxUP3eQ==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.1.0.tgz",
"integrity": "sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.0.0-alpha.59",
"@typescript-eslint/visitor-keys": "8.0.0-alpha.59"
"@typescript-eslint/types": "8.1.0",
"@typescript-eslint/visitor-keys": "8.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@ -1296,14 +1296,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "8.0.0-alpha.59",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.0.0-alpha.59.tgz",
"integrity": "sha512-DFcoFAEuaLdyo9jriOL/V5JUutRwEEUEGF8XtbgoKgicrRhpSEGI4B3QG2OnK7EVs8r9Tg/xm0E6ZCdB0CRLLw==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.1.0.tgz",
"integrity": "sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/typescript-estree": "8.0.0-alpha.59",
"@typescript-eslint/utils": "8.0.0-alpha.59",
"@typescript-eslint/typescript-estree": "8.1.0",
"@typescript-eslint/utils": "8.1.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@ -1321,9 +1321,9 @@
}
},
"node_modules/@typescript-eslint/types": {
"version": "8.0.0-alpha.59",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.0.0-alpha.59.tgz",
"integrity": "sha512-/EcTosDXQWdYsmScCabNEJkp2pPulPDJQljCdQ9pQLZdXtpfvJULan+qGqZlnkAJaR7j21ZIs2OtacVFEf9pZg==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.1.0.tgz",
"integrity": "sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog==",
"dev": true,
"license": "MIT",
"engines": {
@ -1335,14 +1335,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "8.0.0-alpha.59",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.0-alpha.59.tgz",
"integrity": "sha512-3d93f8qTqxkZM085O/hfeT694hWEl11lmy4huX5ZjwqbkffHbtYNFfyOZu9V4kXkrJo51k5TT/NeE7i9qVxu3A==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.1.0.tgz",
"integrity": "sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/types": "8.0.0-alpha.59",
"@typescript-eslint/visitor-keys": "8.0.0-alpha.59",
"@typescript-eslint/types": "8.1.0",
"@typescript-eslint/visitor-keys": "8.1.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@ -1390,16 +1390,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
"version": "8.0.0-alpha.59",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.0.0-alpha.59.tgz",
"integrity": "sha512-QQ76YAEKTVXwzeBuFFULWr4P4JvnnW685ipIxx+4cekw30HJWu30exZgaLHslV+dYJgi7mMXDzQNh4KBmNqoWQ==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.1.0.tgz",
"integrity": "sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@typescript-eslint/scope-manager": "8.0.0-alpha.59",
"@typescript-eslint/types": "8.0.0-alpha.59",
"@typescript-eslint/typescript-estree": "8.0.0-alpha.59"
"@typescript-eslint/scope-manager": "8.1.0",
"@typescript-eslint/types": "8.1.0",
"@typescript-eslint/typescript-estree": "8.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@ -1413,13 +1413,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "8.0.0-alpha.59",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.0-alpha.59.tgz",
"integrity": "sha512-RF2E3/A2Eg9GckHpzQg1MMmavGcTa090PjhQVXHywPrgLbjKNKFSFLR7EaHWgE3f9lDDyhPiD6XvzZvmlguyAQ==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.1.0.tgz",
"integrity": "sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.0.0-alpha.59",
"@typescript-eslint/types": "8.1.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
@ -1444,14 +1444,14 @@
}
},
"node_modules/@vitest/expect": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.4.tgz",
"integrity": "sha512-39jr5EguIoanChvBqe34I8m1hJFI4+jxvdOpD7gslZrVQBKhh8H9eD7J/LJX4zakrw23W+dITQTDqdt43xVcJw==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz",
"integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/spy": "2.0.4",
"@vitest/utils": "2.0.4",
"@vitest/spy": "2.0.5",
"@vitest/utils": "2.0.5",
"chai": "^5.1.1",
"tinyrainbow": "^1.2.0"
},
@ -1460,9 +1460,9 @@
}
},
"node_modules/@vitest/pretty-format": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.4.tgz",
"integrity": "sha512-RYZl31STbNGqf4l2eQM1nvKPXE0NhC6Eq0suTTePc4mtMQ1Fn8qZmjV4emZdEdG2NOWGKSCrHZjmTqDCDoeFBw==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz",
"integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1473,13 +1473,13 @@
}
},
"node_modules/@vitest/runner": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.4.tgz",
"integrity": "sha512-Gk+9Su/2H2zNfNdeJR124gZckd5st4YoSuhF1Rebi37qTXKnqYyFCd9KP4vl2cQHbtuVKjfEKrNJxHHCW8thbQ==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.5.tgz",
"integrity": "sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/utils": "2.0.4",
"@vitest/utils": "2.0.5",
"pathe": "^1.1.2"
},
"funding": {
@ -1487,13 +1487,13 @@
}
},
"node_modules/@vitest/snapshot": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.4.tgz",
"integrity": "sha512-or6Mzoz/pD7xTvuJMFYEtso1vJo1S5u6zBTinfl+7smGUhqybn6VjzCDMhmTyVOFWwkCMuNjmNNxnyXPgKDoPw==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.5.tgz",
"integrity": "sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/pretty-format": "2.0.4",
"@vitest/pretty-format": "2.0.5",
"magic-string": "^0.30.10",
"pathe": "^1.1.2"
},
@ -1502,9 +1502,9 @@
}
},
"node_modules/@vitest/spy": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.4.tgz",
"integrity": "sha512-uTXU56TNoYrTohb+6CseP8IqNwlNdtPwEO0AWl+5j7NelS6x0xZZtP0bDWaLvOfUbaYwhhWp1guzXUxkC7mW7Q==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz",
"integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1515,13 +1515,13 @@
}
},
"node_modules/@vitest/utils": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.4.tgz",
"integrity": "sha512-Zc75QuuoJhOBnlo99ZVUkJIuq4Oj0zAkrQ2VzCqNCx6wAwViHEh5Fnp4fiJTE9rA+sAoXRf00Z9xGgfEzV6fzQ==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz",
"integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/pretty-format": "2.0.4",
"@vitest/pretty-format": "2.0.5",
"estree-walker": "^3.0.3",
"loupe": "^3.1.1",
"tinyrainbow": "^1.2.0"
@ -2112,9 +2112,9 @@
}
},
"node_modules/eslint": {
"version": "9.8.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.8.0.tgz",
"integrity": "sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==",
"version": "9.9.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.0.tgz",
"integrity": "sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -2122,7 +2122,7 @@
"@eslint-community/regexpp": "^4.11.0",
"@eslint/config-array": "^0.17.1",
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "9.8.0",
"@eslint/js": "9.9.0",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.3.0",
"@nodelib/fs.walk": "^1.2.8",
@ -2161,6 +2161,14 @@
},
"funding": {
"url": "https://eslint.org/donate"
},
"peerDependencies": {
"jiti": "*"
},
"peerDependenciesMeta": {
"jiti": {
"optional": true
}
}
},
"node_modules/eslint-compat-utils": {
@ -2485,9 +2493,9 @@
"license": "ISC"
},
"node_modules/foreground-child": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
"integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
"integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
"dev": true,
"license": "ISC",
"dependencies": {
@ -2617,9 +2625,9 @@
}
},
"node_modules/globals": {
"version": "15.8.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz",
"integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==",
"version": "15.9.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz",
"integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==",
"dev": true,
"license": "MIT",
"engines": {
@ -2712,9 +2720,9 @@
}
},
"node_modules/ignore": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"dev": true,
"license": "MIT",
"engines": {
@ -3507,9 +3515,9 @@
}
},
"node_modules/postcss": {
"version": "8.4.40",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz",
"integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==",
"version": "8.4.41",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz",
"integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==",
"dev": true,
"funding": [
{
@ -3610,9 +3618,9 @@
}
},
"node_modules/postcss-selector-parser": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -3780,9 +3788,9 @@
}
},
"node_modules/rollup": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.1.tgz",
"integrity": "sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==",
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz",
"integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -3796,22 +3804,22 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.19.1",
"@rollup/rollup-android-arm64": "4.19.1",
"@rollup/rollup-darwin-arm64": "4.19.1",
"@rollup/rollup-darwin-x64": "4.19.1",
"@rollup/rollup-linux-arm-gnueabihf": "4.19.1",
"@rollup/rollup-linux-arm-musleabihf": "4.19.1",
"@rollup/rollup-linux-arm64-gnu": "4.19.1",
"@rollup/rollup-linux-arm64-musl": "4.19.1",
"@rollup/rollup-linux-powerpc64le-gnu": "4.19.1",
"@rollup/rollup-linux-riscv64-gnu": "4.19.1",
"@rollup/rollup-linux-s390x-gnu": "4.19.1",
"@rollup/rollup-linux-x64-gnu": "4.19.1",
"@rollup/rollup-linux-x64-musl": "4.19.1",
"@rollup/rollup-win32-arm64-msvc": "4.19.1",
"@rollup/rollup-win32-ia32-msvc": "4.19.1",
"@rollup/rollup-win32-x64-msvc": "4.19.1",
"@rollup/rollup-android-arm-eabi": "4.20.0",
"@rollup/rollup-android-arm64": "4.20.0",
"@rollup/rollup-darwin-arm64": "4.20.0",
"@rollup/rollup-darwin-x64": "4.20.0",
"@rollup/rollup-linux-arm-gnueabihf": "4.20.0",
"@rollup/rollup-linux-arm-musleabihf": "4.20.0",
"@rollup/rollup-linux-arm64-gnu": "4.20.0",
"@rollup/rollup-linux-arm64-musl": "4.20.0",
"@rollup/rollup-linux-powerpc64le-gnu": "4.20.0",
"@rollup/rollup-linux-riscv64-gnu": "4.20.0",
"@rollup/rollup-linux-s390x-gnu": "4.20.0",
"@rollup/rollup-linux-x64-gnu": "4.20.0",
"@rollup/rollup-linux-x64-musl": "4.20.0",
"@rollup/rollup-win32-arm64-msvc": "4.20.0",
"@rollup/rollup-win32-ia32-msvc": "4.20.0",
"@rollup/rollup-win32-x64-msvc": "4.20.0",
"fsevents": "~2.3.2"
}
},
@ -3897,9 +3905,9 @@
}
},
"node_modules/set-cookie-parser": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz",
"integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==",
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.0.tgz",
"integrity": "sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==",
"dev": true,
"license": "MIT"
},
@ -4206,9 +4214,9 @@
}
},
"node_modules/svelte-check": {
"version": "3.8.4",
"resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.8.4.tgz",
"integrity": "sha512-61aHMkdinWyH8BkkTX9jPLYxYzaAAz/FK/VQqdr2FiCQQ/q04WCwDlpGbHff1GdrMYTmW8chlTFvRWL9k0A8vg==",
"version": "3.8.5",
"resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.8.5.tgz",
"integrity": "sha512-3OGGgr9+bJ/+1nbPgsvulkLC48xBsqsgtc8Wam281H4G9F5v3mYGa2bHRsPuwHC5brKl4AxJH95QF73kmfihGQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -4417,9 +4425,9 @@
}
},
"node_modules/tinybench": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz",
"integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==",
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
"integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
"dev": true,
"license": "MIT"
},
@ -4524,15 +4532,15 @@
}
},
"node_modules/typescript-eslint": {
"version": "8.0.0-alpha.59",
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.0.0-alpha.59.tgz",
"integrity": "sha512-jYLmtlYbEgR0IWqC6JpJvftZFrmNWOxAPMhWvtAaEMWslue8H8fF9HCCAREaz9HJ77MYPXiJL+yU2FT2jzFKKQ==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.1.0.tgz",
"integrity": "sha512-prB2U3jXPJLpo1iVLN338Lvolh6OrcCZO+9Yv6AR+tvegPPptYCDBIHiEEUdqRi8gAv2bXNKfMUrgAd2ejn/ow==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/eslint-plugin": "8.0.0-alpha.59",
"@typescript-eslint/parser": "8.0.0-alpha.59",
"@typescript-eslint/utils": "8.0.0-alpha.59"
"@typescript-eslint/eslint-plugin": "8.1.0",
"@typescript-eslint/parser": "8.1.0",
"@typescript-eslint/utils": "8.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@ -4572,14 +4580,14 @@
"license": "MIT"
},
"node_modules/vite": {
"version": "5.3.5",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.3.5.tgz",
"integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==",
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.1.tgz",
"integrity": "sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.21.3",
"postcss": "^8.4.39",
"postcss": "^8.4.41",
"rollup": "^4.13.0"
},
"bin": {
@ -4599,6 +4607,7 @@
"less": "*",
"lightningcss": "^1.21.0",
"sass": "*",
"sass-embedded": "*",
"stylus": "*",
"sugarss": "*",
"terser": "^5.4.0"
@ -4616,6 +4625,9 @@
"sass": {
"optional": true
},
"sass-embedded": {
"optional": true
},
"stylus": {
"optional": true
},
@ -4628,9 +4640,9 @@
}
},
"node_modules/vite-node": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.4.tgz",
"integrity": "sha512-ZpJVkxcakYtig5iakNeL7N3trufe3M6vGuzYAr4GsbCTwobDeyPJpE4cjDhhPluv8OvQCFzu2LWp6GkoKRITXA==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.5.tgz",
"integrity": "sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -4666,19 +4678,19 @@
}
},
"node_modules/vitest": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.4.tgz",
"integrity": "sha512-luNLDpfsnxw5QSW4bISPe6tkxVvv5wn2BBs/PuDRkhXZ319doZyLOBr1sjfB5yCEpTiU7xCAdViM8TNVGPwoog==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.5.tgz",
"integrity": "sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.3.0",
"@vitest/expect": "2.0.4",
"@vitest/pretty-format": "^2.0.4",
"@vitest/runner": "2.0.4",
"@vitest/snapshot": "2.0.4",
"@vitest/spy": "2.0.4",
"@vitest/utils": "2.0.4",
"@vitest/expect": "2.0.5",
"@vitest/pretty-format": "^2.0.5",
"@vitest/runner": "2.0.5",
"@vitest/snapshot": "2.0.5",
"@vitest/spy": "2.0.5",
"@vitest/utils": "2.0.5",
"chai": "^5.1.1",
"debug": "^4.3.5",
"execa": "^8.0.1",
@ -4689,7 +4701,7 @@
"tinypool": "^1.0.0",
"tinyrainbow": "^1.2.0",
"vite": "^5.0.0",
"vite-node": "2.0.4",
"vite-node": "2.0.5",
"why-is-node-running": "^2.3.0"
},
"bin": {
@ -4704,8 +4716,8 @@
"peerDependencies": {
"@edge-runtime/vm": "*",
"@types/node": "^18.0.0 || >=20.0.0",
"@vitest/browser": "2.0.4",
"@vitest/ui": "2.0.4",
"@vitest/browser": "2.0.5",
"@vitest/ui": "2.0.5",
"happy-dom": "*",
"jsdom": "*"
},

View File

@ -1,6 +1,11 @@
// place files you want to import through the `$lib` alias in this folder.
const safePath = (input: string) => input.replace(/\W/g, '');
export const storagePath: string = './uploads';
const defaultPath: string = './uploads';
if (!('STORAGE_PATH' in process.env)) {
console.log(`'STORAGE_PATH' environment variable is not set. Defaulting to ${defaultPath}`);
}
export const storagePath: string = process.env.STORAGE_PATH ?? defaultPath;
export default safePath;