enzostvs HF staff commited on
Commit
ac02d1c
β€’
1 Parent(s): 7d37fee

use express to render data assets

Browse files
Files changed (5) hide show
  1. Dockerfile +1 -1
  2. custom-plugin.ts +12 -0
  3. package-lock.json +648 -0
  4. package.json +2 -0
  5. vite.config.ts +3 -1
Dockerfile CHANGED
@@ -20,7 +20,7 @@ RUN chmod +x entrypoint.sh
20
  EXPOSE 3000
21
 
22
  # Create symlink
23
- RUN mkdir -p ./static/data && ln -s /data/uploads ./static/data/uploads
24
 
25
  # Start the application
26
  ENTRYPOINT ["/usr/src/app/entrypoint.sh"]
 
20
  EXPOSE 3000
21
 
22
  # Create symlink
23
+ # RUN mkdir -p ./static/data && ln -s /data/uploads ./static/data/uploads
24
 
25
  # Start the application
26
  ENTRYPOINT ["/usr/src/app/entrypoint.sh"]
custom-plugin.ts ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import express from 'express';
2
+
3
+ const assets = express.static('/data');
4
+ const configureServer = (server) => {
5
+ server.middlewares.use(assets);
6
+ }
7
+
8
+ export const customPlugin = () => ({
9
+ name: "custom-plugin",
10
+ configureServer,
11
+ configurePreviewServer: configureServer,
12
+ })
package-lock.json CHANGED
@@ -16,6 +16,7 @@
16
  "@sveltejs/adapter-node": "^1.3.1",
17
  "aws-sdk": "^2.1538.0",
18
  "cookie": "^0.6.0",
 
19
  "js-cookie": "^3.0.5",
20
  "svelte-infinite-scroll": "^2.0.1"
21
  },
@@ -26,6 +27,7 @@
26
  "@sveltejs/enhanced-img": "^0.1.7",
27
  "@sveltejs/kit": "^1.27.4",
28
  "@types/cookie": "^0.5.1",
 
29
  "@types/js-cookie": "^3.0.6",
30
  "@types/node": "^20.11.2",
31
  "@typescript-eslint/eslint-plugin": "^6.0.0",
@@ -2807,6 +2809,25 @@
2807
  "vite": "^4.0.0"
2808
  }
2809
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2810
  "node_modules/@types/cookie": {
2811
  "version": "0.5.4",
2812
  "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.5.4.tgz",
@@ -2817,6 +2838,36 @@
2817
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
2818
  "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
2819
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2820
  "node_modules/@types/js-cookie": {
2821
  "version": "3.0.6",
2822
  "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz",
@@ -2829,6 +2880,12 @@
2829
  "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
2830
  "dev": true
2831
  },
 
 
 
 
 
 
2832
  "node_modules/@types/node": {
2833
  "version": "20.11.2",
2834
  "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.2.tgz",
@@ -2844,6 +2901,18 @@
2844
  "integrity": "sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==",
2845
  "dev": true
2846
  },
 
 
 
 
 
 
 
 
 
 
 
 
2847
  "node_modules/@types/resolve": {
2848
  "version": "1.20.2",
2849
  "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
@@ -2855,6 +2924,27 @@
2855
  "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
2856
  "dev": true
2857
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2858
  "node_modules/@typescript-eslint/eslint-plugin": {
2859
  "version": "6.14.0",
2860
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz",
@@ -3059,6 +3149,18 @@
3059
  "svelte": "^3.57.0 || ^4.0.0"
3060
  }
3061
  },
 
 
 
 
 
 
 
 
 
 
 
 
3062
  "node_modules/acorn": {
3063
  "version": "8.11.2",
3064
  "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
@@ -3158,6 +3260,11 @@
3158
  "dequal": "^2.0.3"
3159
  }
3160
  },
 
 
 
 
 
3161
  "node_modules/array-union": {
3162
  "version": "2.1.0",
3163
  "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
@@ -3307,6 +3414,42 @@
3307
  "node": ">=8"
3308
  }
3309
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3310
  "node_modules/bowser": {
3311
  "version": "2.11.0",
3312
  "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
@@ -3386,6 +3529,14 @@
3386
  "url": "https://github.com/sponsors/sindresorhus"
3387
  }
3388
  },
 
 
 
 
 
 
 
 
3389
  "node_modules/call-bind": {
3390
  "version": "1.0.5",
3391
  "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
@@ -3565,6 +3716,25 @@
3565
  "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
3566
  "dev": true
3567
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3568
  "node_modules/cookie": {
3569
  "version": "0.6.0",
3570
  "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
@@ -3573,6 +3743,11 @@
3573
  "node": ">= 0.6"
3574
  }
3575
  },
 
 
 
 
 
3576
  "node_modules/cross-spawn": {
3577
  "version": "7.0.3",
3578
  "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -3654,6 +3829,14 @@
3654
  "node": ">= 0.4"
3655
  }
3656
  },
 
 
 
 
 
 
 
 
3657
  "node_modules/dequal": {
3658
  "version": "2.0.3",
3659
  "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
@@ -3662,6 +3845,15 @@
3662
  "node": ">=6"
3663
  }
3664
  },
 
 
 
 
 
 
 
 
 
3665
  "node_modules/detect-indent": {
3666
  "version": "6.1.0",
3667
  "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
@@ -3721,12 +3913,25 @@
3721
  "node": ">=6.0.0"
3722
  }
3723
  },
 
 
 
 
 
3724
  "node_modules/electron-to-chromium": {
3725
  "version": "1.4.610",
3726
  "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.610.tgz",
3727
  "integrity": "sha512-mqi2oL1mfeHYtOdCxbPQYV/PL7YrQlxbvFEZ0Ee8GbDdShimqt2/S6z2RWqysuvlwdOrQdqvE0KZrBTipAeJzg==",
3728
  "dev": true
3729
  },
 
 
 
 
 
 
 
 
3730
  "node_modules/es6-promise": {
3731
  "version": "3.3.1",
3732
  "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
@@ -3778,6 +3983,11 @@
3778
  "node": ">=6"
3779
  }
3780
  },
 
 
 
 
 
3781
  "node_modules/escape-string-regexp": {
3782
  "version": "4.0.0",
3783
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -4004,6 +4214,76 @@
4004
  "node": ">=0.10.0"
4005
  }
4006
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4007
  "node_modules/fast-deep-equal": {
4008
  "version": "3.1.3",
4009
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -4104,6 +4384,36 @@
4104
  "node": ">=8"
4105
  }
4106
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4107
  "node_modules/find-up": {
4108
  "version": "5.0.0",
4109
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -4148,6 +4458,14 @@
4148
  "is-callable": "^1.1.3"
4149
  }
4150
  },
 
 
 
 
 
 
 
 
4151
  "node_modules/fraction.js": {
4152
  "version": "4.3.7",
4153
  "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
@@ -4161,6 +4479,14 @@
4161
  "url": "https://github.com/sponsors/rawify"
4162
  }
4163
  },
 
 
 
 
 
 
 
 
4164
  "node_modules/fs.realpath": {
4165
  "version": "1.0.0",
4166
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -4373,6 +4699,32 @@
4373
  "node": ">= 0.4"
4374
  }
4375
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4376
  "node_modules/ignore": {
4377
  "version": "5.3.0",
4378
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
@@ -4449,6 +4801,14 @@
4449
  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
4450
  "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
4451
  },
 
 
 
 
 
 
 
 
4452
  "node_modules/is-arguments": {
4453
  "version": "1.1.1",
4454
  "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -4769,6 +5129,19 @@
4769
  "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
4770
  "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA=="
4771
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
4772
  "node_modules/merge2": {
4773
  "version": "1.4.1",
4774
  "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -4778,6 +5151,14 @@
4778
  "node": ">= 8"
4779
  }
4780
  },
 
 
 
 
 
 
 
 
4781
  "node_modules/micromatch": {
4782
  "version": "4.0.5",
4783
  "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
@@ -4791,6 +5172,36 @@
4791
  "node": ">=8.6"
4792
  }
4793
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4794
  "node_modules/min-indent": {
4795
  "version": "1.0.1",
4796
  "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
@@ -4888,6 +5299,14 @@
4888
  "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
4889
  "dev": true
4890
  },
 
 
 
 
 
 
 
 
4891
  "node_modules/node-releases": {
4892
  "version": "2.0.14",
4893
  "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
@@ -4930,6 +5349,25 @@
4930
  "node": ">= 6"
4931
  }
4932
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4933
  "node_modules/once": {
4934
  "version": "1.4.0",
4935
  "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -4997,6 +5435,14 @@
4997
  "node": ">=6"
4998
  }
4999
  },
 
 
 
 
 
 
 
 
5000
  "node_modules/path-exists": {
5001
  "version": "4.0.0",
5002
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -5029,6 +5475,11 @@
5029
  "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
5030
  "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
5031
  },
 
 
 
 
 
5032
  "node_modules/path-type": {
5033
  "version": "4.0.0",
5034
  "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -5304,6 +5755,18 @@
5304
  "node": ">=16.13"
5305
  }
5306
  },
 
 
 
 
 
 
 
 
 
 
 
 
5307
  "node_modules/punycode": {
5308
  "version": "2.3.1",
5309
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -5313,6 +5776,20 @@
5313
  "node": ">=6"
5314
  }
5315
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5316
  "node_modules/querystring": {
5317
  "version": "0.2.0",
5318
  "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
@@ -5342,6 +5819,28 @@
5342
  }
5343
  ]
5344
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5345
  "node_modules/read-cache": {
5346
  "version": "1.0.0",
5347
  "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -5462,6 +5961,30 @@
5462
  "node": ">=6"
5463
  }
5464
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5465
  "node_modules/sander": {
5466
  "version": "0.5.1",
5467
  "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz",
@@ -5523,6 +6046,61 @@
5523
  "node": ">=10"
5524
  }
5525
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5526
  "node_modules/set-cookie-parser": {
5527
  "version": "2.6.0",
5528
  "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz",
@@ -5543,6 +6121,11 @@
5543
  "node": ">= 0.4"
5544
  }
5545
  },
 
 
 
 
 
5546
  "node_modules/sharp": {
5547
  "version": "0.33.1",
5548
  "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.1.tgz",
@@ -5604,6 +6187,19 @@
5604
  "node": ">=8"
5605
  }
5606
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
5607
  "node_modules/simple-swizzle": {
5608
  "version": "0.2.2",
5609
  "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
@@ -5658,6 +6254,14 @@
5658
  "node": ">=0.10.0"
5659
  }
5660
  },
 
 
 
 
 
 
 
 
5661
  "node_modules/strip-ansi": {
5662
  "version": "6.0.1",
5663
  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -6076,6 +6680,14 @@
6076
  "node": ">=8.0"
6077
  }
6078
  },
 
 
 
 
 
 
 
 
6079
  "node_modules/totalist": {
6080
  "version": "3.0.1",
6081
  "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
@@ -6131,6 +6743,18 @@
6131
  "url": "https://github.com/sponsors/sindresorhus"
6132
  }
6133
  },
 
 
 
 
 
 
 
 
 
 
 
 
6134
  "node_modules/typescript": {
6135
  "version": "5.3.3",
6136
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
@@ -6161,6 +6785,14 @@
6161
  "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
6162
  "devOptional": true
6163
  },
 
 
 
 
 
 
 
 
6164
  "node_modules/update-browserslist-db": {
6165
  "version": "1.0.13",
6166
  "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
@@ -6232,6 +6864,14 @@
6232
  "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
6233
  "dev": true
6234
  },
 
 
 
 
 
 
 
 
6235
  "node_modules/uuid": {
6236
  "version": "8.3.2",
6237
  "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
@@ -6240,6 +6880,14 @@
6240
  "uuid": "dist/bin/uuid"
6241
  }
6242
  },
 
 
 
 
 
 
 
 
6243
  "node_modules/vite": {
6244
  "version": "4.5.1",
6245
  "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz",
 
16
  "@sveltejs/adapter-node": "^1.3.1",
17
  "aws-sdk": "^2.1538.0",
18
  "cookie": "^0.6.0",
19
+ "express": "^4.18.2",
20
  "js-cookie": "^3.0.5",
21
  "svelte-infinite-scroll": "^2.0.1"
22
  },
 
27
  "@sveltejs/enhanced-img": "^0.1.7",
28
  "@sveltejs/kit": "^1.27.4",
29
  "@types/cookie": "^0.5.1",
30
+ "@types/express": "^4.17.21",
31
  "@types/js-cookie": "^3.0.6",
32
  "@types/node": "^20.11.2",
33
  "@typescript-eslint/eslint-plugin": "^6.0.0",
 
2809
  "vite": "^4.0.0"
2810
  }
2811
  },
2812
+ "node_modules/@types/body-parser": {
2813
+ "version": "1.19.5",
2814
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
2815
+ "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
2816
+ "dev": true,
2817
+ "dependencies": {
2818
+ "@types/connect": "*",
2819
+ "@types/node": "*"
2820
+ }
2821
+ },
2822
+ "node_modules/@types/connect": {
2823
+ "version": "3.4.38",
2824
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
2825
+ "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
2826
+ "dev": true,
2827
+ "dependencies": {
2828
+ "@types/node": "*"
2829
+ }
2830
+ },
2831
  "node_modules/@types/cookie": {
2832
  "version": "0.5.4",
2833
  "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.5.4.tgz",
 
2838
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
2839
  "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
2840
  },
2841
+ "node_modules/@types/express": {
2842
+ "version": "4.17.21",
2843
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
2844
+ "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
2845
+ "dev": true,
2846
+ "dependencies": {
2847
+ "@types/body-parser": "*",
2848
+ "@types/express-serve-static-core": "^4.17.33",
2849
+ "@types/qs": "*",
2850
+ "@types/serve-static": "*"
2851
+ }
2852
+ },
2853
+ "node_modules/@types/express-serve-static-core": {
2854
+ "version": "4.17.41",
2855
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz",
2856
+ "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==",
2857
+ "dev": true,
2858
+ "dependencies": {
2859
+ "@types/node": "*",
2860
+ "@types/qs": "*",
2861
+ "@types/range-parser": "*",
2862
+ "@types/send": "*"
2863
+ }
2864
+ },
2865
+ "node_modules/@types/http-errors": {
2866
+ "version": "2.0.4",
2867
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
2868
+ "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
2869
+ "dev": true
2870
+ },
2871
  "node_modules/@types/js-cookie": {
2872
  "version": "3.0.6",
2873
  "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz",
 
2880
  "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
2881
  "dev": true
2882
  },
2883
+ "node_modules/@types/mime": {
2884
+ "version": "1.3.5",
2885
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
2886
+ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
2887
+ "dev": true
2888
+ },
2889
  "node_modules/@types/node": {
2890
  "version": "20.11.2",
2891
  "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.2.tgz",
 
2901
  "integrity": "sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==",
2902
  "dev": true
2903
  },
2904
+ "node_modules/@types/qs": {
2905
+ "version": "6.9.11",
2906
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
2907
+ "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==",
2908
+ "dev": true
2909
+ },
2910
+ "node_modules/@types/range-parser": {
2911
+ "version": "1.2.7",
2912
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
2913
+ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
2914
+ "dev": true
2915
+ },
2916
  "node_modules/@types/resolve": {
2917
  "version": "1.20.2",
2918
  "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
 
2924
  "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
2925
  "dev": true
2926
  },
2927
+ "node_modules/@types/send": {
2928
+ "version": "0.17.4",
2929
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
2930
+ "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
2931
+ "dev": true,
2932
+ "dependencies": {
2933
+ "@types/mime": "^1",
2934
+ "@types/node": "*"
2935
+ }
2936
+ },
2937
+ "node_modules/@types/serve-static": {
2938
+ "version": "1.15.5",
2939
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
2940
+ "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
2941
+ "dev": true,
2942
+ "dependencies": {
2943
+ "@types/http-errors": "*",
2944
+ "@types/mime": "*",
2945
+ "@types/node": "*"
2946
+ }
2947
+ },
2948
  "node_modules/@typescript-eslint/eslint-plugin": {
2949
  "version": "6.14.0",
2950
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz",
 
3149
  "svelte": "^3.57.0 || ^4.0.0"
3150
  }
3151
  },
3152
+ "node_modules/accepts": {
3153
+ "version": "1.3.8",
3154
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
3155
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
3156
+ "dependencies": {
3157
+ "mime-types": "~2.1.34",
3158
+ "negotiator": "0.6.3"
3159
+ },
3160
+ "engines": {
3161
+ "node": ">= 0.6"
3162
+ }
3163
+ },
3164
  "node_modules/acorn": {
3165
  "version": "8.11.2",
3166
  "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
 
3260
  "dequal": "^2.0.3"
3261
  }
3262
  },
3263
+ "node_modules/array-flatten": {
3264
+ "version": "1.1.1",
3265
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
3266
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
3267
+ },
3268
  "node_modules/array-union": {
3269
  "version": "2.1.0",
3270
  "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
 
3414
  "node": ">=8"
3415
  }
3416
  },
3417
+ "node_modules/body-parser": {
3418
+ "version": "1.20.1",
3419
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
3420
+ "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
3421
+ "dependencies": {
3422
+ "bytes": "3.1.2",
3423
+ "content-type": "~1.0.4",
3424
+ "debug": "2.6.9",
3425
+ "depd": "2.0.0",
3426
+ "destroy": "1.2.0",
3427
+ "http-errors": "2.0.0",
3428
+ "iconv-lite": "0.4.24",
3429
+ "on-finished": "2.4.1",
3430
+ "qs": "6.11.0",
3431
+ "raw-body": "2.5.1",
3432
+ "type-is": "~1.6.18",
3433
+ "unpipe": "1.0.0"
3434
+ },
3435
+ "engines": {
3436
+ "node": ">= 0.8",
3437
+ "npm": "1.2.8000 || >= 1.4.16"
3438
+ }
3439
+ },
3440
+ "node_modules/body-parser/node_modules/debug": {
3441
+ "version": "2.6.9",
3442
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
3443
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
3444
+ "dependencies": {
3445
+ "ms": "2.0.0"
3446
+ }
3447
+ },
3448
+ "node_modules/body-parser/node_modules/ms": {
3449
+ "version": "2.0.0",
3450
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3451
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
3452
+ },
3453
  "node_modules/bowser": {
3454
  "version": "2.11.0",
3455
  "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
 
3529
  "url": "https://github.com/sponsors/sindresorhus"
3530
  }
3531
  },
3532
+ "node_modules/bytes": {
3533
+ "version": "3.1.2",
3534
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
3535
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
3536
+ "engines": {
3537
+ "node": ">= 0.8"
3538
+ }
3539
+ },
3540
  "node_modules/call-bind": {
3541
  "version": "1.0.5",
3542
  "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
 
3716
  "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
3717
  "dev": true
3718
  },
3719
+ "node_modules/content-disposition": {
3720
+ "version": "0.5.4",
3721
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
3722
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
3723
+ "dependencies": {
3724
+ "safe-buffer": "5.2.1"
3725
+ },
3726
+ "engines": {
3727
+ "node": ">= 0.6"
3728
+ }
3729
+ },
3730
+ "node_modules/content-type": {
3731
+ "version": "1.0.5",
3732
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
3733
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
3734
+ "engines": {
3735
+ "node": ">= 0.6"
3736
+ }
3737
+ },
3738
  "node_modules/cookie": {
3739
  "version": "0.6.0",
3740
  "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
 
3743
  "node": ">= 0.6"
3744
  }
3745
  },
3746
+ "node_modules/cookie-signature": {
3747
+ "version": "1.0.6",
3748
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
3749
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
3750
+ },
3751
  "node_modules/cross-spawn": {
3752
  "version": "7.0.3",
3753
  "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
 
3829
  "node": ">= 0.4"
3830
  }
3831
  },
3832
+ "node_modules/depd": {
3833
+ "version": "2.0.0",
3834
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
3835
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
3836
+ "engines": {
3837
+ "node": ">= 0.8"
3838
+ }
3839
+ },
3840
  "node_modules/dequal": {
3841
  "version": "2.0.3",
3842
  "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
 
3845
  "node": ">=6"
3846
  }
3847
  },
3848
+ "node_modules/destroy": {
3849
+ "version": "1.2.0",
3850
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
3851
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
3852
+ "engines": {
3853
+ "node": ">= 0.8",
3854
+ "npm": "1.2.8000 || >= 1.4.16"
3855
+ }
3856
+ },
3857
  "node_modules/detect-indent": {
3858
  "version": "6.1.0",
3859
  "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
 
3913
  "node": ">=6.0.0"
3914
  }
3915
  },
3916
+ "node_modules/ee-first": {
3917
+ "version": "1.1.1",
3918
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
3919
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
3920
+ },
3921
  "node_modules/electron-to-chromium": {
3922
  "version": "1.4.610",
3923
  "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.610.tgz",
3924
  "integrity": "sha512-mqi2oL1mfeHYtOdCxbPQYV/PL7YrQlxbvFEZ0Ee8GbDdShimqt2/S6z2RWqysuvlwdOrQdqvE0KZrBTipAeJzg==",
3925
  "dev": true
3926
  },
3927
+ "node_modules/encodeurl": {
3928
+ "version": "1.0.2",
3929
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
3930
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
3931
+ "engines": {
3932
+ "node": ">= 0.8"
3933
+ }
3934
+ },
3935
  "node_modules/es6-promise": {
3936
  "version": "3.3.1",
3937
  "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
 
3983
  "node": ">=6"
3984
  }
3985
  },
3986
+ "node_modules/escape-html": {
3987
+ "version": "1.0.3",
3988
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
3989
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
3990
+ },
3991
  "node_modules/escape-string-regexp": {
3992
  "version": "4.0.0",
3993
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
 
4214
  "node": ">=0.10.0"
4215
  }
4216
  },
4217
+ "node_modules/etag": {
4218
+ "version": "1.8.1",
4219
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
4220
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
4221
+ "engines": {
4222
+ "node": ">= 0.6"
4223
+ }
4224
+ },
4225
+ "node_modules/express": {
4226
+ "version": "4.18.2",
4227
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
4228
+ "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
4229
+ "dependencies": {
4230
+ "accepts": "~1.3.8",
4231
+ "array-flatten": "1.1.1",
4232
+ "body-parser": "1.20.1",
4233
+ "content-disposition": "0.5.4",
4234
+ "content-type": "~1.0.4",
4235
+ "cookie": "0.5.0",
4236
+ "cookie-signature": "1.0.6",
4237
+ "debug": "2.6.9",
4238
+ "depd": "2.0.0",
4239
+ "encodeurl": "~1.0.2",
4240
+ "escape-html": "~1.0.3",
4241
+ "etag": "~1.8.1",
4242
+ "finalhandler": "1.2.0",
4243
+ "fresh": "0.5.2",
4244
+ "http-errors": "2.0.0",
4245
+ "merge-descriptors": "1.0.1",
4246
+ "methods": "~1.1.2",
4247
+ "on-finished": "2.4.1",
4248
+ "parseurl": "~1.3.3",
4249
+ "path-to-regexp": "0.1.7",
4250
+ "proxy-addr": "~2.0.7",
4251
+ "qs": "6.11.0",
4252
+ "range-parser": "~1.2.1",
4253
+ "safe-buffer": "5.2.1",
4254
+ "send": "0.18.0",
4255
+ "serve-static": "1.15.0",
4256
+ "setprototypeof": "1.2.0",
4257
+ "statuses": "2.0.1",
4258
+ "type-is": "~1.6.18",
4259
+ "utils-merge": "1.0.1",
4260
+ "vary": "~1.1.2"
4261
+ },
4262
+ "engines": {
4263
+ "node": ">= 0.10.0"
4264
+ }
4265
+ },
4266
+ "node_modules/express/node_modules/cookie": {
4267
+ "version": "0.5.0",
4268
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
4269
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
4270
+ "engines": {
4271
+ "node": ">= 0.6"
4272
+ }
4273
+ },
4274
+ "node_modules/express/node_modules/debug": {
4275
+ "version": "2.6.9",
4276
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4277
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4278
+ "dependencies": {
4279
+ "ms": "2.0.0"
4280
+ }
4281
+ },
4282
+ "node_modules/express/node_modules/ms": {
4283
+ "version": "2.0.0",
4284
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
4285
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
4286
+ },
4287
  "node_modules/fast-deep-equal": {
4288
  "version": "3.1.3",
4289
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
 
4384
  "node": ">=8"
4385
  }
4386
  },
4387
+ "node_modules/finalhandler": {
4388
+ "version": "1.2.0",
4389
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
4390
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
4391
+ "dependencies": {
4392
+ "debug": "2.6.9",
4393
+ "encodeurl": "~1.0.2",
4394
+ "escape-html": "~1.0.3",
4395
+ "on-finished": "2.4.1",
4396
+ "parseurl": "~1.3.3",
4397
+ "statuses": "2.0.1",
4398
+ "unpipe": "~1.0.0"
4399
+ },
4400
+ "engines": {
4401
+ "node": ">= 0.8"
4402
+ }
4403
+ },
4404
+ "node_modules/finalhandler/node_modules/debug": {
4405
+ "version": "2.6.9",
4406
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4407
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4408
+ "dependencies": {
4409
+ "ms": "2.0.0"
4410
+ }
4411
+ },
4412
+ "node_modules/finalhandler/node_modules/ms": {
4413
+ "version": "2.0.0",
4414
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
4415
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
4416
+ },
4417
  "node_modules/find-up": {
4418
  "version": "5.0.0",
4419
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
 
4458
  "is-callable": "^1.1.3"
4459
  }
4460
  },
4461
+ "node_modules/forwarded": {
4462
+ "version": "0.2.0",
4463
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
4464
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
4465
+ "engines": {
4466
+ "node": ">= 0.6"
4467
+ }
4468
+ },
4469
  "node_modules/fraction.js": {
4470
  "version": "4.3.7",
4471
  "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
 
4479
  "url": "https://github.com/sponsors/rawify"
4480
  }
4481
  },
4482
+ "node_modules/fresh": {
4483
+ "version": "0.5.2",
4484
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
4485
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
4486
+ "engines": {
4487
+ "node": ">= 0.6"
4488
+ }
4489
+ },
4490
  "node_modules/fs.realpath": {
4491
  "version": "1.0.0",
4492
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 
4699
  "node": ">= 0.4"
4700
  }
4701
  },
4702
+ "node_modules/http-errors": {
4703
+ "version": "2.0.0",
4704
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
4705
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
4706
+ "dependencies": {
4707
+ "depd": "2.0.0",
4708
+ "inherits": "2.0.4",
4709
+ "setprototypeof": "1.2.0",
4710
+ "statuses": "2.0.1",
4711
+ "toidentifier": "1.0.1"
4712
+ },
4713
+ "engines": {
4714
+ "node": ">= 0.8"
4715
+ }
4716
+ },
4717
+ "node_modules/iconv-lite": {
4718
+ "version": "0.4.24",
4719
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
4720
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
4721
+ "dependencies": {
4722
+ "safer-buffer": ">= 2.1.2 < 3"
4723
+ },
4724
+ "engines": {
4725
+ "node": ">=0.10.0"
4726
+ }
4727
+ },
4728
  "node_modules/ignore": {
4729
  "version": "5.3.0",
4730
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
 
4801
  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
4802
  "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
4803
  },
4804
+ "node_modules/ipaddr.js": {
4805
+ "version": "1.9.1",
4806
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
4807
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
4808
+ "engines": {
4809
+ "node": ">= 0.10"
4810
+ }
4811
+ },
4812
  "node_modules/is-arguments": {
4813
  "version": "1.1.1",
4814
  "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
 
5129
  "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
5130
  "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA=="
5131
  },
5132
+ "node_modules/media-typer": {
5133
+ "version": "0.3.0",
5134
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
5135
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
5136
+ "engines": {
5137
+ "node": ">= 0.6"
5138
+ }
5139
+ },
5140
+ "node_modules/merge-descriptors": {
5141
+ "version": "1.0.1",
5142
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
5143
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
5144
+ },
5145
  "node_modules/merge2": {
5146
  "version": "1.4.1",
5147
  "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
 
5151
  "node": ">= 8"
5152
  }
5153
  },
5154
+ "node_modules/methods": {
5155
+ "version": "1.1.2",
5156
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
5157
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
5158
+ "engines": {
5159
+ "node": ">= 0.6"
5160
+ }
5161
+ },
5162
  "node_modules/micromatch": {
5163
  "version": "4.0.5",
5164
  "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
 
5172
  "node": ">=8.6"
5173
  }
5174
  },
5175
+ "node_modules/mime": {
5176
+ "version": "1.6.0",
5177
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
5178
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
5179
+ "bin": {
5180
+ "mime": "cli.js"
5181
+ },
5182
+ "engines": {
5183
+ "node": ">=4"
5184
+ }
5185
+ },
5186
+ "node_modules/mime-db": {
5187
+ "version": "1.52.0",
5188
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
5189
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
5190
+ "engines": {
5191
+ "node": ">= 0.6"
5192
+ }
5193
+ },
5194
+ "node_modules/mime-types": {
5195
+ "version": "2.1.35",
5196
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
5197
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
5198
+ "dependencies": {
5199
+ "mime-db": "1.52.0"
5200
+ },
5201
+ "engines": {
5202
+ "node": ">= 0.6"
5203
+ }
5204
+ },
5205
  "node_modules/min-indent": {
5206
  "version": "1.0.1",
5207
  "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
 
5299
  "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
5300
  "dev": true
5301
  },
5302
+ "node_modules/negotiator": {
5303
+ "version": "0.6.3",
5304
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
5305
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
5306
+ "engines": {
5307
+ "node": ">= 0.6"
5308
+ }
5309
+ },
5310
  "node_modules/node-releases": {
5311
  "version": "2.0.14",
5312
  "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
 
5349
  "node": ">= 6"
5350
  }
5351
  },
5352
+ "node_modules/object-inspect": {
5353
+ "version": "1.13.1",
5354
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
5355
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
5356
+ "funding": {
5357
+ "url": "https://github.com/sponsors/ljharb"
5358
+ }
5359
+ },
5360
+ "node_modules/on-finished": {
5361
+ "version": "2.4.1",
5362
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
5363
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
5364
+ "dependencies": {
5365
+ "ee-first": "1.1.1"
5366
+ },
5367
+ "engines": {
5368
+ "node": ">= 0.8"
5369
+ }
5370
+ },
5371
  "node_modules/once": {
5372
  "version": "1.4.0",
5373
  "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 
5435
  "node": ">=6"
5436
  }
5437
  },
5438
+ "node_modules/parseurl": {
5439
+ "version": "1.3.3",
5440
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
5441
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
5442
+ "engines": {
5443
+ "node": ">= 0.8"
5444
+ }
5445
+ },
5446
  "node_modules/path-exists": {
5447
  "version": "4.0.0",
5448
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
 
5475
  "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
5476
  "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
5477
  },
5478
+ "node_modules/path-to-regexp": {
5479
+ "version": "0.1.7",
5480
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
5481
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
5482
+ },
5483
  "node_modules/path-type": {
5484
  "version": "4.0.0",
5485
  "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
 
5755
  "node": ">=16.13"
5756
  }
5757
  },
5758
+ "node_modules/proxy-addr": {
5759
+ "version": "2.0.7",
5760
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
5761
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
5762
+ "dependencies": {
5763
+ "forwarded": "0.2.0",
5764
+ "ipaddr.js": "1.9.1"
5765
+ },
5766
+ "engines": {
5767
+ "node": ">= 0.10"
5768
+ }
5769
+ },
5770
  "node_modules/punycode": {
5771
  "version": "2.3.1",
5772
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
 
5776
  "node": ">=6"
5777
  }
5778
  },
5779
+ "node_modules/qs": {
5780
+ "version": "6.11.0",
5781
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
5782
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
5783
+ "dependencies": {
5784
+ "side-channel": "^1.0.4"
5785
+ },
5786
+ "engines": {
5787
+ "node": ">=0.6"
5788
+ },
5789
+ "funding": {
5790
+ "url": "https://github.com/sponsors/ljharb"
5791
+ }
5792
+ },
5793
  "node_modules/querystring": {
5794
  "version": "0.2.0",
5795
  "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
 
5819
  }
5820
  ]
5821
  },
5822
+ "node_modules/range-parser": {
5823
+ "version": "1.2.1",
5824
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
5825
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
5826
+ "engines": {
5827
+ "node": ">= 0.6"
5828
+ }
5829
+ },
5830
+ "node_modules/raw-body": {
5831
+ "version": "2.5.1",
5832
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
5833
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
5834
+ "dependencies": {
5835
+ "bytes": "3.1.2",
5836
+ "http-errors": "2.0.0",
5837
+ "iconv-lite": "0.4.24",
5838
+ "unpipe": "1.0.0"
5839
+ },
5840
+ "engines": {
5841
+ "node": ">= 0.8"
5842
+ }
5843
+ },
5844
  "node_modules/read-cache": {
5845
  "version": "1.0.0",
5846
  "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
 
5961
  "node": ">=6"
5962
  }
5963
  },
5964
+ "node_modules/safe-buffer": {
5965
+ "version": "5.2.1",
5966
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
5967
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
5968
+ "funding": [
5969
+ {
5970
+ "type": "github",
5971
+ "url": "https://github.com/sponsors/feross"
5972
+ },
5973
+ {
5974
+ "type": "patreon",
5975
+ "url": "https://www.patreon.com/feross"
5976
+ },
5977
+ {
5978
+ "type": "consulting",
5979
+ "url": "https://feross.org/support"
5980
+ }
5981
+ ]
5982
+ },
5983
+ "node_modules/safer-buffer": {
5984
+ "version": "2.1.2",
5985
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
5986
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
5987
+ },
5988
  "node_modules/sander": {
5989
  "version": "0.5.1",
5990
  "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz",
 
6046
  "node": ">=10"
6047
  }
6048
  },
6049
+ "node_modules/send": {
6050
+ "version": "0.18.0",
6051
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
6052
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
6053
+ "dependencies": {
6054
+ "debug": "2.6.9",
6055
+ "depd": "2.0.0",
6056
+ "destroy": "1.2.0",
6057
+ "encodeurl": "~1.0.2",
6058
+ "escape-html": "~1.0.3",
6059
+ "etag": "~1.8.1",
6060
+ "fresh": "0.5.2",
6061
+ "http-errors": "2.0.0",
6062
+ "mime": "1.6.0",
6063
+ "ms": "2.1.3",
6064
+ "on-finished": "2.4.1",
6065
+ "range-parser": "~1.2.1",
6066
+ "statuses": "2.0.1"
6067
+ },
6068
+ "engines": {
6069
+ "node": ">= 0.8.0"
6070
+ }
6071
+ },
6072
+ "node_modules/send/node_modules/debug": {
6073
+ "version": "2.6.9",
6074
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
6075
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
6076
+ "dependencies": {
6077
+ "ms": "2.0.0"
6078
+ }
6079
+ },
6080
+ "node_modules/send/node_modules/debug/node_modules/ms": {
6081
+ "version": "2.0.0",
6082
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
6083
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
6084
+ },
6085
+ "node_modules/send/node_modules/ms": {
6086
+ "version": "2.1.3",
6087
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
6088
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
6089
+ },
6090
+ "node_modules/serve-static": {
6091
+ "version": "1.15.0",
6092
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
6093
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
6094
+ "dependencies": {
6095
+ "encodeurl": "~1.0.2",
6096
+ "escape-html": "~1.0.3",
6097
+ "parseurl": "~1.3.3",
6098
+ "send": "0.18.0"
6099
+ },
6100
+ "engines": {
6101
+ "node": ">= 0.8.0"
6102
+ }
6103
+ },
6104
  "node_modules/set-cookie-parser": {
6105
  "version": "2.6.0",
6106
  "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz",
 
6121
  "node": ">= 0.4"
6122
  }
6123
  },
6124
+ "node_modules/setprototypeof": {
6125
+ "version": "1.2.0",
6126
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
6127
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
6128
+ },
6129
  "node_modules/sharp": {
6130
  "version": "0.33.1",
6131
  "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.1.tgz",
 
6187
  "node": ">=8"
6188
  }
6189
  },
6190
+ "node_modules/side-channel": {
6191
+ "version": "1.0.4",
6192
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
6193
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
6194
+ "dependencies": {
6195
+ "call-bind": "^1.0.0",
6196
+ "get-intrinsic": "^1.0.2",
6197
+ "object-inspect": "^1.9.0"
6198
+ },
6199
+ "funding": {
6200
+ "url": "https://github.com/sponsors/ljharb"
6201
+ }
6202
+ },
6203
  "node_modules/simple-swizzle": {
6204
  "version": "0.2.2",
6205
  "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
 
6254
  "node": ">=0.10.0"
6255
  }
6256
  },
6257
+ "node_modules/statuses": {
6258
+ "version": "2.0.1",
6259
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
6260
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
6261
+ "engines": {
6262
+ "node": ">= 0.8"
6263
+ }
6264
+ },
6265
  "node_modules/strip-ansi": {
6266
  "version": "6.0.1",
6267
  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
 
6680
  "node": ">=8.0"
6681
  }
6682
  },
6683
+ "node_modules/toidentifier": {
6684
+ "version": "1.0.1",
6685
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
6686
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
6687
+ "engines": {
6688
+ "node": ">=0.6"
6689
+ }
6690
+ },
6691
  "node_modules/totalist": {
6692
  "version": "3.0.1",
6693
  "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
 
6743
  "url": "https://github.com/sponsors/sindresorhus"
6744
  }
6745
  },
6746
+ "node_modules/type-is": {
6747
+ "version": "1.6.18",
6748
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
6749
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
6750
+ "dependencies": {
6751
+ "media-typer": "0.3.0",
6752
+ "mime-types": "~2.1.24"
6753
+ },
6754
+ "engines": {
6755
+ "node": ">= 0.6"
6756
+ }
6757
+ },
6758
  "node_modules/typescript": {
6759
  "version": "5.3.3",
6760
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
 
6785
  "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
6786
  "devOptional": true
6787
  },
6788
+ "node_modules/unpipe": {
6789
+ "version": "1.0.0",
6790
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
6791
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
6792
+ "engines": {
6793
+ "node": ">= 0.8"
6794
+ }
6795
+ },
6796
  "node_modules/update-browserslist-db": {
6797
  "version": "1.0.13",
6798
  "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
 
6864
  "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
6865
  "dev": true
6866
  },
6867
+ "node_modules/utils-merge": {
6868
+ "version": "1.0.1",
6869
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
6870
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
6871
+ "engines": {
6872
+ "node": ">= 0.4.0"
6873
+ }
6874
+ },
6875
  "node_modules/uuid": {
6876
  "version": "8.3.2",
6877
  "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
 
6880
  "uuid": "dist/bin/uuid"
6881
  }
6882
  },
6883
+ "node_modules/vary": {
6884
+ "version": "1.1.2",
6885
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
6886
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
6887
+ "engines": {
6888
+ "node": ">= 0.8"
6889
+ }
6890
+ },
6891
  "node_modules/vite": {
6892
  "version": "4.5.1",
6893
  "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz",
package.json CHANGED
@@ -17,6 +17,7 @@
17
  "@sveltejs/enhanced-img": "^0.1.7",
18
  "@sveltejs/kit": "^1.27.4",
19
  "@types/cookie": "^0.5.1",
 
20
  "@types/js-cookie": "^3.0.6",
21
  "@types/node": "^20.11.2",
22
  "@typescript-eslint/eslint-plugin": "^6.0.0",
@@ -48,6 +49,7 @@
48
  "@sveltejs/adapter-node": "^1.3.1",
49
  "aws-sdk": "^2.1538.0",
50
  "cookie": "^0.6.0",
 
51
  "js-cookie": "^3.0.5",
52
  "svelte-infinite-scroll": "^2.0.1"
53
  }
 
17
  "@sveltejs/enhanced-img": "^0.1.7",
18
  "@sveltejs/kit": "^1.27.4",
19
  "@types/cookie": "^0.5.1",
20
+ "@types/express": "^4.17.21",
21
  "@types/js-cookie": "^3.0.6",
22
  "@types/node": "^20.11.2",
23
  "@typescript-eslint/eslint-plugin": "^6.0.0",
 
49
  "@sveltejs/adapter-node": "^1.3.1",
50
  "aws-sdk": "^2.1538.0",
51
  "cookie": "^0.6.0",
52
+ "express": "^4.18.2",
53
  "js-cookie": "^3.0.5",
54
  "svelte-infinite-scroll": "^2.0.1"
55
  }
vite.config.ts CHANGED
@@ -1,11 +1,13 @@
1
  import { sveltekit } from '@sveltejs/kit/vite';
2
  import { enhancedImages } from '@sveltejs/enhanced-img';
3
  import { defineConfig } from 'vite';
 
4
 
5
  export default defineConfig({
6
  plugins: [
7
  enhancedImages(),
8
- sveltekit()
 
9
  ],
10
  server: {
11
  fs: {
 
1
  import { sveltekit } from '@sveltejs/kit/vite';
2
  import { enhancedImages } from '@sveltejs/enhanced-img';
3
  import { defineConfig } from 'vite';
4
+ import { customPlugin } from './custom-plugin';
5
 
6
  export default defineConfig({
7
  plugins: [
8
  enhancedImages(),
9
+ sveltekit(),
10
+ customPlugin(),
11
  ],
12
  server: {
13
  fs: {