Skip to content

Commit 1af8a6f

Browse files
committed
[feature] introduce TypeDoc to the project again
1 parent 5c1e0c6 commit 1af8a6f

File tree

6 files changed

+214
-2
lines changed

6 files changed

+214
-2
lines changed

.circleci/config.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,21 @@ jobs:
6969
name: Build
7070
command: yarn build
7171

72+
generate-docs:
73+
docker:
74+
- image: cimg/node:<< pipeline.parameters.node-image-tag >>
75+
resource_class: << pipeline.parameters.resource-class >>
76+
steps:
77+
- checkout
78+
- install-yarn
79+
- install-dependencies
80+
- run:
81+
name: Build
82+
command: yarn build
83+
- run:
84+
name: Generate Docs
85+
command: yarn docs:all
86+
7287
run-example:
7388
docker:
7489
- image: cimg/node:<< pipeline.parameters.node-image-tag >>
@@ -90,4 +105,5 @@ workflows:
90105
- lint
91106
- build
92107
- coverage
108+
- generate-docs
93109
- run-example

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,6 @@ package-lock.json
2727
!.yarn/versions
2828
#!.yarn/cache
2929
.pnp.*
30+
31+
# Typedoc output
32+
doc/

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
"example": "yarn workspace @evolvedbinary/lwdita-xdita run example",
2020
"test": "mocha",
2121
"test:watch": "mocha -w",
22+
"docs:ast": "typedoc --options typedoc.config.mjs --entryPoints packages/lwdita-ast/src/index.ts --out doc/ast",
23+
"docs:xdita": "typedoc --options typedoc.config.mjs --entryPoints packages/lwdita-xdita/src/index.ts --out doc/xdita",
24+
"docs:all": "rimraf doc && yarn docs:ast && yarn docs:xdita",
2225
"lint": "eslint",
2326
"coverage": "rimraf coverage && nyc yarn mocha",
2427
"coveralls": "nyc --reporter=text-lcov report | coveralls"
@@ -62,6 +65,7 @@
6265
"nodemon": "^3.1.10",
6366
"nyc": "^17.1.0",
6467
"rimraf": "^6.1.0",
68+
"typedoc": "^0.28.14",
6569
"typescript": "5.9.3",
6670
"typescript-eslint": "^8.46.2"
6771
},

tsconfig.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"extends": "@tsconfig/recommended/tsconfig.json",
3-
3+
"exclude": ["**/test/**", "**/dist/**", "node_modules", "eslint.config.mts"],
44
// overrides recommended
55
"compilerOptions": {
66
"skipLibCheck": false, /* Do NOT skip type checking of declaration files. */
@@ -9,7 +9,6 @@
99
"sourceMap": true, /* Generates corresponding '.map' file. */
1010
"noEmit": false, /* NOTE(AR) just making it explicit that we are using tsc (and not another tool) to emit compiled JavaScript */
1111
"moduleResolution": "node10", /* NOTE(AR) just making it explicit that this is the tsc compilation strategy for module resolution that we are currently using */
12-
"rootDir": "src",
1312
"outDir": "dist", /* Redirect output structure to the `dist/` directory. */
1413
},
1514
}

typedoc.config.mjs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*!
2+
Copyright (C) 2020 Evolved Binary
3+
4+
This program is free software: you can redistribute it and/or modify
5+
it under the terms of the GNU Affero General Public License as
6+
published by the Free Software Foundation, either version 3 of the
7+
License, or (at your option) any later version.
8+
9+
This program is distributed in the hope that it will be useful,
10+
but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
GNU Affero General Public License for more details.
13+
14+
You should have received a copy of the GNU Affero General Public License
15+
along with this program. If not, see <https://www.gnu.org/licenses/>.
16+
*/
17+
18+
import { OptionDefaults } from "typedoc";
19+
20+
/** @type {Partial<import('typedoc').TypeDocOptions>} */
21+
const config = {
22+
tsconfig: "./tsconfig.json",
23+
modifierTags: [...OptionDefaults.modifierTags, "@decorator"],
24+
highlightLanguages: ["ts", "js", "xml", "json", "bash"],
25+
treatWarningsAsErrors: true,
26+
treatValidationWarningsAsErrors: true,
27+
};
28+
29+
export default config;

yarn.lock

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,11 +414,25 @@ __metadata:
414414
nodemon: "npm:^3.1.10"
415415
nyc: "npm:^17.1.0"
416416
rimraf: "npm:^6.1.0"
417+
typedoc: "npm:^0.28.14"
417418
typescript: "npm:5.9.3"
418419
typescript-eslint: "npm:^8.46.2"
419420
languageName: unknown
420421
linkType: soft
421422

423+
"@gerrit0/mini-shiki@npm:^3.12.0":
424+
version: 3.14.0
425+
resolution: "@gerrit0/mini-shiki@npm:3.14.0"
426+
dependencies:
427+
"@shikijs/engine-oniguruma": "npm:^3.14.0"
428+
"@shikijs/langs": "npm:^3.14.0"
429+
"@shikijs/themes": "npm:^3.14.0"
430+
"@shikijs/types": "npm:^3.14.0"
431+
"@shikijs/vscode-textmate": "npm:^10.0.2"
432+
checksum: 10c0/9539688aec140f2167203b424078d34deec016c8418c497146c6c24920d0590d10b2cd5eec721668a56cb5d42fb278f6f0502bc340274398bb690317ded563b2
433+
languageName: node
434+
linkType: hard
435+
422436
"@humanfs/core@npm:^0.19.1":
423437
version: 0.19.1
424438
resolution: "@humanfs/core@npm:0.19.1"
@@ -636,6 +650,51 @@ __metadata:
636650
languageName: node
637651
linkType: hard
638652

653+
"@shikijs/engine-oniguruma@npm:^3.14.0":
654+
version: 3.14.0
655+
resolution: "@shikijs/engine-oniguruma@npm:3.14.0"
656+
dependencies:
657+
"@shikijs/types": "npm:3.14.0"
658+
"@shikijs/vscode-textmate": "npm:^10.0.2"
659+
checksum: 10c0/6dab2310c910fedd89046299c4423b2100c8c771822e487070d9eb158907782f195f1b9dd560b6b84f74432bdd1ca4e4429f4af76d30c0e45f8448f100094996
660+
languageName: node
661+
linkType: hard
662+
663+
"@shikijs/langs@npm:^3.14.0":
664+
version: 3.14.0
665+
resolution: "@shikijs/langs@npm:3.14.0"
666+
dependencies:
667+
"@shikijs/types": "npm:3.14.0"
668+
checksum: 10c0/59ed3b0e9f893a57c8e88b77e9280d993b0dfe219b91db2f8143a65728ef47b02e17056a029f710753184e1c077dfa589cbc5491253d791472a94dca9f598fa3
669+
languageName: node
670+
linkType: hard
671+
672+
"@shikijs/themes@npm:^3.14.0":
673+
version: 3.14.0
674+
resolution: "@shikijs/themes@npm:3.14.0"
675+
dependencies:
676+
"@shikijs/types": "npm:3.14.0"
677+
checksum: 10c0/3326482f081e313957c3e74ae86721d18efb32c022b31936f7da1b4782f4c970dea71989934baf9ab8adbeafea07235834b2e6ab83b67e71dc87fb328a1caa58
678+
languageName: node
679+
linkType: hard
680+
681+
"@shikijs/types@npm:3.14.0, @shikijs/types@npm:^3.14.0":
682+
version: 3.14.0
683+
resolution: "@shikijs/types@npm:3.14.0"
684+
dependencies:
685+
"@shikijs/vscode-textmate": "npm:^10.0.2"
686+
"@types/hast": "npm:^3.0.4"
687+
checksum: 10c0/154ec7a79e3c155ed47a14d14ccf91ea09909779993f999cf3d7e424c2f732cd7d7faf8074441a543445f64af1ef9456dcf9ddd4edad96615b68ca60eca2b7bc
688+
languageName: node
689+
linkType: hard
690+
691+
"@shikijs/vscode-textmate@npm:^10.0.2":
692+
version: 10.0.2
693+
resolution: "@shikijs/vscode-textmate@npm:10.0.2"
694+
checksum: 10c0/36b682d691088ec244de292dc8f91b808f95c89466af421cf84cbab92230f03c8348649c14b3251991b10ce632b0c715e416e992dd5f28ff3221dc2693fd9462
695+
languageName: node
696+
linkType: hard
697+
639698
"@tsconfig/node10@npm:^1.0.7":
640699
version: 1.0.11
641700
resolution: "@tsconfig/node10@npm:1.0.11"
@@ -695,6 +754,15 @@ __metadata:
695754
languageName: node
696755
linkType: hard
697756

757+
"@types/hast@npm:^3.0.4":
758+
version: 3.0.4
759+
resolution: "@types/hast@npm:3.0.4"
760+
dependencies:
761+
"@types/unist": "npm:*"
762+
checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7
763+
languageName: node
764+
linkType: hard
765+
698766
"@types/json-schema@npm:^7.0.15":
699767
version: 7.0.15
700768
resolution: "@types/json-schema@npm:7.0.15"
@@ -718,6 +786,13 @@ __metadata:
718786
languageName: node
719787
linkType: hard
720788

789+
"@types/unist@npm:*":
790+
version: 3.0.3
791+
resolution: "@types/unist@npm:3.0.3"
792+
checksum: 10c0/2b1e4adcab78388e088fcc3c0ae8700f76619dbcb4741d7d201f87e2cb346bfc29a89003cfea2d76c996e1061452e14fcd737e8b25aacf949c1f2d6b2bc3dd60
793+
languageName: node
794+
linkType: hard
795+
721796
"@typescript-eslint/eslint-plugin@npm:8.46.2":
722797
version: 8.46.2
723798
resolution: "@typescript-eslint/eslint-plugin@npm:8.46.2"
@@ -1562,6 +1637,13 @@ __metadata:
15621637
languageName: node
15631638
linkType: hard
15641639

1640+
"entities@npm:^4.4.0":
1641+
version: 4.5.0
1642+
resolution: "entities@npm:4.5.0"
1643+
checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250
1644+
languageName: node
1645+
linkType: hard
1646+
15651647
"env-paths@npm:^2.2.0":
15661648
version: 2.2.1
15671649
resolution: "env-paths@npm:2.2.1"
@@ -2744,6 +2826,15 @@ __metadata:
27442826
languageName: node
27452827
linkType: hard
27462828

2829+
"linkify-it@npm:^5.0.0":
2830+
version: 5.0.0
2831+
resolution: "linkify-it@npm:5.0.0"
2832+
dependencies:
2833+
uc.micro: "npm:^2.0.0"
2834+
checksum: 10c0/ff4abbcdfa2003472fc3eb4b8e60905ec97718e11e33cca52059919a4c80cc0e0c2a14d23e23d8c00e5402bc5a885cdba8ca053a11483ab3cc8b3c7a52f88e2d
2835+
languageName: node
2836+
linkType: hard
2837+
27472838
"locate-path@npm:^5.0.0":
27482839
version: 5.0.0
27492840
resolution: "locate-path@npm:5.0.0"
@@ -2823,6 +2914,13 @@ __metadata:
28232914
languageName: node
28242915
linkType: hard
28252916

2917+
"lunr@npm:^2.3.9":
2918+
version: 2.3.9
2919+
resolution: "lunr@npm:2.3.9"
2920+
checksum: 10c0/77d7dbb4fbd602aac161e2b50887d8eda28c0fa3b799159cee380fbb311f1e614219126ecbbd2c3a9c685f1720a8109b3c1ca85cc893c39b6c9cc6a62a1d8a8b
2921+
languageName: node
2922+
linkType: hard
2923+
28262924
"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2":
28272925
version: 3.1.0
28282926
resolution: "make-dir@npm:3.1.0"
@@ -2868,6 +2966,29 @@ __metadata:
28682966
languageName: node
28692967
linkType: hard
28702968

2969+
"markdown-it@npm:^14.1.0":
2970+
version: 14.1.0
2971+
resolution: "markdown-it@npm:14.1.0"
2972+
dependencies:
2973+
argparse: "npm:^2.0.1"
2974+
entities: "npm:^4.4.0"
2975+
linkify-it: "npm:^5.0.0"
2976+
mdurl: "npm:^2.0.0"
2977+
punycode.js: "npm:^2.3.1"
2978+
uc.micro: "npm:^2.1.0"
2979+
bin:
2980+
markdown-it: bin/markdown-it.mjs
2981+
checksum: 10c0/9a6bb444181d2db7016a4173ae56a95a62c84d4cbfb6916a399b11d3e6581bf1cc2e4e1d07a2f022ae72c25f56db90fbe1e529fca16fbf9541659dc53480d4b4
2982+
languageName: node
2983+
linkType: hard
2984+
2985+
"mdurl@npm:^2.0.0":
2986+
version: 2.0.0
2987+
resolution: "mdurl@npm:2.0.0"
2988+
checksum: 10c0/633db522272f75ce4788440669137c77540d74a83e9015666a9557a152c02e245b192edc20bc90ae953bbab727503994a53b236b4d9c99bdaee594d0e7dd2ce0
2989+
languageName: node
2990+
linkType: hard
2991+
28712992
"merge2@npm:^1.3.0":
28722993
version: 1.4.1
28732994
resolution: "merge2@npm:1.4.1"
@@ -3480,6 +3601,13 @@ __metadata:
34803601
languageName: node
34813602
linkType: hard
34823603

3604+
"punycode.js@npm:^2.3.1":
3605+
version: 2.3.1
3606+
resolution: "punycode.js@npm:2.3.1"
3607+
checksum: 10c0/1d12c1c0e06127fa5db56bd7fdf698daf9a78104456a6b67326877afc21feaa821257b171539caedd2f0524027fa38e67b13dd094159c8d70b6d26d2bea4dfdb
3608+
languageName: node
3609+
linkType: hard
3610+
34833611
"punycode@npm:^2.1.0, punycode@npm:^2.1.1":
34843612
version: 2.3.1
34853613
resolution: "punycode@npm:2.3.1"
@@ -4086,6 +4214,23 @@ __metadata:
40864214
languageName: node
40874215
linkType: hard
40884216

4217+
"typedoc@npm:^0.28.14":
4218+
version: 0.28.14
4219+
resolution: "typedoc@npm:0.28.14"
4220+
dependencies:
4221+
"@gerrit0/mini-shiki": "npm:^3.12.0"
4222+
lunr: "npm:^2.3.9"
4223+
markdown-it: "npm:^14.1.0"
4224+
minimatch: "npm:^9.0.5"
4225+
yaml: "npm:^2.8.1"
4226+
peerDependencies:
4227+
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 || 5.9.x
4228+
bin:
4229+
typedoc: bin/typedoc
4230+
checksum: 10c0/a8727134991ba3f9a982e9f6ceecfbcf0fac531e4865e4865cdee68ea6fe1a594228b8654011d38ffa2332b7e84e4eaa3d0dac04a8bdf36a0686d1c3f327e80b
4231+
languageName: node
4232+
linkType: hard
4233+
40894234
"typescript-eslint@npm:^8.46.2":
40904235
version: 8.46.2
40914236
resolution: "typescript-eslint@npm:8.46.2"
@@ -4121,6 +4266,13 @@ __metadata:
41214266
languageName: node
41224267
linkType: hard
41234268

4269+
"uc.micro@npm:^2.0.0, uc.micro@npm:^2.1.0":
4270+
version: 2.1.0
4271+
resolution: "uc.micro@npm:2.1.0"
4272+
checksum: 10c0/8862eddb412dda76f15db8ad1c640ccc2f47cdf8252a4a30be908d535602c8d33f9855dfcccb8b8837855c1ce1eaa563f7fa7ebe3c98fd0794351aab9b9c55fa
4273+
languageName: node
4274+
linkType: hard
4275+
41244276
"undefsafe@npm:^2.0.5":
41254277
version: 2.0.5
41264278
resolution: "undefsafe@npm:2.0.5"
@@ -4342,6 +4494,15 @@ __metadata:
43424494
languageName: node
43434495
linkType: hard
43444496

4497+
"yaml@npm:^2.8.1":
4498+
version: 2.8.1
4499+
resolution: "yaml@npm:2.8.1"
4500+
bin:
4501+
yaml: bin.mjs
4502+
checksum: 10c0/7c587be00d9303d2ae1566e03bc5bc7fe978ba0d9bf39cc418c3139d37929dfcb93a230d9749f2cb578b6aa5d9ebebc322415e4b653cb83acd8bc0bc321707f3
4503+
languageName: node
4504+
linkType: hard
4505+
43454506
"yargs-parser@npm:^18.1.2":
43464507
version: 18.1.3
43474508
resolution: "yargs-parser@npm:18.1.3"

0 commit comments

Comments
 (0)