create-rebe 1.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/package.json +1 -1
  2. package/template/.env.example +4 -0
  3. package/template/README.md +63 -8
  4. package/template/SECURITY.md +39 -0
  5. package/template/app/routes/api.route.js +1 -1
  6. package/template/app/routes/register.route.js +1 -1
  7. package/template/app/routes/web.route.js +1 -1
  8. package/template/app/socket/register.socket.js +0 -2
  9. package/template/config/express.config.js +8 -0
  10. package/template/core/common/string.js +1 -1
  11. package/template/core/cron.core.js +1 -0
  12. package/template/core/database.core.js +30 -17
  13. package/template/core/error.core.js +8 -4
  14. package/template/core/express.core.js +16 -4
  15. package/template/core/hooks.core.js +10 -7
  16. package/template/core/migrator.core.js +201 -0
  17. package/template/core/modules.core.js +167 -0
  18. package/template/core/queue.core.js +1 -0
  19. package/template/core/routing.core.d.ts +273 -0
  20. package/template/core/routing.core.js +666 -0
  21. package/template/core/seeder.core.js +105 -0
  22. package/template/core/socket.core.js +1 -0
  23. package/template/database/migrations/.gitkeep +0 -0
  24. package/template/database/seeders/.gitkeep +0 -0
  25. package/template/docs/Database.md +14 -8
  26. package/template/docs/Express.md +5 -2
  27. package/template/docs/Make.md +46 -0
  28. package/template/docs/Migration.md +56 -0
  29. package/template/docs/Modules.md +96 -0
  30. package/template/docs/README.md +5 -0
  31. package/template/docs/Routing.md +116 -0
  32. package/template/docs/Seeder.md +54 -0
  33. package/template/eslint.config.js +52 -0
  34. package/template/package-lock.json +1068 -70
  35. package/template/package.json +15 -8
  36. package/template/scripts/cli/args.js +39 -0
  37. package/template/scripts/cli/bootstrap.js +16 -0
  38. package/template/scripts/cli/db.js +79 -0
  39. package/template/scripts/cli/help.js +58 -0
  40. package/template/scripts/cli/keys.js +100 -0
  41. package/template/scripts/cli/log.js +58 -0
  42. package/template/scripts/cli/make.js +249 -0
  43. package/template/scripts/cli/names.js +51 -0
  44. package/template/scripts/cli/templates.js +358 -0
  45. package/template/scripts/cli.js +75 -234
  46. package/template/tests/http.test.js +99 -0
@@ -1,16 +1,15 @@
1
1
  {
2
- "name": "backend",
3
- "version": "1.0.0",
2
+ "name": "rebe",
3
+ "version": "3.0.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
- "name": "backend",
9
- "version": "1.0.0",
8
+ "name": "rebe",
9
+ "version": "3.0.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@refkinscallv/express-routing": "^3.2.0",
13
- "axios": "^1.17.0",
12
+ "axios": "^1.18.0",
14
13
  "bcrypt": "^6.0.0",
15
14
  "compression": "^1.8.1",
16
15
  "cors": "^2.8.6",
@@ -21,10 +20,10 @@
21
20
  "ioredis": "^5.11.1",
22
21
  "jsonwebtoken": "^9.0.3",
23
22
  "module-alias": "^2.3.4",
24
- "multer": "^2.1.1",
23
+ "multer": "^2.2.0",
25
24
  "mysql2": "^3.22.5",
26
- "node-cron": "^4.2.1",
27
- "nodemailer": "^8.0.10",
25
+ "node-cron": "^4.4.1",
26
+ "nodemailer": "^9.0.1",
28
27
  "sequelize": "^6.37.8",
29
28
  "socket.io": "^4.8.3",
30
29
  "winston": "^3.19.0",
@@ -32,9 +31,18 @@
32
31
  "zod": "^4.4.3"
33
32
  },
34
33
  "devDependencies": {
34
+ "@eslint/js": "^10.0.1",
35
+ "eslint": "^10.5.0",
36
+ "eslint-plugin-n": "^18.1.0",
37
+ "eslint-plugin-security": "^4.0.1",
38
+ "globals": "^17.6.0",
35
39
  "jest": "^30.4.2",
36
40
  "nodemon": "^3.1.14",
37
- "prettier": "^3.8.4"
41
+ "prettier": "^3.8.4",
42
+ "supertest": "^7.2.2"
43
+ },
44
+ "engines": {
45
+ "node": ">=20.9.0"
38
46
  }
39
47
  },
40
48
  "node_modules/@babel/code-frame": {
@@ -607,6 +615,200 @@
607
615
  "tslib": "^2.4.0"
608
616
  }
609
617
  },
618
+ "node_modules/@eslint-community/eslint-utils": {
619
+ "version": "4.9.1",
620
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
621
+ "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
622
+ "dev": true,
623
+ "license": "MIT",
624
+ "dependencies": {
625
+ "eslint-visitor-keys": "^3.4.3"
626
+ },
627
+ "engines": {
628
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
629
+ },
630
+ "funding": {
631
+ "url": "https://opencollective.com/eslint"
632
+ },
633
+ "peerDependencies": {
634
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
635
+ }
636
+ },
637
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
638
+ "version": "3.4.3",
639
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
640
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
641
+ "dev": true,
642
+ "license": "Apache-2.0",
643
+ "engines": {
644
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
645
+ },
646
+ "funding": {
647
+ "url": "https://opencollective.com/eslint"
648
+ }
649
+ },
650
+ "node_modules/@eslint-community/regexpp": {
651
+ "version": "4.12.2",
652
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
653
+ "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
654
+ "dev": true,
655
+ "license": "MIT",
656
+ "engines": {
657
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
658
+ }
659
+ },
660
+ "node_modules/@eslint/config-array": {
661
+ "version": "0.23.5",
662
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz",
663
+ "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==",
664
+ "dev": true,
665
+ "license": "Apache-2.0",
666
+ "dependencies": {
667
+ "@eslint/object-schema": "^3.0.5",
668
+ "debug": "^4.3.1",
669
+ "minimatch": "^10.2.4"
670
+ },
671
+ "engines": {
672
+ "node": "^20.19.0 || ^22.13.0 || >=24"
673
+ }
674
+ },
675
+ "node_modules/@eslint/config-helpers": {
676
+ "version": "0.6.0",
677
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz",
678
+ "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==",
679
+ "dev": true,
680
+ "license": "Apache-2.0",
681
+ "dependencies": {
682
+ "@eslint/core": "^1.2.1"
683
+ },
684
+ "engines": {
685
+ "node": "^20.19.0 || ^22.13.0 || >=24"
686
+ }
687
+ },
688
+ "node_modules/@eslint/core": {
689
+ "version": "1.2.1",
690
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz",
691
+ "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==",
692
+ "dev": true,
693
+ "license": "Apache-2.0",
694
+ "dependencies": {
695
+ "@types/json-schema": "^7.0.15"
696
+ },
697
+ "engines": {
698
+ "node": "^20.19.0 || ^22.13.0 || >=24"
699
+ }
700
+ },
701
+ "node_modules/@eslint/js": {
702
+ "version": "10.0.1",
703
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz",
704
+ "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==",
705
+ "dev": true,
706
+ "license": "MIT",
707
+ "engines": {
708
+ "node": "^20.19.0 || ^22.13.0 || >=24"
709
+ },
710
+ "funding": {
711
+ "url": "https://eslint.org/donate"
712
+ },
713
+ "peerDependencies": {
714
+ "eslint": "^10.0.0"
715
+ },
716
+ "peerDependenciesMeta": {
717
+ "eslint": {
718
+ "optional": true
719
+ }
720
+ }
721
+ },
722
+ "node_modules/@eslint/object-schema": {
723
+ "version": "3.0.5",
724
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz",
725
+ "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==",
726
+ "dev": true,
727
+ "license": "Apache-2.0",
728
+ "engines": {
729
+ "node": "^20.19.0 || ^22.13.0 || >=24"
730
+ }
731
+ },
732
+ "node_modules/@eslint/plugin-kit": {
733
+ "version": "0.7.2",
734
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz",
735
+ "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==",
736
+ "dev": true,
737
+ "license": "Apache-2.0",
738
+ "dependencies": {
739
+ "@eslint/core": "^1.2.1",
740
+ "levn": "^0.4.1"
741
+ },
742
+ "engines": {
743
+ "node": "^20.19.0 || ^22.13.0 || >=24"
744
+ }
745
+ },
746
+ "node_modules/@humanfs/core": {
747
+ "version": "0.19.2",
748
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz",
749
+ "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==",
750
+ "dev": true,
751
+ "license": "Apache-2.0",
752
+ "dependencies": {
753
+ "@humanfs/types": "^0.15.0"
754
+ },
755
+ "engines": {
756
+ "node": ">=18.18.0"
757
+ }
758
+ },
759
+ "node_modules/@humanfs/node": {
760
+ "version": "0.16.8",
761
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz",
762
+ "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==",
763
+ "dev": true,
764
+ "license": "Apache-2.0",
765
+ "dependencies": {
766
+ "@humanfs/core": "^0.19.2",
767
+ "@humanfs/types": "^0.15.0",
768
+ "@humanwhocodes/retry": "^0.4.0"
769
+ },
770
+ "engines": {
771
+ "node": ">=18.18.0"
772
+ }
773
+ },
774
+ "node_modules/@humanfs/types": {
775
+ "version": "0.15.0",
776
+ "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz",
777
+ "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==",
778
+ "dev": true,
779
+ "license": "Apache-2.0",
780
+ "engines": {
781
+ "node": ">=18.18.0"
782
+ }
783
+ },
784
+ "node_modules/@humanwhocodes/module-importer": {
785
+ "version": "1.0.1",
786
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
787
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
788
+ "dev": true,
789
+ "license": "Apache-2.0",
790
+ "engines": {
791
+ "node": ">=12.22"
792
+ },
793
+ "funding": {
794
+ "type": "github",
795
+ "url": "https://github.com/sponsors/nzakas"
796
+ }
797
+ },
798
+ "node_modules/@humanwhocodes/retry": {
799
+ "version": "0.4.3",
800
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
801
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
802
+ "dev": true,
803
+ "license": "Apache-2.0",
804
+ "engines": {
805
+ "node": ">=18.18"
806
+ },
807
+ "funding": {
808
+ "type": "github",
809
+ "url": "https://github.com/sponsors/nzakas"
810
+ }
811
+ },
610
812
  "node_modules/@ioredis/commands": {
611
813
  "version": "1.10.0",
612
814
  "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.10.0.tgz",
@@ -1068,6 +1270,29 @@
1068
1270
  "@emnapi/runtime": "^1.7.1"
1069
1271
  }
1070
1272
  },
1273
+ "node_modules/@noble/hashes": {
1274
+ "version": "1.8.0",
1275
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
1276
+ "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
1277
+ "dev": true,
1278
+ "license": "MIT",
1279
+ "engines": {
1280
+ "node": "^14.21.3 || >=16"
1281
+ },
1282
+ "funding": {
1283
+ "url": "https://paulmillr.com/funding/"
1284
+ }
1285
+ },
1286
+ "node_modules/@paralleldrive/cuid2": {
1287
+ "version": "2.3.1",
1288
+ "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz",
1289
+ "integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==",
1290
+ "dev": true,
1291
+ "license": "MIT",
1292
+ "dependencies": {
1293
+ "@noble/hashes": "^1.1.5"
1294
+ }
1295
+ },
1071
1296
  "node_modules/@pkgjs/parseargs": {
1072
1297
  "version": "0.11.0",
1073
1298
  "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -1092,18 +1317,6 @@
1092
1317
  "url": "https://opencollective.com/pkgr"
1093
1318
  }
1094
1319
  },
1095
- "node_modules/@refkinscallv/express-routing": {
1096
- "version": "3.2.0",
1097
- "resolved": "https://registry.npmjs.org/@refkinscallv/express-routing/-/express-routing-3.2.0.tgz",
1098
- "integrity": "sha512-QBfCEXeJIUf0kE5XkphiOX3LIgCLs+169uv5Xd05XNYDDnyxTMWhcD7bwir5pHDN+XtSMTXohucEiiep7/4qNA==",
1099
- "license": "MIT",
1100
- "dependencies": {
1101
- "express": "^5.2.1"
1102
- },
1103
- "engines": {
1104
- "node": ">=22.0.0"
1105
- }
1106
- },
1107
1320
  "node_modules/@sinclair/typebox": {
1108
1321
  "version": "0.34.49",
1109
1322
  "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz",
@@ -1221,6 +1434,20 @@
1221
1434
  "@types/ms": "*"
1222
1435
  }
1223
1436
  },
1437
+ "node_modules/@types/esrecurse": {
1438
+ "version": "4.3.1",
1439
+ "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz",
1440
+ "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==",
1441
+ "dev": true,
1442
+ "license": "MIT"
1443
+ },
1444
+ "node_modules/@types/estree": {
1445
+ "version": "1.0.9",
1446
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
1447
+ "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
1448
+ "dev": true,
1449
+ "license": "MIT"
1450
+ },
1224
1451
  "node_modules/@types/istanbul-lib-coverage": {
1225
1452
  "version": "2.0.6",
1226
1453
  "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
@@ -1248,6 +1475,13 @@
1248
1475
  "@types/istanbul-lib-report": "*"
1249
1476
  }
1250
1477
  },
1478
+ "node_modules/@types/json-schema": {
1479
+ "version": "7.0.15",
1480
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
1481
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
1482
+ "dev": true,
1483
+ "license": "MIT"
1484
+ },
1251
1485
  "node_modules/@types/ms": {
1252
1486
  "version": "2.1.0",
1253
1487
  "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
@@ -1671,6 +1905,29 @@
1671
1905
  "node": ">= 0.6"
1672
1906
  }
1673
1907
  },
1908
+ "node_modules/acorn": {
1909
+ "version": "8.17.0",
1910
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz",
1911
+ "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==",
1912
+ "dev": true,
1913
+ "license": "MIT",
1914
+ "bin": {
1915
+ "acorn": "bin/acorn"
1916
+ },
1917
+ "engines": {
1918
+ "node": ">=0.4.0"
1919
+ }
1920
+ },
1921
+ "node_modules/acorn-jsx": {
1922
+ "version": "5.3.2",
1923
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
1924
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
1925
+ "dev": true,
1926
+ "license": "MIT",
1927
+ "peerDependencies": {
1928
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
1929
+ }
1930
+ },
1674
1931
  "node_modules/agent-base": {
1675
1932
  "version": "6.0.2",
1676
1933
  "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
@@ -1683,6 +1940,23 @@
1683
1940
  "node": ">= 6.0.0"
1684
1941
  }
1685
1942
  },
1943
+ "node_modules/ajv": {
1944
+ "version": "6.15.0",
1945
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz",
1946
+ "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
1947
+ "dev": true,
1948
+ "license": "MIT",
1949
+ "dependencies": {
1950
+ "fast-deep-equal": "^3.1.1",
1951
+ "fast-json-stable-stringify": "^2.0.0",
1952
+ "json-schema-traverse": "^0.4.1",
1953
+ "uri-js": "^4.2.2"
1954
+ },
1955
+ "funding": {
1956
+ "type": "github",
1957
+ "url": "https://github.com/sponsors/epoberezkin"
1958
+ }
1959
+ },
1686
1960
  "node_modules/ansi-escapes": {
1687
1961
  "version": "4.3.2",
1688
1962
  "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -1778,6 +2052,13 @@
1778
2052
  "sprintf-js": "~1.0.2"
1779
2053
  }
1780
2054
  },
2055
+ "node_modules/asap": {
2056
+ "version": "2.0.6",
2057
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
2058
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
2059
+ "dev": true,
2060
+ "license": "MIT"
2061
+ },
1781
2062
  "node_modules/async": {
1782
2063
  "version": "3.2.6",
1783
2064
  "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
@@ -1800,9 +2081,9 @@
1800
2081
  }
1801
2082
  },
1802
2083
  "node_modules/axios": {
1803
- "version": "1.17.0",
1804
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.17.0.tgz",
1805
- "integrity": "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==",
2084
+ "version": "1.18.0",
2085
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.0.tgz",
2086
+ "integrity": "sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw==",
1806
2087
  "license": "MIT",
1807
2088
  "dependencies": {
1808
2089
  "follow-redirects": "^1.16.0",
@@ -2426,6 +2707,16 @@
2426
2707
  "node": ">= 0.8"
2427
2708
  }
2428
2709
  },
2710
+ "node_modules/component-emitter": {
2711
+ "version": "1.3.1",
2712
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
2713
+ "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
2714
+ "dev": true,
2715
+ "license": "MIT",
2716
+ "funding": {
2717
+ "url": "https://github.com/sponsors/sindresorhus"
2718
+ }
2719
+ },
2429
2720
  "node_modules/compressible": {
2430
2721
  "version": "2.0.18",
2431
2722
  "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -2549,6 +2840,13 @@
2549
2840
  "node": ">=6.6.0"
2550
2841
  }
2551
2842
  },
2843
+ "node_modules/cookiejar": {
2844
+ "version": "2.1.4",
2845
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
2846
+ "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==",
2847
+ "dev": true,
2848
+ "license": "MIT"
2849
+ },
2552
2850
  "node_modules/cors": {
2553
2851
  "version": "2.8.6",
2554
2852
  "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz",
@@ -2613,6 +2911,13 @@
2613
2911
  }
2614
2912
  }
2615
2913
  },
2914
+ "node_modules/deep-is": {
2915
+ "version": "0.1.4",
2916
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
2917
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
2918
+ "dev": true,
2919
+ "license": "MIT"
2920
+ },
2616
2921
  "node_modules/deepmerge": {
2617
2922
  "version": "4.3.1",
2618
2923
  "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
@@ -2660,6 +2965,17 @@
2660
2965
  "node": ">=8"
2661
2966
  }
2662
2967
  },
2968
+ "node_modules/dezalgo": {
2969
+ "version": "1.0.4",
2970
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
2971
+ "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
2972
+ "dev": true,
2973
+ "license": "ISC",
2974
+ "dependencies": {
2975
+ "asap": "^2.0.0",
2976
+ "wrappy": "1"
2977
+ }
2978
+ },
2663
2979
  "node_modules/dotenv": {
2664
2980
  "version": "17.4.2",
2665
2981
  "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz",
@@ -2758,9 +3074,9 @@
2758
3074
  }
2759
3075
  },
2760
3076
  "node_modules/engine.io": {
2761
- "version": "6.6.8",
2762
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.8.tgz",
2763
- "integrity": "sha512-2agL3ueZhqxoVrfmntO8yuVj+uNSlIOnhykYHk3Cq0ShYPdUjjUiSJrQvXjq01I9jAuI0Zl2YO8Evv5Mqytm5g==",
3077
+ "version": "6.6.9",
3078
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.9.tgz",
3079
+ "integrity": "sha512-clKkw4C7nJ22mGgoVcCg6V/W/TxdNyIOTr89k2ONZu81qqkddPFDF0LXcbAwhzPD8DjkiRCjzuiO6Y+fkpD4vg==",
2764
3080
  "license": "MIT",
2765
3081
  "dependencies": {
2766
3082
  "@types/cors": "^2.8.12",
@@ -2772,7 +3088,7 @@
2772
3088
  "cors": "~2.8.5",
2773
3089
  "debug": "~4.4.1",
2774
3090
  "engine.io-parser": "~5.2.1",
2775
- "ws": "~8.20.1"
3091
+ "ws": "~8.21.0"
2776
3092
  },
2777
3093
  "engines": {
2778
3094
  "node": ">=10.2.0"
@@ -2830,6 +3146,20 @@
2830
3146
  "node": ">= 0.6"
2831
3147
  }
2832
3148
  },
3149
+ "node_modules/enhanced-resolve": {
3150
+ "version": "5.24.0",
3151
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.0.tgz",
3152
+ "integrity": "sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ==",
3153
+ "dev": true,
3154
+ "license": "MIT",
3155
+ "dependencies": {
3156
+ "graceful-fs": "^4.2.4",
3157
+ "tapable": "^2.3.3"
3158
+ },
3159
+ "engines": {
3160
+ "node": ">=10.13.0"
3161
+ }
3162
+ },
2833
3163
  "node_modules/error-ex": {
2834
3164
  "version": "1.3.4",
2835
3165
  "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
@@ -2881,34 +3211,321 @@
2881
3211
  "has-tostringtag": "^1.0.2",
2882
3212
  "hasown": "^2.0.2"
2883
3213
  },
2884
- "engines": {
2885
- "node": ">= 0.4"
3214
+ "engines": {
3215
+ "node": ">= 0.4"
3216
+ }
3217
+ },
3218
+ "node_modules/escalade": {
3219
+ "version": "3.2.0",
3220
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
3221
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
3222
+ "dev": true,
3223
+ "license": "MIT",
3224
+ "engines": {
3225
+ "node": ">=6"
3226
+ }
3227
+ },
3228
+ "node_modules/escape-html": {
3229
+ "version": "1.0.3",
3230
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
3231
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
3232
+ "license": "MIT"
3233
+ },
3234
+ "node_modules/escape-string-regexp": {
3235
+ "version": "2.0.0",
3236
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
3237
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
3238
+ "dev": true,
3239
+ "license": "MIT",
3240
+ "engines": {
3241
+ "node": ">=8"
3242
+ }
3243
+ },
3244
+ "node_modules/eslint": {
3245
+ "version": "10.5.0",
3246
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.5.0.tgz",
3247
+ "integrity": "sha512-1y+7C+vi12bUK1IpZeaV3gsH9fHLBmPvYmPx42pvT/E9yG0IC8g3PUZZgp0+JLJl7ZDK0flc2gc+Aw9dpCvIsQ==",
3248
+ "dev": true,
3249
+ "license": "MIT",
3250
+ "workspaces": [
3251
+ "packages/*"
3252
+ ],
3253
+ "dependencies": {
3254
+ "@eslint-community/eslint-utils": "^4.8.0",
3255
+ "@eslint-community/regexpp": "^4.12.2",
3256
+ "@eslint/config-array": "^0.23.5",
3257
+ "@eslint/config-helpers": "^0.6.0",
3258
+ "@eslint/core": "^1.2.1",
3259
+ "@eslint/plugin-kit": "^0.7.2",
3260
+ "@humanfs/node": "^0.16.6",
3261
+ "@humanwhocodes/module-importer": "^1.0.1",
3262
+ "@humanwhocodes/retry": "^0.4.2",
3263
+ "@types/estree": "^1.0.6",
3264
+ "ajv": "^6.14.0",
3265
+ "cross-spawn": "^7.0.6",
3266
+ "debug": "^4.3.2",
3267
+ "escape-string-regexp": "^4.0.0",
3268
+ "eslint-scope": "^9.1.2",
3269
+ "eslint-visitor-keys": "^5.0.1",
3270
+ "espree": "^11.2.0",
3271
+ "esquery": "^1.7.0",
3272
+ "esutils": "^2.0.2",
3273
+ "fast-deep-equal": "^3.1.3",
3274
+ "file-entry-cache": "^8.0.0",
3275
+ "find-up": "^5.0.0",
3276
+ "glob-parent": "^6.0.2",
3277
+ "ignore": "^5.2.0",
3278
+ "imurmurhash": "^0.1.4",
3279
+ "is-glob": "^4.0.0",
3280
+ "json-stable-stringify-without-jsonify": "^1.0.1",
3281
+ "minimatch": "^10.2.4",
3282
+ "natural-compare": "^1.4.0",
3283
+ "optionator": "^0.9.3"
3284
+ },
3285
+ "bin": {
3286
+ "eslint": "bin/eslint.js"
3287
+ },
3288
+ "engines": {
3289
+ "node": "^20.19.0 || ^22.13.0 || >=24"
3290
+ },
3291
+ "funding": {
3292
+ "url": "https://eslint.org/donate"
3293
+ },
3294
+ "peerDependencies": {
3295
+ "jiti": "*"
3296
+ },
3297
+ "peerDependenciesMeta": {
3298
+ "jiti": {
3299
+ "optional": true
3300
+ }
3301
+ }
3302
+ },
3303
+ "node_modules/eslint-compat-utils": {
3304
+ "version": "0.5.1",
3305
+ "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
3306
+ "integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
3307
+ "dev": true,
3308
+ "license": "MIT",
3309
+ "dependencies": {
3310
+ "semver": "^7.5.4"
3311
+ },
3312
+ "engines": {
3313
+ "node": ">=12"
3314
+ },
3315
+ "peerDependencies": {
3316
+ "eslint": ">=6.0.0"
3317
+ }
3318
+ },
3319
+ "node_modules/eslint-plugin-es-x": {
3320
+ "version": "7.8.0",
3321
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
3322
+ "integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
3323
+ "dev": true,
3324
+ "funding": [
3325
+ "https://github.com/sponsors/ota-meshi",
3326
+ "https://opencollective.com/eslint"
3327
+ ],
3328
+ "license": "MIT",
3329
+ "dependencies": {
3330
+ "@eslint-community/eslint-utils": "^4.1.2",
3331
+ "@eslint-community/regexpp": "^4.11.0",
3332
+ "eslint-compat-utils": "^0.5.1"
3333
+ },
3334
+ "engines": {
3335
+ "node": "^14.18.0 || >=16.0.0"
3336
+ },
3337
+ "peerDependencies": {
3338
+ "eslint": ">=8"
3339
+ }
3340
+ },
3341
+ "node_modules/eslint-plugin-n": {
3342
+ "version": "18.1.0",
3343
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-18.1.0.tgz",
3344
+ "integrity": "sha512-hkUm9EtnFV2h2fE16jNVUfCVUqvPzI7fGLsFdun5lFt/pbmf2kCgDx6ymi9rx+NCUSggBmurJCZOfG20JBs/kg==",
3345
+ "dev": true,
3346
+ "license": "MIT",
3347
+ "dependencies": {
3348
+ "@eslint-community/eslint-utils": "^4.5.0",
3349
+ "enhanced-resolve": "^5.17.1",
3350
+ "eslint-plugin-es-x": "^7.8.0",
3351
+ "get-tsconfig": "^4.8.1",
3352
+ "globals": "^15.11.0",
3353
+ "globrex": "^0.1.2",
3354
+ "ignore": "^5.3.2",
3355
+ "semver": "^7.6.3"
3356
+ },
3357
+ "engines": {
3358
+ "node": "^20.19.0 || ^22.13.0 || >=24"
3359
+ },
3360
+ "funding": {
3361
+ "url": "https://opencollective.com/eslint"
3362
+ },
3363
+ "peerDependencies": {
3364
+ "eslint": ">=8.57.1",
3365
+ "ts-declaration-location": "^1.0.6",
3366
+ "typescript": ">=5.0.0"
3367
+ },
3368
+ "peerDependenciesMeta": {
3369
+ "ts-declaration-location": {
3370
+ "optional": true
3371
+ },
3372
+ "typescript": {
3373
+ "optional": true
3374
+ }
3375
+ }
3376
+ },
3377
+ "node_modules/eslint-plugin-n/node_modules/globals": {
3378
+ "version": "15.15.0",
3379
+ "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
3380
+ "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
3381
+ "dev": true,
3382
+ "license": "MIT",
3383
+ "engines": {
3384
+ "node": ">=18"
3385
+ },
3386
+ "funding": {
3387
+ "url": "https://github.com/sponsors/sindresorhus"
3388
+ }
3389
+ },
3390
+ "node_modules/eslint-plugin-security": {
3391
+ "version": "4.0.1",
3392
+ "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-4.0.1.tgz",
3393
+ "integrity": "sha512-/lZCkOxPOWaf1jXAqgICrS8St3BMBccIPvhOSUYuV6VCr1o5nFVG998FnTLt6w2Nxb8Uo0nM8fzmnhp+GY/aEg==",
3394
+ "dev": true,
3395
+ "license": "Apache-2.0",
3396
+ "dependencies": {
3397
+ "safe-regex": "^2.1.1"
3398
+ },
3399
+ "engines": {
3400
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
3401
+ },
3402
+ "funding": {
3403
+ "url": "https://opencollective.com/eslint"
3404
+ }
3405
+ },
3406
+ "node_modules/eslint-scope": {
3407
+ "version": "9.1.2",
3408
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz",
3409
+ "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==",
3410
+ "dev": true,
3411
+ "license": "BSD-2-Clause",
3412
+ "dependencies": {
3413
+ "@types/esrecurse": "^4.3.1",
3414
+ "@types/estree": "^1.0.8",
3415
+ "esrecurse": "^4.3.0",
3416
+ "estraverse": "^5.2.0"
3417
+ },
3418
+ "engines": {
3419
+ "node": "^20.19.0 || ^22.13.0 || >=24"
3420
+ },
3421
+ "funding": {
3422
+ "url": "https://opencollective.com/eslint"
3423
+ }
3424
+ },
3425
+ "node_modules/eslint-visitor-keys": {
3426
+ "version": "5.0.1",
3427
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
3428
+ "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
3429
+ "dev": true,
3430
+ "license": "Apache-2.0",
3431
+ "engines": {
3432
+ "node": "^20.19.0 || ^22.13.0 || >=24"
3433
+ },
3434
+ "funding": {
3435
+ "url": "https://opencollective.com/eslint"
3436
+ }
3437
+ },
3438
+ "node_modules/eslint/node_modules/escape-string-regexp": {
3439
+ "version": "4.0.0",
3440
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
3441
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
3442
+ "dev": true,
3443
+ "license": "MIT",
3444
+ "engines": {
3445
+ "node": ">=10"
3446
+ },
3447
+ "funding": {
3448
+ "url": "https://github.com/sponsors/sindresorhus"
3449
+ }
3450
+ },
3451
+ "node_modules/eslint/node_modules/find-up": {
3452
+ "version": "5.0.0",
3453
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
3454
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
3455
+ "dev": true,
3456
+ "license": "MIT",
3457
+ "dependencies": {
3458
+ "locate-path": "^6.0.0",
3459
+ "path-exists": "^4.0.0"
3460
+ },
3461
+ "engines": {
3462
+ "node": ">=10"
3463
+ },
3464
+ "funding": {
3465
+ "url": "https://github.com/sponsors/sindresorhus"
3466
+ }
3467
+ },
3468
+ "node_modules/eslint/node_modules/glob-parent": {
3469
+ "version": "6.0.2",
3470
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
3471
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
3472
+ "dev": true,
3473
+ "license": "ISC",
3474
+ "dependencies": {
3475
+ "is-glob": "^4.0.3"
3476
+ },
3477
+ "engines": {
3478
+ "node": ">=10.13.0"
3479
+ }
3480
+ },
3481
+ "node_modules/eslint/node_modules/locate-path": {
3482
+ "version": "6.0.0",
3483
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
3484
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
3485
+ "dev": true,
3486
+ "license": "MIT",
3487
+ "dependencies": {
3488
+ "p-locate": "^5.0.0"
3489
+ },
3490
+ "engines": {
3491
+ "node": ">=10"
3492
+ },
3493
+ "funding": {
3494
+ "url": "https://github.com/sponsors/sindresorhus"
2886
3495
  }
2887
3496
  },
2888
- "node_modules/escalade": {
2889
- "version": "3.2.0",
2890
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
2891
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
3497
+ "node_modules/eslint/node_modules/p-locate": {
3498
+ "version": "5.0.0",
3499
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
3500
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
2892
3501
  "dev": true,
2893
3502
  "license": "MIT",
3503
+ "dependencies": {
3504
+ "p-limit": "^3.0.2"
3505
+ },
2894
3506
  "engines": {
2895
- "node": ">=6"
3507
+ "node": ">=10"
3508
+ },
3509
+ "funding": {
3510
+ "url": "https://github.com/sponsors/sindresorhus"
2896
3511
  }
2897
3512
  },
2898
- "node_modules/escape-html": {
2899
- "version": "1.0.3",
2900
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
2901
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
2902
- "license": "MIT"
2903
- },
2904
- "node_modules/escape-string-regexp": {
2905
- "version": "2.0.0",
2906
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
2907
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
3513
+ "node_modules/espree": {
3514
+ "version": "11.2.0",
3515
+ "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz",
3516
+ "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==",
2908
3517
  "dev": true,
2909
- "license": "MIT",
3518
+ "license": "BSD-2-Clause",
3519
+ "dependencies": {
3520
+ "acorn": "^8.16.0",
3521
+ "acorn-jsx": "^5.3.2",
3522
+ "eslint-visitor-keys": "^5.0.1"
3523
+ },
2910
3524
  "engines": {
2911
- "node": ">=8"
3525
+ "node": "^20.19.0 || ^22.13.0 || >=24"
3526
+ },
3527
+ "funding": {
3528
+ "url": "https://opencollective.com/eslint"
2912
3529
  }
2913
3530
  },
2914
3531
  "node_modules/esprima": {
@@ -2925,6 +3542,52 @@
2925
3542
  "node": ">=4"
2926
3543
  }
2927
3544
  },
3545
+ "node_modules/esquery": {
3546
+ "version": "1.7.0",
3547
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
3548
+ "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==",
3549
+ "dev": true,
3550
+ "license": "BSD-3-Clause",
3551
+ "dependencies": {
3552
+ "estraverse": "^5.1.0"
3553
+ },
3554
+ "engines": {
3555
+ "node": ">=0.10"
3556
+ }
3557
+ },
3558
+ "node_modules/esrecurse": {
3559
+ "version": "4.3.0",
3560
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
3561
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
3562
+ "dev": true,
3563
+ "license": "BSD-2-Clause",
3564
+ "dependencies": {
3565
+ "estraverse": "^5.2.0"
3566
+ },
3567
+ "engines": {
3568
+ "node": ">=4.0"
3569
+ }
3570
+ },
3571
+ "node_modules/estraverse": {
3572
+ "version": "5.3.0",
3573
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
3574
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
3575
+ "dev": true,
3576
+ "license": "BSD-2-Clause",
3577
+ "engines": {
3578
+ "node": ">=4.0"
3579
+ }
3580
+ },
3581
+ "node_modules/esutils": {
3582
+ "version": "2.0.3",
3583
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
3584
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
3585
+ "dev": true,
3586
+ "license": "BSD-2-Clause",
3587
+ "engines": {
3588
+ "node": ">=0.10.0"
3589
+ }
3590
+ },
2928
3591
  "node_modules/etag": {
2929
3592
  "version": "1.8.1",
2930
3593
  "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@@ -3054,6 +3717,13 @@
3054
3717
  "express": ">= 4.11"
3055
3718
  }
3056
3719
  },
3720
+ "node_modules/fast-deep-equal": {
3721
+ "version": "3.1.3",
3722
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
3723
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
3724
+ "dev": true,
3725
+ "license": "MIT"
3726
+ },
3057
3727
  "node_modules/fast-json-stable-stringify": {
3058
3728
  "version": "2.1.0",
3059
3729
  "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -3061,6 +3731,20 @@
3061
3731
  "dev": true,
3062
3732
  "license": "MIT"
3063
3733
  },
3734
+ "node_modules/fast-levenshtein": {
3735
+ "version": "2.0.6",
3736
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
3737
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
3738
+ "dev": true,
3739
+ "license": "MIT"
3740
+ },
3741
+ "node_modules/fast-safe-stringify": {
3742
+ "version": "2.1.1",
3743
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
3744
+ "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
3745
+ "dev": true,
3746
+ "license": "MIT"
3747
+ },
3064
3748
  "node_modules/fb-watchman": {
3065
3749
  "version": "2.0.2",
3066
3750
  "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
@@ -3077,6 +3761,19 @@
3077
3761
  "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==",
3078
3762
  "license": "MIT"
3079
3763
  },
3764
+ "node_modules/file-entry-cache": {
3765
+ "version": "8.0.0",
3766
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
3767
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
3768
+ "dev": true,
3769
+ "license": "MIT",
3770
+ "dependencies": {
3771
+ "flat-cache": "^4.0.0"
3772
+ },
3773
+ "engines": {
3774
+ "node": ">=16.0.0"
3775
+ }
3776
+ },
3080
3777
  "node_modules/file-stream-rotator": {
3081
3778
  "version": "0.6.1",
3082
3779
  "resolved": "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.6.1.tgz",
@@ -3134,6 +3831,27 @@
3134
3831
  "node": ">=8"
3135
3832
  }
3136
3833
  },
3834
+ "node_modules/flat-cache": {
3835
+ "version": "4.0.1",
3836
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
3837
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
3838
+ "dev": true,
3839
+ "license": "MIT",
3840
+ "dependencies": {
3841
+ "flatted": "^3.2.9",
3842
+ "keyv": "^4.5.4"
3843
+ },
3844
+ "engines": {
3845
+ "node": ">=16"
3846
+ }
3847
+ },
3848
+ "node_modules/flatted": {
3849
+ "version": "3.4.2",
3850
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz",
3851
+ "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==",
3852
+ "dev": true,
3853
+ "license": "ISC"
3854
+ },
3137
3855
  "node_modules/fn.name": {
3138
3856
  "version": "1.1.0",
3139
3857
  "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
@@ -3178,16 +3896,16 @@
3178
3896
  }
3179
3897
  },
3180
3898
  "node_modules/form-data": {
3181
- "version": "4.0.5",
3182
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
3183
- "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
3899
+ "version": "4.0.6",
3900
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz",
3901
+ "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==",
3184
3902
  "license": "MIT",
3185
3903
  "dependencies": {
3186
3904
  "asynckit": "^0.4.0",
3187
3905
  "combined-stream": "^1.0.8",
3188
3906
  "es-set-tostringtag": "^2.1.0",
3189
- "hasown": "^2.0.2",
3190
- "mime-types": "^2.1.12"
3907
+ "hasown": "^2.0.4",
3908
+ "mime-types": "^2.1.35"
3191
3909
  },
3192
3910
  "engines": {
3193
3911
  "node": ">= 6"
@@ -3214,6 +3932,24 @@
3214
3932
  "node": ">= 0.6"
3215
3933
  }
3216
3934
  },
3935
+ "node_modules/formidable": {
3936
+ "version": "3.5.4",
3937
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz",
3938
+ "integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==",
3939
+ "dev": true,
3940
+ "license": "MIT",
3941
+ "dependencies": {
3942
+ "@paralleldrive/cuid2": "^2.2.2",
3943
+ "dezalgo": "^1.0.4",
3944
+ "once": "^1.4.0"
3945
+ },
3946
+ "engines": {
3947
+ "node": ">=14.0.0"
3948
+ },
3949
+ "funding": {
3950
+ "url": "https://ko-fi.com/tunnckoCore/commissions"
3951
+ }
3952
+ },
3217
3953
  "node_modules/forwarded": {
3218
3954
  "version": "0.2.0",
3219
3955
  "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -3352,6 +4088,19 @@
3352
4088
  "url": "https://github.com/sponsors/sindresorhus"
3353
4089
  }
3354
4090
  },
4091
+ "node_modules/get-tsconfig": {
4092
+ "version": "4.14.0",
4093
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz",
4094
+ "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==",
4095
+ "dev": true,
4096
+ "license": "MIT",
4097
+ "dependencies": {
4098
+ "resolve-pkg-maps": "^1.0.0"
4099
+ },
4100
+ "funding": {
4101
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
4102
+ }
4103
+ },
3355
4104
  "node_modules/glob": {
3356
4105
  "version": "10.5.0",
3357
4106
  "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
@@ -3420,6 +4169,26 @@
3420
4169
  "url": "https://github.com/sponsors/isaacs"
3421
4170
  }
3422
4171
  },
4172
+ "node_modules/globals": {
4173
+ "version": "17.6.0",
4174
+ "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz",
4175
+ "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==",
4176
+ "dev": true,
4177
+ "license": "MIT",
4178
+ "engines": {
4179
+ "node": ">=18"
4180
+ },
4181
+ "funding": {
4182
+ "url": "https://github.com/sponsors/sindresorhus"
4183
+ }
4184
+ },
4185
+ "node_modules/globrex": {
4186
+ "version": "0.1.2",
4187
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
4188
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
4189
+ "dev": true,
4190
+ "license": "MIT"
4191
+ },
3423
4192
  "node_modules/gopd": {
3424
4193
  "version": "1.2.0",
3425
4194
  "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -3566,6 +4335,16 @@
3566
4335
  "url": "https://opencollective.com/express"
3567
4336
  }
3568
4337
  },
4338
+ "node_modules/ignore": {
4339
+ "version": "5.3.2",
4340
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
4341
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
4342
+ "dev": true,
4343
+ "license": "MIT",
4344
+ "engines": {
4345
+ "node": ">= 4"
4346
+ }
4347
+ },
3569
4348
  "node_modules/ignore-by-default": {
3570
4349
  "version": "1.0.1",
3571
4350
  "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
@@ -4547,6 +5326,13 @@
4547
5326
  "node": ">=6"
4548
5327
  }
4549
5328
  },
5329
+ "node_modules/json-buffer": {
5330
+ "version": "3.0.1",
5331
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
5332
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
5333
+ "dev": true,
5334
+ "license": "MIT"
5335
+ },
4550
5336
  "node_modules/json-parse-even-better-errors": {
4551
5337
  "version": "2.3.1",
4552
5338
  "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -4554,6 +5340,20 @@
4554
5340
  "dev": true,
4555
5341
  "license": "MIT"
4556
5342
  },
5343
+ "node_modules/json-schema-traverse": {
5344
+ "version": "0.4.1",
5345
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
5346
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
5347
+ "dev": true,
5348
+ "license": "MIT"
5349
+ },
5350
+ "node_modules/json-stable-stringify-without-jsonify": {
5351
+ "version": "1.0.1",
5352
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
5353
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
5354
+ "dev": true,
5355
+ "license": "MIT"
5356
+ },
4557
5357
  "node_modules/json5": {
4558
5358
  "version": "2.2.3",
4559
5359
  "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
@@ -4610,6 +5410,16 @@
4610
5410
  "safe-buffer": "^5.0.1"
4611
5411
  }
4612
5412
  },
5413
+ "node_modules/keyv": {
5414
+ "version": "4.5.4",
5415
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
5416
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
5417
+ "dev": true,
5418
+ "license": "MIT",
5419
+ "dependencies": {
5420
+ "json-buffer": "3.0.1"
5421
+ }
5422
+ },
4613
5423
  "node_modules/kuler": {
4614
5424
  "version": "2.0.0",
4615
5425
  "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
@@ -4626,6 +5436,20 @@
4626
5436
  "node": ">=6"
4627
5437
  }
4628
5438
  },
5439
+ "node_modules/levn": {
5440
+ "version": "0.4.1",
5441
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
5442
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
5443
+ "dev": true,
5444
+ "license": "MIT",
5445
+ "dependencies": {
5446
+ "prelude-ls": "^1.2.1",
5447
+ "type-check": "~0.4.0"
5448
+ },
5449
+ "engines": {
5450
+ "node": ">= 0.8.0"
5451
+ }
5452
+ },
4629
5453
  "node_modules/lines-and-columns": {
4630
5454
  "version": "1.2.4",
4631
5455
  "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -4805,6 +5629,29 @@
4805
5629
  "dev": true,
4806
5630
  "license": "MIT"
4807
5631
  },
5632
+ "node_modules/methods": {
5633
+ "version": "1.1.2",
5634
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
5635
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
5636
+ "dev": true,
5637
+ "license": "MIT",
5638
+ "engines": {
5639
+ "node": ">= 0.6"
5640
+ }
5641
+ },
5642
+ "node_modules/mime": {
5643
+ "version": "2.6.0",
5644
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
5645
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
5646
+ "dev": true,
5647
+ "license": "MIT",
5648
+ "bin": {
5649
+ "mime": "cli.js"
5650
+ },
5651
+ "engines": {
5652
+ "node": ">=4.0.0"
5653
+ }
5654
+ },
4808
5655
  "node_modules/mime-db": {
4809
5656
  "version": "1.54.0",
4810
5657
  "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
@@ -4900,9 +5747,9 @@
4900
5747
  "license": "MIT"
4901
5748
  },
4902
5749
  "node_modules/multer": {
4903
- "version": "2.1.1",
4904
- "resolved": "https://registry.npmjs.org/multer/-/multer-2.1.1.tgz",
4905
- "integrity": "sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==",
5750
+ "version": "2.2.0",
5751
+ "resolved": "https://registry.npmjs.org/multer/-/multer-2.2.0.tgz",
5752
+ "integrity": "sha512-6rdyFg2kLrMh9Jee7/BMPuV9lEAd7lLW2YUpF9/YxR7njyoUwwQ0ZPh3TaIY50Sw6vlyD2HW3wGOkTS4P79xrQ==",
4906
5753
  "license": "MIT",
4907
5754
  "dependencies": {
4908
5755
  "append-field": "^1.0.0",
@@ -5037,12 +5884,12 @@
5037
5884
  }
5038
5885
  },
5039
5886
  "node_modules/node-cron": {
5040
- "version": "4.2.1",
5041
- "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-4.2.1.tgz",
5042
- "integrity": "sha512-lgimEHPE/QDgFlywTd8yTR61ptugX3Qer29efeyWw2rv259HtGBNn1vZVmp8lB9uo9wC0t/AT4iGqXxia+CJFg==",
5887
+ "version": "4.4.1",
5888
+ "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-4.4.1.tgz",
5889
+ "integrity": "sha512-1e4Gku1qeKx1ywNnMoA0o5hiZ8iA4klH84TIszTHZAME68xVIjLkiBo5KrtowbcOJn8MQqJG/yWHjC/dFdMWyQ==",
5043
5890
  "license": "ISC",
5044
5891
  "engines": {
5045
- "node": ">=6.0.0"
5892
+ "node": ">=20"
5046
5893
  }
5047
5894
  },
5048
5895
  "node_modules/node-gyp-build": {
@@ -5074,9 +5921,9 @@
5074
5921
  }
5075
5922
  },
5076
5923
  "node_modules/nodemailer": {
5077
- "version": "8.0.10",
5078
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.10.tgz",
5079
- "integrity": "sha512-BLFuSth7QtHOkBzyqTehWWyub0NTRDuK2Q2SQfnGLsrJnzyU+Yeh4WpV1eZGuARFj1xQJHIdnTuJZLP+b9R1GQ==",
5924
+ "version": "9.0.1",
5925
+ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-9.0.1.tgz",
5926
+ "integrity": "sha512-Gwv8SQewT616ZM/URn0H54b8PWo/Wum7md3EW2aWy1lO27+WZCX+Xyak3J+NlmHUjDh5ME+uesJUDRbR3Ye8Bw==",
5080
5927
  "license": "MIT-0",
5081
5928
  "engines": {
5082
5929
  "node": ">=6.0.0"
@@ -5219,6 +6066,24 @@
5219
6066
  "url": "https://github.com/sponsors/sindresorhus"
5220
6067
  }
5221
6068
  },
6069
+ "node_modules/optionator": {
6070
+ "version": "0.9.4",
6071
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
6072
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
6073
+ "dev": true,
6074
+ "license": "MIT",
6075
+ "dependencies": {
6076
+ "deep-is": "^0.1.3",
6077
+ "fast-levenshtein": "^2.0.6",
6078
+ "levn": "^0.4.1",
6079
+ "prelude-ls": "^1.2.1",
6080
+ "type-check": "^0.4.0",
6081
+ "word-wrap": "^1.2.5"
6082
+ },
6083
+ "engines": {
6084
+ "node": ">= 0.8.0"
6085
+ }
6086
+ },
5222
6087
  "node_modules/p-limit": {
5223
6088
  "version": "3.1.0",
5224
6089
  "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -5422,6 +6287,16 @@
5422
6287
  "node": ">=8"
5423
6288
  }
5424
6289
  },
6290
+ "node_modules/prelude-ls": {
6291
+ "version": "1.2.1",
6292
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
6293
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
6294
+ "dev": true,
6295
+ "license": "MIT",
6296
+ "engines": {
6297
+ "node": ">= 0.8.0"
6298
+ }
6299
+ },
5425
6300
  "node_modules/prettier": {
5426
6301
  "version": "3.8.4",
5427
6302
  "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.4.tgz",
@@ -5496,6 +6371,16 @@
5496
6371
  "dev": true,
5497
6372
  "license": "MIT"
5498
6373
  },
6374
+ "node_modules/punycode": {
6375
+ "version": "2.3.1",
6376
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
6377
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
6378
+ "dev": true,
6379
+ "license": "MIT",
6380
+ "engines": {
6381
+ "node": ">=6"
6382
+ }
6383
+ },
5499
6384
  "node_modules/pure-rand": {
5500
6385
  "version": "7.0.1",
5501
6386
  "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz",
@@ -5616,6 +6501,16 @@
5616
6501
  "node": ">=4"
5617
6502
  }
5618
6503
  },
6504
+ "node_modules/regexp-tree": {
6505
+ "version": "0.1.27",
6506
+ "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz",
6507
+ "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==",
6508
+ "dev": true,
6509
+ "license": "MIT",
6510
+ "bin": {
6511
+ "regexp-tree": "bin/regexp-tree"
6512
+ }
6513
+ },
5619
6514
  "node_modules/require-directory": {
5620
6515
  "version": "2.1.1",
5621
6516
  "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -5649,6 +6544,16 @@
5649
6544
  "node": ">=8"
5650
6545
  }
5651
6546
  },
6547
+ "node_modules/resolve-pkg-maps": {
6548
+ "version": "1.0.0",
6549
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
6550
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
6551
+ "dev": true,
6552
+ "license": "MIT",
6553
+ "funding": {
6554
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
6555
+ }
6556
+ },
5652
6557
  "node_modules/retry-as-promised": {
5653
6558
  "version": "7.1.1",
5654
6559
  "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.1.1.tgz",
@@ -5691,6 +6596,16 @@
5691
6596
  ],
5692
6597
  "license": "MIT"
5693
6598
  },
6599
+ "node_modules/safe-regex": {
6600
+ "version": "2.1.1",
6601
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz",
6602
+ "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==",
6603
+ "dev": true,
6604
+ "license": "MIT",
6605
+ "dependencies": {
6606
+ "regexp-tree": "~0.1.1"
6607
+ }
6608
+ },
5694
6609
  "node_modules/safe-stable-stringify": {
5695
6610
  "version": "2.5.0",
5696
6611
  "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz",
@@ -5990,13 +6905,13 @@
5990
6905
  }
5991
6906
  },
5992
6907
  "node_modules/socket.io-adapter": {
5993
- "version": "2.5.7",
5994
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.7.tgz",
5995
- "integrity": "sha512-e0LyK91f3cUxTmv95/KzoLg47+zF+s/sbxRGDNsyG4dmIP8ZSX8ax6byOxfJXeNNtS/8AZlfD+uP7gBeR7DLlg==",
6908
+ "version": "2.5.8",
6909
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.8.tgz",
6910
+ "integrity": "sha512-6Oy52pbg+kvdCVvjcN+FnY7BvxZ7cIHNScbvztT/It5d0vbwoJoVZmF2gjJmnV0/4WlXRfG15zc45ySk9Ah8bw==",
5996
6911
  "license": "MIT",
5997
6912
  "dependencies": {
5998
6913
  "debug": "~4.4.1",
5999
- "ws": "~8.20.1"
6914
+ "ws": "~8.21.0"
6000
6915
  }
6001
6916
  },
6002
6917
  "node_modules/socket.io-parser": {
@@ -6326,6 +7241,42 @@
6326
7241
  "url": "https://github.com/sponsors/sindresorhus"
6327
7242
  }
6328
7243
  },
7244
+ "node_modules/superagent": {
7245
+ "version": "10.3.0",
7246
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.3.0.tgz",
7247
+ "integrity": "sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==",
7248
+ "dev": true,
7249
+ "license": "MIT",
7250
+ "dependencies": {
7251
+ "component-emitter": "^1.3.1",
7252
+ "cookiejar": "^2.1.4",
7253
+ "debug": "^4.3.7",
7254
+ "fast-safe-stringify": "^2.1.1",
7255
+ "form-data": "^4.0.5",
7256
+ "formidable": "^3.5.4",
7257
+ "methods": "^1.1.2",
7258
+ "mime": "2.6.0",
7259
+ "qs": "^6.14.1"
7260
+ },
7261
+ "engines": {
7262
+ "node": ">=14.18.0"
7263
+ }
7264
+ },
7265
+ "node_modules/supertest": {
7266
+ "version": "7.2.2",
7267
+ "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.2.2.tgz",
7268
+ "integrity": "sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==",
7269
+ "dev": true,
7270
+ "license": "MIT",
7271
+ "dependencies": {
7272
+ "cookie-signature": "^1.2.2",
7273
+ "methods": "^1.1.2",
7274
+ "superagent": "^10.3.0"
7275
+ },
7276
+ "engines": {
7277
+ "node": ">=14.18.0"
7278
+ }
7279
+ },
6329
7280
  "node_modules/supports-color": {
6330
7281
  "version": "5.5.0",
6331
7282
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -6355,6 +7306,20 @@
6355
7306
  "url": "https://opencollective.com/synckit"
6356
7307
  }
6357
7308
  },
7309
+ "node_modules/tapable": {
7310
+ "version": "2.3.3",
7311
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz",
7312
+ "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==",
7313
+ "dev": true,
7314
+ "license": "MIT",
7315
+ "engines": {
7316
+ "node": ">=6"
7317
+ },
7318
+ "funding": {
7319
+ "type": "opencollective",
7320
+ "url": "https://opencollective.com/webpack"
7321
+ }
7322
+ },
6358
7323
  "node_modules/test-exclude": {
6359
7324
  "version": "6.0.0",
6360
7325
  "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
@@ -6491,6 +7456,19 @@
6491
7456
  "license": "0BSD",
6492
7457
  "optional": true
6493
7458
  },
7459
+ "node_modules/type-check": {
7460
+ "version": "0.4.0",
7461
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
7462
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
7463
+ "dev": true,
7464
+ "license": "MIT",
7465
+ "dependencies": {
7466
+ "prelude-ls": "^1.2.1"
7467
+ },
7468
+ "engines": {
7469
+ "node": ">= 0.8.0"
7470
+ }
7471
+ },
6494
7472
  "node_modules/type-detect": {
6495
7473
  "version": "4.0.8",
6496
7474
  "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
@@ -6642,6 +7620,16 @@
6642
7620
  "browserslist": ">= 4.21.0"
6643
7621
  }
6644
7622
  },
7623
+ "node_modules/uri-js": {
7624
+ "version": "4.4.1",
7625
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
7626
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
7627
+ "dev": true,
7628
+ "license": "BSD-2-Clause",
7629
+ "dependencies": {
7630
+ "punycode": "^2.1.0"
7631
+ }
7632
+ },
6645
7633
  "node_modules/util-deprecate": {
6646
7634
  "version": "1.0.2",
6647
7635
  "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -6780,6 +7768,16 @@
6780
7768
  "@types/node": "*"
6781
7769
  }
6782
7770
  },
7771
+ "node_modules/word-wrap": {
7772
+ "version": "1.2.5",
7773
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
7774
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
7775
+ "dev": true,
7776
+ "license": "MIT",
7777
+ "engines": {
7778
+ "node": ">=0.10.0"
7779
+ }
7780
+ },
6783
7781
  "node_modules/wrap-ansi": {
6784
7782
  "version": "8.1.0",
6785
7783
  "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
@@ -6896,9 +7894,9 @@
6896
7894
  }
6897
7895
  },
6898
7896
  "node_modules/ws": {
6899
- "version": "8.20.1",
6900
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
6901
- "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
7897
+ "version": "8.21.0",
7898
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
7899
+ "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
6902
7900
  "license": "MIT",
6903
7901
  "engines": {
6904
7902
  "node": ">=10.0.0"