Skip to content

Commit 91a8da3

Browse files
authored
Merge pull request #316 from statelyai/davidkpiano/api-docs
Add API docs
2 parents c6faa0d + ad1b90a commit 91a8da3

File tree

6 files changed

+132
-5
lines changed

6 files changed

+132
-5
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "xstate"]
2+
path = xstate
3+
url = https://github.com/statelyai/xstate

docusaurus.config.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,32 @@ const config = {
150150
},
151151
},
152152
],
153+
[
154+
'docusaurus-plugin-typedoc-api',
155+
{
156+
disableVersioning: true,
157+
projectRoot: `${__dirname}/xstate`,
158+
packages: [
159+
{ path: 'packages/core', slug: 'xstate' },
160+
{ path: 'packages/xstate-graph', slug: '@xstate/graph' },
161+
{ path: 'packages/xstate-react', slug: '@xstate/react' },
162+
{ path: 'packages/xstate-solid', slug: '@xstate/solid' },
163+
{ path: 'packages/xstate-svelte', slug: '@xstate/svelte' },
164+
{ path: 'packages/xstate-test', slug: '@xstate/test' },
165+
{ path: 'packages/xstate-vue', slug: '@xstate/vue' },
166+
],
167+
// We're sorting the packages here to ensure that the "xstate" package is first
168+
sortPackages: (p1, p2) => {
169+
if (p1.packageName === 'xstate') {
170+
return -1;
171+
} else if (p2.packageName === 'xstate') {
172+
return 1;
173+
} else {
174+
return p1.packageName.localeCompare(p2.packageName);
175+
}
176+
},
177+
},
178+
],
153179
async function tailwindPlugin(context, options) {
154180
return {
155181
name: 'docusaurus-tailwindcss',
@@ -178,13 +204,19 @@ const config = {
178204
alt: 'Stately',
179205
src: '/logo-black.svg',
180206
srcDark: '/logo-white-nobg.svg',
207+
href: '/docs',
181208
},
182209
items: [
183210
{
184211
type: 'search',
185212
position: 'right',
186213
},
187214
{ to: '/docs', label: 'Docs', position: 'right' },
215+
{
216+
to: '/api',
217+
label: 'API',
218+
position: 'right',
219+
},
188220
{
189221
href: 'https://stately.ai/registry/projects',
190222
label: 'Studio',

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "0.1.0",
44
"repository": "https://github.com/statelyai/docs",
55
"scripts": {
6+
"postinstall": "git submodule update --init --remote && cd xstate && yarn",
67
"docusaurus": "docusaurus",
78
"remark:once": "yarn remark --quiet --frail docs/**/* versioned_docs/**/*",
89
"remark:watch": "yarn remark --quiet --frail --watch docs/**/* versioned_docs/**/*",
@@ -61,6 +62,7 @@
6162
"@docusaurus/types": "^3.0.1",
6263
"@fec/remark-a11y-emoji": "^4.0.2",
6364
"concurrently": "^8.2.2",
65+
"docusaurus-plugin-typedoc-api": "^4.0.1",
6466
"dotenv": "^16.3.1",
6567
"remark-cli": "^12.0.0",
6668
"remark-validate-links": "^13.0.0",

sidebars.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ const sidebars = {
5555
},
5656
'templates',
5757
'cheatsheet',
58+
{
59+
type: 'link',
60+
href: '/api',
61+
label: 'API',
62+
},
5863
],
5964
},
6065
{

yarn.lock

Lines changed: 89 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1872,7 +1872,7 @@
18721872
utility-types "^3.10.0"
18731873
webpack "^5.88.1"
18741874

1875-
"@docusaurus/[email protected]":
1875+
"@docusaurus/[email protected]", "@docusaurus/plugin-content-docs@^3.0.0":
18761876
version "3.0.1"
18771877
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.0.1.tgz#d9b1884562186573d5c4521ac3546b68512c1126"
18781878
integrity sha512-dRfAOA5Ivo+sdzzJGXEu33yAtvGg8dlZkvt/NEJ7nwi1F2j4LEdsxtfX2GKeETB2fP6XoGNSQnFXqa2NYGrHFg==
@@ -2090,7 +2090,7 @@
20902090
resolved "https://registry.yarnpkg.com/@docusaurus/tsconfig/-/tsconfig-3.0.1.tgz#170f230c34ff12e55995bd7e9f1f21db33035d8f"
20912091
integrity sha512-hT2HCdNE3pWTzXV/7cSsowfmaOxXVOTFOXmkqaYjBWjaxjJ3FO0nHbdJ8rF6Da7PvWmIPbUekdP5gep1XCJ7Vg==
20922092

2093-
"@docusaurus/[email protected]", "@docusaurus/types@^3.0.1":
2093+
"@docusaurus/[email protected]", "@docusaurus/types@^3.0.0", "@docusaurus/types@^3.0.1":
20942094
version "3.0.1"
20952095
resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.0.1.tgz#4fe306aa10ef7c97dbc07588864f6676a40f3b6f"
20962096
integrity sha512-plyX2iU1tcUsF46uQ01pAd4JhexR7n0iiQ5MSnBFX6M6NSJgDYdru/i1/YNPKOnQHBoXGLHv0dNT6OAlDWNjrg==
@@ -2136,7 +2136,7 @@
21362136
js-yaml "^4.1.0"
21372137
tslib "^2.6.0"
21382138

2139-
"@docusaurus/[email protected]":
2139+
"@docusaurus/[email protected]", "@docusaurus/utils@^3.0.0":
21402140
version "3.0.1"
21412141
resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.0.1.tgz#c64f68980a90c5bc6d53a5b8f32deb9026b1e303"
21422142
integrity sha512-TwZ33Am0q4IIbvjhUOs+zpjtD/mXNmLmEgeTGuRq01QzulLHuPhaBTTAC/DHu6kFx3wDgmgpAlaRuCHfTcXv8g==
@@ -3082,6 +3082,11 @@
30823082
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
30833083
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
30843084

3085+
"@vscode/codicons@^0.0.35":
3086+
version "0.0.35"
3087+
resolved "https://registry.yarnpkg.com/@vscode/codicons/-/codicons-0.0.35.tgz#7424a647f39c6e71c86c1edf12bfc27196c8fba1"
3088+
integrity sha512-7iiKdA5wHVYSbO7/Mm0hiHD3i4h+9hKUe1O4hISAe/nHhagMwb2ZbFC8jU6d7Cw+JNT2dWXN2j+WHbkhT5/l2w==
3089+
30853090
"@webassemblyjs/[email protected]":
30863091
version "1.11.1"
30873092
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7"
@@ -3503,6 +3508,11 @@ ansi-regex@^6.0.1:
35033508
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
35043509
integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
35053510

3511+
ansi-sequence-parser@^1.1.0:
3512+
version "1.1.1"
3513+
resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf"
3514+
integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==
3515+
35063516
ansi-styles@^3.2.1:
35073517
version "3.2.1"
35083518
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@@ -4740,6 +4750,19 @@ docusaurus-plugin-api-extractor@^2.0.4:
47404750
prettier "^2.5.1"
47414751
standard-markdown-documenter "0.2.2"
47424752

4753+
docusaurus-plugin-typedoc-api@^4.0.1:
4754+
version "4.0.1"
4755+
resolved "https://registry.yarnpkg.com/docusaurus-plugin-typedoc-api/-/docusaurus-plugin-typedoc-api-4.0.1.tgz#c4051a112608046e7717d7238689c173b4a48d2b"
4756+
integrity sha512-mHHqvSz3qEPj1IPYa7Td75CWpWsVd6O0Fwex6XfZgj5kUDjeFCw50arc7j9n8xjXcqC1iIQ1ppz+AWwfSRZ0Kw==
4757+
dependencies:
4758+
"@docusaurus/plugin-content-docs" "^3.0.0"
4759+
"@docusaurus/types" "^3.0.0"
4760+
"@docusaurus/utils" "^3.0.0"
4761+
"@vscode/codicons" "^0.0.35"
4762+
marked "^9.1.5"
4763+
marked-smartypants "^1.1.3"
4764+
typedoc "^0.25.3"
4765+
47434766
dom-converter@^0.2.0:
47444767
version "0.2.0"
47454768
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
@@ -6530,6 +6553,11 @@ json5@^2.1.2:
65306553
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
65316554
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
65326555

6556+
jsonc-parser@^3.2.0:
6557+
version "3.2.0"
6558+
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
6559+
integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
6560+
65336561
jsonfile@^4.0.0:
65346562
version "4.0.0"
65356563
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -6735,6 +6763,11 @@ lucide-react@^0.293.0:
67356763
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.293.0.tgz#02703dbcc56bb38779f4e576cc03be8cc0046fcc"
67366764
integrity sha512-g3AN0EYITCpAjNgLHrKrFWvIJzZy0Y9OPBaonyKw1cM+nZE6piOM+TiuQdYfha7oa76TMiDaWXQHE44CEqsrzw==
67376765

6766+
lunr@^2.3.9:
6767+
version "2.3.9"
6768+
resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1"
6769+
integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==
6770+
67386771
markdown-extensions@^2.0.0:
67396772
version "2.0.0"
67406773
resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4"
@@ -6745,6 +6778,23 @@ markdown-table@^3.0.0:
67456778
resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd"
67466779
integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==
67476780

6781+
marked-smartypants@^1.1.3:
6782+
version "1.1.5"
6783+
resolved "https://registry.yarnpkg.com/marked-smartypants/-/marked-smartypants-1.1.5.tgz#1ea079764ce47c963843c2f77b5a6cb85664f409"
6784+
integrity sha512-gp+IpDsthwcXJ/sWT8si7dGWL6Diag3Iy4+OOoMZnhjFAox9z77cWfqQUmwY9oP9XACWZeiBXvWW1TOjTbvwAw==
6785+
dependencies:
6786+
smartypants "^0.2.2"
6787+
6788+
marked@^4.3.0:
6789+
version "4.3.0"
6790+
resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3"
6791+
integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==
6792+
6793+
marked@^9.1.5:
6794+
version "9.1.6"
6795+
resolved "https://registry.yarnpkg.com/marked/-/marked-9.1.6.tgz#5d2a3f8180abfbc5d62e3258a38a1c19c0381695"
6796+
integrity sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==
6797+
67486798
mdast-util-directive@^3.0.0:
67496799
version "3.0.0"
67506800
resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz#3fb1764e705bbdf0afb0d3f889e4404c3e82561f"
@@ -7513,7 +7563,7 @@ minimatch@^5.0.1:
75137563
dependencies:
75147564
brace-expansion "^2.0.1"
75157565

7516-
minimatch@^9.0.0, minimatch@^9.0.1:
7566+
minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3:
75177567
version "9.0.3"
75187568
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
75197569
integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
@@ -9391,6 +9441,16 @@ shelljs@^0.8.5:
93919441
interpret "^1.0.0"
93929442
rechoir "^0.6.2"
93939443

9444+
shiki@^0.14.1:
9445+
version "0.14.5"
9446+
resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.5.tgz#375dd214e57eccb04f0daf35a32aa615861deb93"
9447+
integrity sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==
9448+
dependencies:
9449+
ansi-sequence-parser "^1.1.0"
9450+
jsonc-parser "^3.2.0"
9451+
vscode-oniguruma "^1.7.0"
9452+
vscode-textmate "^8.0.0"
9453+
93949454
side-channel@^1.0.4:
93959455
version "1.0.4"
93969456
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
@@ -9451,6 +9511,11 @@ slash@^4.0.0:
94519511
resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7"
94529512
integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
94539513

9514+
smartypants@^0.2.2:
9515+
version "0.2.2"
9516+
resolved "https://registry.yarnpkg.com/smartypants/-/smartypants-0.2.2.tgz#ad7124d8eb9ab437906db1cd7bd7aaf49e5d9a42"
9517+
integrity sha512-TzobUYoEft/xBtb2voRPryAUIvYguG0V7Tt3de79I1WfXgCwelqVsGuZSnu3GFGRZhXR90AeEYIM+icuB/S06Q==
9518+
94549519
sockjs@^0.3.24:
94559520
version "0.3.24"
94569521
resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce"
@@ -9973,6 +10038,16 @@ typedarray@^0.0.6:
997310038
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
997410039
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
997510040

10041+
typedoc@^0.25.3:
10042+
version "0.25.4"
10043+
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.25.4.tgz#5c2c0677881f504e41985f29d9aef0dbdb6f1e6f"
10044+
integrity sha512-Du9ImmpBCw54bX275yJrxPVnjdIyJO/84co0/L9mwe0R3G4FSR6rQ09AlXVRvZEGMUg09+z/usc8mgygQ1aidA==
10045+
dependencies:
10046+
lunr "^2.3.9"
10047+
marked "^4.3.0"
10048+
minimatch "^9.0.3"
10049+
shiki "^0.14.1"
10050+
997610051
typescript@^5.3.2:
997710052
version "5.3.2"
997810053
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.2.tgz#00d1c7c1c46928c5845c1ee8d0cc2791031d4c43"
@@ -10364,6 +10439,16 @@ vfile@^6.0.0, vfile@^6.0.1:
1036410439
unist-util-stringify-position "^4.0.0"
1036510440
vfile-message "^4.0.0"
1036610441

10442+
vscode-oniguruma@^1.7.0:
10443+
version "1.7.0"
10444+
resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b"
10445+
integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==
10446+
10447+
vscode-textmate@^8.0.0:
10448+
version "8.0.0"
10449+
resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d"
10450+
integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==
10451+
1036710452
walk-up-path@^3.0.1:
1036810453
version "3.0.1"
1036910454
resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886"

0 commit comments

Comments
 (0)