瀏覽代碼

feat(ts) add typedoc

The end goal is to fix our types to make typedoc generated docs as
useful as possible.

The generated docs will be published to GH pages on every push.
dev0
Saúl Ibarra Corretgé 6 月之前
父節點
當前提交
e549aee5b2
共有 6 個檔案被更改,包括 446 行新增43 行删除
  1. 1
    0
      .github/workflows/ci.yml
  2. 41
    0
      .github/workflows/deploy-docs.yml
  3. 1
    0
      .gitignore
  4. 378
    42
      package-lock.json
  5. 2
    0
      package.json
  6. 23
    1
      tsconfig.json

+ 1
- 0
.github/workflows/ci.yml 查看文件

@@ -25,4 +25,5 @@ jobs:
25 25
     - name: Check if the git repository is clean
26 26
       run: exit $( git status --porcelain --untracked-files=no | head -255 | wc -l )
27 27
     - run: npm run lint
28
+    - run: npm run typedoc
28 29
     - run: npm run test

+ 41
- 0
.github/workflows/deploy-docs.yml 查看文件

@@ -0,0 +1,41 @@
1
+name: Deploy GH pages
2
+
3
+on:
4
+  workflow_dispatch:
5
+  push:
6
+    branches: [ "master" ]
7
+
8
+permissions:
9
+  contents: read
10
+  pages: write
11
+  id-token: write
12
+
13
+concurrency:
14
+  group: "pages"
15
+  cancel-in-progress: false
16
+
17
+jobs:
18
+  deploy:
19
+    environment:
20
+      name: github-pages
21
+      url: ${{ steps.deployment.outputs.page_url }}
22
+    runs-on: ubuntu-latest
23
+    steps:
24
+      - uses: actions/checkout@v4
25
+      - uses: actions/setup-node@v4
26
+        with:
27
+          node-version-file: '.nvmrc'
28
+          cache: 'npm'
29
+      - name: Build docs
30
+        run: |
31
+          npm install
32
+          npm run typedoc
33
+      - name: Setup Pages
34
+        uses: actions/configure-pages@v5
35
+      - name: Upload artifact
36
+        uses: actions/upload-pages-artifact@v3
37
+        with:
38
+          path: 'docs'
39
+      - name: Deploy to GitHub Pages
40
+        id: deployment
41
+        uses: actions/deploy-pages@v4

+ 1
- 0
.gitignore 查看文件

@@ -14,6 +14,7 @@ npm-*.log
14 14
 stats.json
15 15
 .vscode
16 16
 dist
17
+docs
17 18
 index.d.ts
18 19
 types/auto
19 20
 types/types-comparer/auto.json

+ 378
- 42
package-lock.json 查看文件

@@ -45,6 +45,7 @@
45 45
         "karma-webpack": "5.0.0",
46 46
         "process": "0.11.10",
47 47
         "string-replace-loader": "3.0.3",
48
+        "typedoc": "0.28.1",
48 49
         "typescript": "5.0.4",
49 50
         "webpack": "5.98.0",
50 51
         "webpack-bundle-analyzer": "4.4.2",
@@ -1760,6 +1761,18 @@
1760 1761
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1761 1762
       }
1762 1763
     },
1764
+    "node_modules/@gerrit0/mini-shiki": {
1765
+      "version": "3.2.1",
1766
+      "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.2.1.tgz",
1767
+      "integrity": "sha512-HbzRC6MKB6U8kQhczz0APKPIzFHTrcqhaC7es2EXInq1SpjPVnpVSIsBe6hNoLWqqCx1n5VKiPXq6PfXnHZKOQ==",
1768
+      "dev": true,
1769
+      "license": "MIT",
1770
+      "dependencies": {
1771
+        "@shikijs/engine-oniguruma": "^3.2.1",
1772
+        "@shikijs/types": "^3.2.1",
1773
+        "@shikijs/vscode-textmate": "^10.0.2"
1774
+      }
1775
+    },
1763 1776
     "node_modules/@hapi/bourne": {
1764 1777
       "version": "3.0.0",
1765 1778
       "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
@@ -2013,6 +2026,35 @@
2013 2026
       "dev": true,
2014 2027
       "license": "MIT"
2015 2028
     },
2029
+    "node_modules/@shikijs/engine-oniguruma": {
2030
+      "version": "3.2.1",
2031
+      "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.2.1.tgz",
2032
+      "integrity": "sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==",
2033
+      "dev": true,
2034
+      "license": "MIT",
2035
+      "dependencies": {
2036
+        "@shikijs/types": "3.2.1",
2037
+        "@shikijs/vscode-textmate": "^10.0.2"
2038
+      }
2039
+    },
2040
+    "node_modules/@shikijs/types": {
2041
+      "version": "3.2.1",
2042
+      "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.2.1.tgz",
2043
+      "integrity": "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==",
2044
+      "dev": true,
2045
+      "license": "MIT",
2046
+      "dependencies": {
2047
+        "@shikijs/vscode-textmate": "^10.0.2",
2048
+        "@types/hast": "^3.0.4"
2049
+      }
2050
+    },
2051
+    "node_modules/@shikijs/vscode-textmate": {
2052
+      "version": "10.0.2",
2053
+      "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz",
2054
+      "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
2055
+      "dev": true,
2056
+      "license": "MIT"
2057
+    },
2016 2058
     "node_modules/@socket.io/component-emitter": {
2017 2059
       "version": "3.1.2",
2018 2060
       "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
@@ -2104,17 +2146,12 @@
2104 2146
       "integrity": "sha512-4i4w4tfNDo73BOjk0qHcB2YJ8A2SjITCrU4BTsgdJFTsVr6atPDXa0T9r0QZTrX3axtWwkqpZqF4B3gR0TqBGw==",
2105 2147
       "dev": true
2106 2148
     },
2107
-    "node_modules/@types/cookie": {
2108
-      "version": "0.4.1",
2109
-      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
2110
-      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
2111
-      "dev": true
2112
-    },
2113 2149
     "node_modules/@types/cors": {
2114 2150
       "version": "2.8.17",
2115 2151
       "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
2116 2152
       "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
2117 2153
       "dev": true,
2154
+      "license": "MIT",
2118 2155
       "dependencies": {
2119 2156
         "@types/node": "*"
2120 2157
       }
@@ -2148,6 +2185,16 @@
2148 2185
       "dev": true,
2149 2186
       "license": "MIT"
2150 2187
     },
2188
+    "node_modules/@types/hast": {
2189
+      "version": "3.0.4",
2190
+      "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
2191
+      "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
2192
+      "dev": true,
2193
+      "license": "MIT",
2194
+      "dependencies": {
2195
+        "@types/unist": "*"
2196
+      }
2197
+    },
2151 2198
     "node_modules/@types/jasmine": {
2152 2199
       "version": "4.0.3",
2153 2200
       "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz",
@@ -2208,6 +2255,13 @@
2208 2255
       "dev": true,
2209 2256
       "license": "MIT"
2210 2257
     },
2258
+    "node_modules/@types/unist": {
2259
+      "version": "3.0.3",
2260
+      "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
2261
+      "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
2262
+      "dev": true,
2263
+      "license": "MIT"
2264
+    },
2211 2265
     "node_modules/@typescript-eslint/eslint-plugin": {
2212 2266
       "version": "8.19.1",
2213 2267
       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz",
@@ -2778,6 +2832,7 @@
2778 2832
       "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
2779 2833
       "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
2780 2834
       "dev": true,
2835
+      "license": "MIT",
2781 2836
       "dependencies": {
2782 2837
         "mime-types": "~2.1.34",
2783 2838
         "negotiator": "0.6.3"
@@ -3161,6 +3216,7 @@
3161 3216
       "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
3162 3217
       "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
3163 3218
       "dev": true,
3219
+      "license": "MIT",
3164 3220
       "engines": {
3165 3221
         "node": "^4.5.0 || >= 5.9"
3166 3222
       }
@@ -3547,10 +3603,11 @@
3547 3603
       "license": "MIT"
3548 3604
     },
3549 3605
     "node_modules/cookie": {
3550
-      "version": "0.4.2",
3551
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
3552
-      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
3606
+      "version": "0.7.2",
3607
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
3608
+      "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
3553 3609
       "dev": true,
3610
+      "license": "MIT",
3554 3611
       "engines": {
3555 3612
         "node": ">= 0.6"
3556 3613
       }
@@ -3585,6 +3642,7 @@
3585 3642
       "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
3586 3643
       "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
3587 3644
       "dev": true,
3645
+      "license": "MIT",
3588 3646
       "dependencies": {
3589 3647
         "object-assign": "^4",
3590 3648
         "vary": "^1"
@@ -3594,10 +3652,11 @@
3594 3652
       }
3595 3653
     },
3596 3654
     "node_modules/cross-spawn": {
3597
-      "version": "7.0.3",
3598
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
3599
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
3655
+      "version": "7.0.6",
3656
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
3657
+      "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
3600 3658
       "dev": true,
3659
+      "license": "MIT",
3601 3660
       "dependencies": {
3602 3661
         "path-key": "^3.1.0",
3603 3662
         "shebang-command": "^2.0.0",
@@ -3864,17 +3923,17 @@
3864 3923
       }
3865 3924
     },
3866 3925
     "node_modules/engine.io": {
3867
-      "version": "6.5.5",
3868
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz",
3869
-      "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==",
3926
+      "version": "6.6.4",
3927
+      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz",
3928
+      "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==",
3870 3929
       "dev": true,
3930
+      "license": "MIT",
3871 3931
       "dependencies": {
3872
-        "@types/cookie": "^0.4.1",
3873 3932
         "@types/cors": "^2.8.12",
3874 3933
         "@types/node": ">=10.0.0",
3875 3934
         "accepts": "~1.3.4",
3876 3935
         "base64id": "2.0.0",
3877
-        "cookie": "~0.4.1",
3936
+        "cookie": "~0.7.2",
3878 3937
         "cors": "~2.8.5",
3879 3938
         "debug": "~4.3.1",
3880 3939
         "engine.io-parser": "~5.2.1",
@@ -3889,6 +3948,7 @@
3889 3948
       "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
3890 3949
       "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
3891 3950
       "dev": true,
3951
+      "license": "MIT",
3892 3952
       "engines": {
3893 3953
         "node": ">=10.0.0"
3894 3954
       }
@@ -3913,6 +3973,19 @@
3913 3973
       "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
3914 3974
       "dev": true
3915 3975
     },
3976
+    "node_modules/entities": {
3977
+      "version": "4.5.0",
3978
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
3979
+      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
3980
+      "dev": true,
3981
+      "license": "BSD-2-Clause",
3982
+      "engines": {
3983
+        "node": ">=0.12"
3984
+      },
3985
+      "funding": {
3986
+        "url": "https://github.com/fb55/entities?sponsor=1"
3987
+      }
3988
+    },
3916 3989
     "node_modules/envinfo": {
3917 3990
       "version": "7.8.1",
3918 3991
       "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
@@ -6126,6 +6199,16 @@
6126 6199
         "node": ">= 0.8.0"
6127 6200
       }
6128 6201
     },
6202
+    "node_modules/linkify-it": {
6203
+      "version": "5.0.0",
6204
+      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
6205
+      "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
6206
+      "dev": true,
6207
+      "license": "MIT",
6208
+      "dependencies": {
6209
+        "uc.micro": "^2.0.0"
6210
+      }
6211
+    },
6129 6212
     "node_modules/loader-runner": {
6130 6213
       "version": "4.2.0",
6131 6214
       "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
@@ -6227,6 +6310,13 @@
6227 6310
         "yallist": "^3.0.2"
6228 6311
       }
6229 6312
     },
6313
+    "node_modules/lunr": {
6314
+      "version": "2.3.9",
6315
+      "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
6316
+      "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
6317
+      "dev": true,
6318
+      "license": "MIT"
6319
+    },
6230 6320
     "node_modules/make-dir": {
6231 6321
       "version": "3.1.0",
6232 6322
       "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
@@ -6242,6 +6332,24 @@
6242 6332
         "url": "https://github.com/sponsors/sindresorhus"
6243 6333
       }
6244 6334
     },
6335
+    "node_modules/markdown-it": {
6336
+      "version": "14.1.0",
6337
+      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
6338
+      "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
6339
+      "dev": true,
6340
+      "license": "MIT",
6341
+      "dependencies": {
6342
+        "argparse": "^2.0.1",
6343
+        "entities": "^4.4.0",
6344
+        "linkify-it": "^5.0.0",
6345
+        "mdurl": "^2.0.0",
6346
+        "punycode.js": "^2.3.1",
6347
+        "uc.micro": "^2.1.0"
6348
+      },
6349
+      "bin": {
6350
+        "markdown-it": "bin/markdown-it.mjs"
6351
+      }
6352
+    },
6245 6353
     "node_modules/math-intrinsics": {
6246 6354
       "version": "1.1.0",
6247 6355
       "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -6252,6 +6360,13 @@
6252 6360
         "node": ">= 0.4"
6253 6361
       }
6254 6362
     },
6363
+    "node_modules/mdurl": {
6364
+      "version": "2.0.0",
6365
+      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
6366
+      "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
6367
+      "dev": true,
6368
+      "license": "MIT"
6369
+    },
6255 6370
     "node_modules/media-typer": {
6256 6371
       "version": "0.3.0",
6257 6372
       "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -6396,6 +6511,7 @@
6396 6511
       "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
6397 6512
       "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
6398 6513
       "dev": true,
6514
+      "license": "MIT",
6399 6515
       "engines": {
6400 6516
         "node": ">= 0.6"
6401 6517
       }
@@ -6439,6 +6555,7 @@
6439 6555
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
6440 6556
       "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
6441 6557
       "dev": true,
6558
+      "license": "MIT",
6442 6559
       "engines": {
6443 6560
         "node": ">=0.10.0"
6444 6561
       }
@@ -6863,6 +6980,16 @@
6863 6980
         "node": ">=6"
6864 6981
       }
6865 6982
     },
6983
+    "node_modules/punycode.js": {
6984
+      "version": "2.3.1",
6985
+      "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
6986
+      "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
6987
+      "dev": true,
6988
+      "license": "MIT",
6989
+      "engines": {
6990
+        "node": ">=6"
6991
+      }
6992
+    },
6866 6993
     "node_modules/qjobs": {
6867 6994
       "version": "1.2.0",
6868 6995
       "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
@@ -7559,16 +7686,17 @@
7559 7686
       "license": "ISC"
7560 7687
     },
7561 7688
     "node_modules/socket.io": {
7562
-      "version": "4.7.5",
7563
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz",
7564
-      "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==",
7689
+      "version": "4.8.1",
7690
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz",
7691
+      "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==",
7565 7692
       "dev": true,
7693
+      "license": "MIT",
7566 7694
       "dependencies": {
7567 7695
         "accepts": "~1.3.4",
7568 7696
         "base64id": "~2.0.0",
7569 7697
         "cors": "~2.8.5",
7570 7698
         "debug": "~4.3.2",
7571
-        "engine.io": "~6.5.2",
7699
+        "engine.io": "~6.6.0",
7572 7700
         "socket.io-adapter": "~2.5.2",
7573 7701
         "socket.io-parser": "~4.2.4"
7574 7702
       },
@@ -8244,6 +8372,56 @@
8244 8372
         "url": "https://github.com/sponsors/ljharb"
8245 8373
       }
8246 8374
     },
8375
+    "node_modules/typedoc": {
8376
+      "version": "0.28.1",
8377
+      "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.1.tgz",
8378
+      "integrity": "sha512-Mn2VPNMaxoe/hlBiLriG4U55oyAa3Xo+8HbtEwV7F5WEOPXqtxzGuMZhJYHaqFJpajeQ6ZDUC2c990NAtTbdgw==",
8379
+      "dev": true,
8380
+      "license": "Apache-2.0",
8381
+      "dependencies": {
8382
+        "@gerrit0/mini-shiki": "^3.2.1",
8383
+        "lunr": "^2.3.9",
8384
+        "markdown-it": "^14.1.0",
8385
+        "minimatch": "^9.0.5",
8386
+        "yaml": "^2.7.0 "
8387
+      },
8388
+      "bin": {
8389
+        "typedoc": "bin/typedoc"
8390
+      },
8391
+      "engines": {
8392
+        "node": ">= 18",
8393
+        "pnpm": ">= 10"
8394
+      },
8395
+      "peerDependencies": {
8396
+        "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x"
8397
+      }
8398
+    },
8399
+    "node_modules/typedoc/node_modules/brace-expansion": {
8400
+      "version": "2.0.1",
8401
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
8402
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
8403
+      "dev": true,
8404
+      "license": "MIT",
8405
+      "dependencies": {
8406
+        "balanced-match": "^1.0.0"
8407
+      }
8408
+    },
8409
+    "node_modules/typedoc/node_modules/minimatch": {
8410
+      "version": "9.0.5",
8411
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
8412
+      "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
8413
+      "dev": true,
8414
+      "license": "ISC",
8415
+      "dependencies": {
8416
+        "brace-expansion": "^2.0.1"
8417
+      },
8418
+      "engines": {
8419
+        "node": ">=16 || 14 >=14.17"
8420
+      },
8421
+      "funding": {
8422
+        "url": "https://github.com/sponsors/isaacs"
8423
+      }
8424
+    },
8247 8425
     "node_modules/typescript": {
8248 8426
       "version": "5.0.4",
8249 8427
       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
@@ -8276,6 +8454,13 @@
8276 8454
         "node": "*"
8277 8455
       }
8278 8456
     },
8457
+    "node_modules/uc.micro": {
8458
+      "version": "2.1.0",
8459
+      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
8460
+      "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
8461
+      "dev": true,
8462
+      "license": "MIT"
8463
+    },
8279 8464
     "node_modules/unbox-primitive": {
8280 8465
       "version": "1.1.0",
8281 8466
       "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
@@ -8425,6 +8610,7 @@
8425 8610
       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
8426 8611
       "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
8427 8612
       "dev": true,
8613
+      "license": "MIT",
8428 8614
       "engines": {
8429 8615
         "node": ">= 0.8"
8430 8616
       }
@@ -9006,6 +9192,19 @@
9006 9192
       "dev": true,
9007 9193
       "license": "ISC"
9008 9194
     },
9195
+    "node_modules/yaml": {
9196
+      "version": "2.7.1",
9197
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz",
9198
+      "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==",
9199
+      "dev": true,
9200
+      "license": "ISC",
9201
+      "bin": {
9202
+        "yaml": "bin.mjs"
9203
+      },
9204
+      "engines": {
9205
+        "node": ">= 14"
9206
+      }
9207
+    },
9009 9208
     "node_modules/yargs": {
9010 9209
       "version": "16.2.0",
9011 9210
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -10126,6 +10325,17 @@
10126 10325
       "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
10127 10326
       "dev": true
10128 10327
     },
10328
+    "@gerrit0/mini-shiki": {
10329
+      "version": "3.2.1",
10330
+      "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.2.1.tgz",
10331
+      "integrity": "sha512-HbzRC6MKB6U8kQhczz0APKPIzFHTrcqhaC7es2EXInq1SpjPVnpVSIsBe6hNoLWqqCx1n5VKiPXq6PfXnHZKOQ==",
10332
+      "dev": true,
10333
+      "requires": {
10334
+        "@shikijs/engine-oniguruma": "^3.2.1",
10335
+        "@shikijs/types": "^3.2.1",
10336
+        "@shikijs/vscode-textmate": "^10.0.2"
10337
+      }
10338
+    },
10129 10339
     "@hapi/bourne": {
10130 10340
       "version": "3.0.0",
10131 10341
       "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
@@ -10317,6 +10527,32 @@
10317 10527
       "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==",
10318 10528
       "dev": true
10319 10529
     },
10530
+    "@shikijs/engine-oniguruma": {
10531
+      "version": "3.2.1",
10532
+      "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.2.1.tgz",
10533
+      "integrity": "sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==",
10534
+      "dev": true,
10535
+      "requires": {
10536
+        "@shikijs/types": "3.2.1",
10537
+        "@shikijs/vscode-textmate": "^10.0.2"
10538
+      }
10539
+    },
10540
+    "@shikijs/types": {
10541
+      "version": "3.2.1",
10542
+      "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.2.1.tgz",
10543
+      "integrity": "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==",
10544
+      "dev": true,
10545
+      "requires": {
10546
+        "@shikijs/vscode-textmate": "^10.0.2",
10547
+        "@types/hast": "^3.0.4"
10548
+      }
10549
+    },
10550
+    "@shikijs/vscode-textmate": {
10551
+      "version": "10.0.2",
10552
+      "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz",
10553
+      "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
10554
+      "dev": true
10555
+    },
10320 10556
     "@socket.io/component-emitter": {
10321 10557
       "version": "3.1.2",
10322 10558
       "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
@@ -10378,12 +10614,6 @@
10378 10614
       "integrity": "sha512-4i4w4tfNDo73BOjk0qHcB2YJ8A2SjITCrU4BTsgdJFTsVr6atPDXa0T9r0QZTrX3axtWwkqpZqF4B3gR0TqBGw==",
10379 10615
       "dev": true
10380 10616
     },
10381
-    "@types/cookie": {
10382
-      "version": "0.4.1",
10383
-      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
10384
-      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
10385
-      "dev": true
10386
-    },
10387 10617
     "@types/cors": {
10388 10618
       "version": "2.8.17",
10389 10619
       "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
@@ -10419,6 +10649,15 @@
10419 10649
       "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
10420 10650
       "dev": true
10421 10651
     },
10652
+    "@types/hast": {
10653
+      "version": "3.0.4",
10654
+      "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
10655
+      "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
10656
+      "dev": true,
10657
+      "requires": {
10658
+        "@types/unist": "*"
10659
+      }
10660
+    },
10422 10661
     "@types/jasmine": {
10423 10662
       "version": "4.0.3",
10424 10663
       "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz",
@@ -10476,6 +10715,12 @@
10476 10715
       "integrity": "sha512-qKYKbMuBmyfK9oMBuD4UZHF0GhHA62xiMj8+jPr8tfeVprdG+hkxxrp5Mf6y7rCqcC+om37p+TVlotNHdFYPug==",
10477 10716
       "dev": true
10478 10717
     },
10718
+    "@types/unist": {
10719
+      "version": "3.0.3",
10720
+      "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
10721
+      "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
10722
+      "dev": true
10723
+    },
10479 10724
     "@typescript-eslint/eslint-plugin": {
10480 10725
       "version": "8.19.1",
10481 10726
       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz",
@@ -11389,9 +11634,9 @@
11389 11634
       "dev": true
11390 11635
     },
11391 11636
     "cookie": {
11392
-      "version": "0.4.2",
11393
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
11394
-      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
11637
+      "version": "0.7.2",
11638
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
11639
+      "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
11395 11640
       "dev": true
11396 11641
     },
11397 11642
     "core-js": {
@@ -11420,9 +11665,9 @@
11420 11665
       }
11421 11666
     },
11422 11667
     "cross-spawn": {
11423
-      "version": "7.0.3",
11424
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
11425
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
11668
+      "version": "7.0.6",
11669
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
11670
+      "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
11426 11671
       "dev": true,
11427 11672
       "requires": {
11428 11673
         "path-key": "^3.1.0",
@@ -11613,17 +11858,16 @@
11613 11858
       "dev": true
11614 11859
     },
11615 11860
     "engine.io": {
11616
-      "version": "6.5.5",
11617
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz",
11618
-      "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==",
11861
+      "version": "6.6.4",
11862
+      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz",
11863
+      "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==",
11619 11864
       "dev": true,
11620 11865
       "requires": {
11621
-        "@types/cookie": "^0.4.1",
11622 11866
         "@types/cors": "^2.8.12",
11623 11867
         "@types/node": ">=10.0.0",
11624 11868
         "accepts": "~1.3.4",
11625 11869
         "base64id": "2.0.0",
11626
-        "cookie": "~0.4.1",
11870
+        "cookie": "~0.7.2",
11627 11871
         "cors": "~2.8.5",
11628 11872
         "debug": "~4.3.1",
11629 11873
         "engine.io-parser": "~5.2.1",
@@ -11652,6 +11896,12 @@
11652 11896
       "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
11653 11897
       "dev": true
11654 11898
     },
11899
+    "entities": {
11900
+      "version": "4.5.0",
11901
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
11902
+      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
11903
+      "dev": true
11904
+    },
11655 11905
     "envinfo": {
11656 11906
       "version": "7.8.1",
11657 11907
       "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
@@ -13178,6 +13428,15 @@
13178 13428
         "type-check": "~0.4.0"
13179 13429
       }
13180 13430
     },
13431
+    "linkify-it": {
13432
+      "version": "5.0.0",
13433
+      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
13434
+      "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
13435
+      "dev": true,
13436
+      "requires": {
13437
+        "uc.micro": "^2.0.0"
13438
+      }
13439
+    },
13181 13440
     "loader-runner": {
13182 13441
       "version": "4.2.0",
13183 13442
       "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
@@ -13260,6 +13519,12 @@
13260 13519
         "yallist": "^3.0.2"
13261 13520
       }
13262 13521
     },
13522
+    "lunr": {
13523
+      "version": "2.3.9",
13524
+      "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
13525
+      "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
13526
+      "dev": true
13527
+    },
13263 13528
     "make-dir": {
13264 13529
       "version": "3.1.0",
13265 13530
       "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
@@ -13269,12 +13534,32 @@
13269 13534
         "semver": "^6.0.0"
13270 13535
       }
13271 13536
     },
13537
+    "markdown-it": {
13538
+      "version": "14.1.0",
13539
+      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
13540
+      "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
13541
+      "dev": true,
13542
+      "requires": {
13543
+        "argparse": "^2.0.1",
13544
+        "entities": "^4.4.0",
13545
+        "linkify-it": "^5.0.0",
13546
+        "mdurl": "^2.0.0",
13547
+        "punycode.js": "^2.3.1",
13548
+        "uc.micro": "^2.1.0"
13549
+      }
13550
+    },
13272 13551
     "math-intrinsics": {
13273 13552
       "version": "1.1.0",
13274 13553
       "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
13275 13554
       "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
13276 13555
       "dev": true
13277 13556
     },
13557
+    "mdurl": {
13558
+      "version": "2.0.0",
13559
+      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
13560
+      "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
13561
+      "dev": true
13562
+    },
13278 13563
     "media-typer": {
13279 13564
       "version": "0.3.0",
13280 13565
       "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -13699,6 +13984,12 @@
13699 13984
       "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
13700 13985
       "dev": true
13701 13986
     },
13987
+    "punycode.js": {
13988
+      "version": "2.3.1",
13989
+      "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
13990
+      "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
13991
+      "dev": true
13992
+    },
13702 13993
     "qjobs": {
13703 13994
       "version": "1.2.0",
13704 13995
       "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
@@ -14165,16 +14456,16 @@
14165 14456
       "dev": true
14166 14457
     },
14167 14458
     "socket.io": {
14168
-      "version": "4.7.5",
14169
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz",
14170
-      "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==",
14459
+      "version": "4.8.1",
14460
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz",
14461
+      "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==",
14171 14462
       "dev": true,
14172 14463
       "requires": {
14173 14464
         "accepts": "~1.3.4",
14174 14465
         "base64id": "~2.0.0",
14175 14466
         "cors": "~2.8.5",
14176 14467
         "debug": "~4.3.2",
14177
-        "engine.io": "~6.5.2",
14468
+        "engine.io": "~6.6.0",
14178 14469
         "socket.io-adapter": "~2.5.2",
14179 14470
         "socket.io-parser": "~4.2.4"
14180 14471
       }
@@ -14640,6 +14931,39 @@
14640 14931
         "reflect.getprototypeof": "^1.0.6"
14641 14932
       }
14642 14933
     },
14934
+    "typedoc": {
14935
+      "version": "0.28.1",
14936
+      "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.1.tgz",
14937
+      "integrity": "sha512-Mn2VPNMaxoe/hlBiLriG4U55oyAa3Xo+8HbtEwV7F5WEOPXqtxzGuMZhJYHaqFJpajeQ6ZDUC2c990NAtTbdgw==",
14938
+      "dev": true,
14939
+      "requires": {
14940
+        "@gerrit0/mini-shiki": "^3.2.1",
14941
+        "lunr": "^2.3.9",
14942
+        "markdown-it": "^14.1.0",
14943
+        "minimatch": "^9.0.5",
14944
+        "yaml": "^2.7.0 "
14945
+      },
14946
+      "dependencies": {
14947
+        "brace-expansion": {
14948
+          "version": "2.0.1",
14949
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
14950
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
14951
+          "dev": true,
14952
+          "requires": {
14953
+            "balanced-match": "^1.0.0"
14954
+          }
14955
+        },
14956
+        "minimatch": {
14957
+          "version": "9.0.5",
14958
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
14959
+          "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
14960
+          "dev": true,
14961
+          "requires": {
14962
+            "brace-expansion": "^2.0.1"
14963
+          }
14964
+        }
14965
+      }
14966
+    },
14643 14967
     "typescript": {
14644 14968
       "version": "5.0.4",
14645 14969
       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
@@ -14652,6 +14976,12 @@
14652 14976
       "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==",
14653 14977
       "dev": true
14654 14978
     },
14979
+    "uc.micro": {
14980
+      "version": "2.1.0",
14981
+      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
14982
+      "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
14983
+      "dev": true
14984
+    },
14655 14985
     "unbox-primitive": {
14656 14986
       "version": "1.1.0",
14657 14987
       "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
@@ -15132,6 +15462,12 @@
15132 15462
       "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
15133 15463
       "dev": true
15134 15464
     },
15465
+    "yaml": {
15466
+      "version": "2.7.1",
15467
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz",
15468
+      "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==",
15469
+      "dev": true
15470
+    },
15135 15471
     "yargs": {
15136 15472
       "version": "16.2.0",
15137 15473
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",

+ 2
- 0
package.json 查看文件

@@ -52,6 +52,7 @@
52 52
     "karma-webpack": "5.0.0",
53 53
     "process": "0.11.10",
54 54
     "string-replace-loader": "3.0.3",
55
+    "typedoc": "0.28.1",
55 56
     "typescript": "5.0.4",
56 57
     "webpack": "5.98.0",
57 58
     "webpack-bundle-analyzer": "4.4.2",
@@ -68,6 +69,7 @@
68 69
     "prepack": "npm run build && npm run gen-types",
69 70
     "test": "karma start karma.conf.js",
70 71
     "test-watch": "karma start karma.conf.js --no-single-run",
72
+    "typedoc": "typedoc",
71 73
     "validate": "npm ls",
72 74
     "watch": "webpack --config webpack.config.js --watch --mode development"
73 75
   },

+ 23
- 1
tsconfig.json 查看文件

@@ -17,6 +17,7 @@
17 17
   "exclude": [
18 18
     "dist",
19 19
     "doc",
20
+    "docs",
20 21
     "types",
21 22
     "**/*.spec.js",
22 23
     "**/*.spec.ts",
@@ -24,5 +25,26 @@
24 25
     "index.js",
25 26
     "lib-jitsi-meet.*.js",
26 27
     "webpack*.js",
27
-  ]
28
+  ],
29
+  "typedocOptions": {
30
+    "entryPoints": [
31
+      "JitsiConference.js",
32
+      "JitsiConferenceErrors.ts",
33
+      "JitsiConferenceEvents.ts",
34
+      "JitsiConnection.js",
35
+      "JitsiConnectionErrors.ts",
36
+      "JitsiConnectionEvents.ts",
37
+      "JitsiMediaDevices.js",
38
+      "JitsiMediaDevicesEvents.ts",
39
+      "JitsiMeetJS.ts",
40
+      "JitsiParticipant.ts",
41
+      "JitsiParticipantEvents.js",
42
+      "JitsiTrackError.ts",
43
+      "JitsiTrackErrors.ts",
44
+      "JitsiTrackEvents.ts",
45
+    ],
46
+    "excludePrivate": true,
47
+    "excludeProtected": true,
48
+    "readme": "none",
49
+  }
28 50
 }

Loading…
取消
儲存