From 413f1a9555c05d4f4df2dea837eeb676948115e4 Mon Sep 17 00:00:00 2001 From: Julia Ortiz Date: Thu, 27 Aug 2026 11:34:11 -0300 Subject: [PATCH] docs: separate LLVM package documentation --- .gitignore | 2 - apps/docs/README.md | 39 +++---- apps/docs/content/llvm | 1 - apps/docs/content/meta.json | 2 +- apps/docs/lib/source.ts | 18 ++- apps/docs/package.json | 10 +- apps/docs/scripts/label-api-folders.mjs | 11 -- apps/docs/turbo.json | 4 +- apps/docs/typedoc.json | 27 ----- packages/llvm/README.md | 32 +++++- pnpm-lock.yaml | 145 ------------------------ 11 files changed, 54 insertions(+), 237 deletions(-) delete mode 120000 apps/docs/content/llvm delete mode 100644 apps/docs/scripts/label-api-folders.mjs delete mode 100644 apps/docs/typedoc.json diff --git a/.gitignore b/.gitignore index b62bba1d..5739c536 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,6 @@ # Releases authenticate with short-lived OIDC credentials. .npmrc -# Generated TSDoc API pages -apps/docs/content/*-api/ /apps/docs/.next/ /apps/docs/next-env.d.ts /apps/docs/tsconfig.tsbuildinfo diff --git a/apps/docs/README.md b/apps/docs/README.md index 7a4796b8..97c5346d 100644 --- a/apps/docs/README.md +++ b/apps/docs/README.md @@ -1,6 +1,6 @@ # `@silk-lang/docs` -The documentation site for every package in this monorepo. Next.js + Fumadocs + Tailwind. +The live documentation site for the Silk language and compiler. Next.js + Fumadocs + Tailwind. ```sh pnpm dev @@ -8,32 +8,19 @@ pnpm dev Run this from the repository root so Turbo also watches the local packages consumed by the app. -## How content gets here +## Content -Package documentation is **read in place** — nothing is copied into this app, so -`packages//docs` stays the single source of truth and keeps shipping to npm and rendering on -GitHub. +The language and compiler documentation is read in place from `packages/language/docs`; nothing is +copied into this app. The `content/language` symlink keeps the package directory as the single +source of truth while exposing it to Fumadocs at `/docs/language/**`. -| URL | Source | -| ------------------ | ---------------------------------------------------------- | -| `/docs/llvm/**` | `content/llvm` → symlink to `packages/llvm/docs` | -| `/docs/llvm-api/**`| `content/llvm-api` → TSDoc generated by `pnpm api` (ignored) | +The standalone `@silk-lang/llvm` package has its own Markdown documentation, indexed from +[`packages/llvm/README.md`](../../packages/llvm/README.md). It is deliberately not published on +this site because it documents using the LLVM library independently of the Silk language. -Package docs are plain Markdown with no frontmatter. [`lib/source.ts`](lib/source.ts) derives each -page title from its leading `# H1` (falling back to the file name), so no package has to carry -site-specific frontmatter. +These docs are plain Markdown with no frontmatter. [`lib/source.ts`](lib/source.ts) derives each +page title from its leading `# H1` (falling back to the file name), so the source stays useful both +on the site and on GitHub. -## Adding a package - -1. `ln -s ../../../packages//docs content/` -2. Add `../../packages//src/*.ts` to `entryPoints` in [`typedoc.json`](typedoc.json), pointing - `out` at `content/-api`. -3. Add a sidebar label in `folderTitles` in [`lib/source.ts`](lib/source.ts) and list the folders in - [`content/meta.json`](content/meta.json). - -## TypeScript note - -The repo builds on TypeScript 7, which TypeDoc does not support yet — TS 7 no longer exposes the -`SyntaxKind` enum object TypeDoc reads. This app therefore pins `typescript@5.9.3` as a dev -dependency, used **only** by TypeDoc to parse package sources. Next.js and the repo build are -unaffected. +The app pins TypeScript 5.9 because Next.js does not yet support the compiler API exposed by the +repository's TypeScript 7 toolchain. diff --git a/apps/docs/content/llvm b/apps/docs/content/llvm deleted file mode 120000 index 402f1373..00000000 --- a/apps/docs/content/llvm +++ /dev/null @@ -1 +0,0 @@ -../../../packages/llvm/docs \ No newline at end of file diff --git a/apps/docs/content/meta.json b/apps/docs/content/meta.json index b56bd21f..8ca54053 100644 --- a/apps/docs/content/meta.json +++ b/apps/docs/content/meta.json @@ -1,3 +1,3 @@ { - "pages": ["language", "llvm", "llvm-api"] + "pages": ["language"] } diff --git a/apps/docs/lib/source.ts b/apps/docs/lib/source.ts index 3c5e0c04..b90f0ac1 100644 --- a/apps/docs/lib/source.ts +++ b/apps/docs/lib/source.ts @@ -5,8 +5,8 @@ import { TextMate } from '@silk-lang/language'; import { remarkH1Title } from './remark-h1-title.mjs'; /** - * Package docs and generated TSDoc are plain Markdown with no frontmatter — they ship to npm and - * are read on GitHub, where a frontmatter block would render as noise. + * The language and compiler docs are plain Markdown with no frontmatter — they also ship with + * `@silk-lang/language` and render on GitHub, where a frontmatter block would be noise. * * Frontmatter is validated before remark runs, so the title falls back to the file name here and * `remarkH1Title` upgrades it to the document's `# H1`. An author-written title always wins. @@ -25,14 +25,11 @@ function fallbackTitle(path: string): string { return words.charAt(0).toUpperCase() + words.slice(1); } -// ponytail: one collection over `content/`, which is entirely symlinks + generated output. -// Loader record keys are type discriminators, not slug prefixes, so namespacing per package has -// to come from the directory layout: +// ponytail: one collection over `content/`, whose language directory is a symlink to the package +// documentation. Loader record keys are type discriminators, not slug prefixes, so namespacing +// comes from the directory layout: // -// content/ -> symlink to packages//docs (read in place, never copied) -// content/-api -> typedoc markdown from `pnpm api` (gitignored) -// -// Adding a package is one symlink plus one entryPoints line in typedoc.json — no code change. +// content/language -> symlink to packages/language/docs (read in place, never copied) const docs = defineDocs({ dir: './content', docs: { @@ -57,7 +54,6 @@ const docs = defineDocs({ /** Sidebar label for each top-level content folder, keyed by directory name. */ const folderTitles: Record = { language: '@silk-lang/language', - llvm: '@silk-lang/llvm', }; export const source = loader({ @@ -74,7 +70,7 @@ export const source = loader({ ], }, // Package docs use `README.md` as their entry (that's what GitHub and npm render), where - // Fumadocs expects `index.md`. Treat them the same so `/docs/llvm` resolves. + // Fumadocs expects `index.md`. Treat them the same so `/docs/language` resolves. slugs(file) { const slugs = getSlugs(file.path); return slugs.at(-1) === 'README' ? slugs.slice(0, -1) : undefined; diff --git a/apps/docs/package.json b/apps/docs/package.json index 2b40f54d..107230a6 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -4,13 +4,12 @@ "private": true, "type": "module", "scripts": { - "api": "typedoc && node scripts/label-api-folders.mjs", - "build": "pnpm api && next build", + "build": "next build", "clean": "node -e \"require('node:fs').rmSync('.next', { recursive: true, force: true })\"", - "dev": "pnpm api && next dev", + "dev": "next dev", "start": "next start", "test": "vitest run", - "typecheck": "pnpm api && next typegen && tsc --noEmit" + "typecheck": "next typegen && tsc --noEmit" }, "dependencies": { "@codemirror/commands": "^6.10.4", @@ -42,7 +41,6 @@ "devDependencies": { "@effect/vitest": "catalog:", "@silk-lang/formatter": "workspace:*", - "@silk-lang/llvm": "workspace:*", "@silk-lang/wasm": "workspace:*", "@tailwindcss/postcss": "^4.3.3", "@types/mdast": "^4.0.4", @@ -52,8 +50,6 @@ "@types/react-dom": "^19.2.3", "postcss": "^8.5.24", "tailwindcss": "^4.3.3", - "typedoc": "^0.28.20", - "typedoc-plugin-markdown": "^4.12.0", "typescript": "5.9.3" } } diff --git a/apps/docs/scripts/label-api-folders.mjs b/apps/docs/scripts/label-api-folders.mjs deleted file mode 100644 index 7110c448..00000000 --- a/apps/docs/scripts/label-api-folders.mjs +++ /dev/null @@ -1,11 +0,0 @@ -// Typedoc wipes its output directory on every run, so the Fumadocs `meta.json` that names each -// generated folder in the sidebar has to be (re)written here rather than committed. -import { writeFileSync } from 'node:fs'; -import { fileURLToPath } from 'node:url'; - -const content = fileURLToPath(new URL('../content/', import.meta.url)); - -writeFileSync( - `${content}llvm-api/meta.json`, - `${JSON.stringify({ title: 'API reference', description: 'Generated from TSDoc.' }, null, 2)}\n`, -); diff --git a/apps/docs/turbo.json b/apps/docs/turbo.json index 0f3565c3..bc556a3b 100644 --- a/apps/docs/turbo.json +++ b/apps/docs/turbo.json @@ -6,10 +6,10 @@ "dependsOn": ["^build"], "inputs": [ "$TURBO_DEFAULT$", - "$TURBO_ROOT$/packages/*/docs/**", + "$TURBO_ROOT$/packages/language/docs/**", "$TURBO_ROOT$/packages/*/src/**" ], - "outputs": [".next/**", "!.next/cache/**", "content/*-api/**"] + "outputs": [".next/**", "!.next/cache/**"] }, "dev": { "dependsOn": ["^build"] diff --git a/apps/docs/typedoc.json b/apps/docs/typedoc.json deleted file mode 100644 index 3bcaeb4c..00000000 --- a/apps/docs/typedoc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "https://typedoc.org/schema.json", - "plugin": ["typedoc-plugin-markdown"], - "entryPoints": ["../../packages/llvm/src/*.ts"], - "entryPointStrategy": "expand", - "exclude": [ - "**/internal/**", - "**/*.test.ts", - "**/src/index.ts" - ], - "tsconfig": "../../packages/llvm/tsconfig.json", - "out": "content/llvm-api", - "readme": "none", - "githubPages": false, - "hideGenerator": true, - "excludeInternal": true, - "excludePrivate": true, - "sort": ["alphabetical"], - "outputFileStrategy": "modules", - "fileExtension": ".md", - "entryFileName": "index.md", - "hidePageHeader": true, - "hideBreadcrumbs": true, - "useCodeBlocks": true, - "expandObjects": true, - "parametersFormat": "table" -} diff --git a/packages/llvm/README.md b/packages/llvm/README.md index 124cbbb6..ce81bd2e 100644 --- a/packages/llvm/README.md +++ b/packages/llvm/README.md @@ -90,12 +90,36 @@ const recovered = Type.integer(builder, 0).pipe( ## Documentation -- [Build Tiny, a compiled language](./docs/tutorials/tiny-language/01-meet-tiny.md) -- [Build a tiny expression compiler](./docs/tutorials/tiny-expression-compiler.md) -- [How-to guides](./docs/README.md#solve-a-task) +The package documentation is ordinary Markdown kept alongside the code and shipped in the npm +package. Start from the track that matches what you need: + +### Learn by building + +- [Build Tiny, a compiled language](./docs/tutorials/tiny-language/01-meet-tiny.md) — a 13-lesson + path from source text to a native executable. +- [Build a tiny expression compiler](./docs/tutorials/tiny-expression-compiler.md) — a shorter + path for readers already familiar with compiler frontends. + +### Solve a task + +- [Declare globals, aliases, and functions](./docs/how-to/declarations.md) +- [Build branching control flow](./docs/how-to/control-flow.md) +- [Emit memory, atomic, and intrinsic operations](./docs/how-to/memory-atomics-intrinsics.md) +- [Add debug metadata](./docs/how-to/debug-metadata.md) +- [Emit and validate LLVM output](./docs/how-to/output.md) + +### Look up behavior + - [Actor reference](./docs/reference/actors.md) - [Behavior and guarantees](./docs/reference/behavior.md) -- [Design explanations](./docs/README.md#understand-the-design) + +### Understand the design + +- [Why the builder is Effect-native](./docs/explanation/effect-native-builder.md) +- [Why text and bitcode share one model](./docs/explanation/text-and-bitcode.md) + +The [documentation index](./docs/README.md) provides the same paths from within the `docs` +directory. The package is organized as actor modules with explicit subpath exports. Prefer imports such as `@silk-lang/llvm/Builder` and `@silk-lang/llvm/FunctionBody` over a growing import from the root diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 019bf518..5a7abc40 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -117,9 +117,6 @@ importers: '@silk-lang/formatter': specifier: workspace:* version: link:../../packages/formatter - '@silk-lang/llvm': - specifier: workspace:* - version: link:../../packages/llvm '@silk-lang/wasm': specifier: workspace:* version: link:../../packages/wasm @@ -147,12 +144,6 @@ importers: tailwindcss: specifier: ^4.3.3 version: 4.3.3 - typedoc: - specifier: ^0.28.20 - version: 0.28.20(typescript@5.9.3) - typedoc-plugin-markdown: - specifier: ^4.12.0 - version: 4.12.0(typedoc@0.28.20(typescript@5.9.3)) typescript: specifier: 5.9.3 version: 5.9.3 @@ -1081,9 +1072,6 @@ packages: tailwindcss: optional: true - '@gerrit0/mini-shiki@3.23.0': - resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} - '@img/colour@1.1.0': resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} @@ -1857,16 +1845,10 @@ packages: resolution: {integrity: sha512-MnIkeqWdVPUWsxlx8gKLVCJFTsqrQJgpTPBPpQwaFeJ56lOnJxj5aN2LUFnfxUEcvOQuNocmbaMnVrCEln6rkw==} engines: {node: '>=20'} - '@shikijs/engine-oniguruma@3.23.0': - resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} - '@shikijs/engine-oniguruma@4.4.2': resolution: {integrity: sha512-GLhowz1+jixjz+wiZ3wMnOn1jTxiFCGl2PkXufivbnwPHKuyw1AYqu5/hbWhZZ2oAb0NP05WUJhYeigY14drnw==} engines: {node: '>=20'} - '@shikijs/langs@3.23.0': - resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} - '@shikijs/langs@4.4.2': resolution: {integrity: sha512-8DfeusD+Zdv/eYIDdXyJTUnSMHt+aAWjAOCXV20HNGAHRlInXpG8wh421v6B91WOm9TFwRLN+b/LG5F2NAIojg==} engines: {node: '>=20'} @@ -1875,16 +1857,10 @@ packages: resolution: {integrity: sha512-l6fQQKsOMlz72n38fztmSgZ76MO6KSWuw8o+GJ+FhmqrpC9pIOJNQNXGgbb5yX2AwpzlEHwsaLPnk/8o4Fm+rA==} engines: {node: '>=20'} - '@shikijs/themes@3.23.0': - resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} - '@shikijs/themes@4.4.2': resolution: {integrity: sha512-H0CFoL07ddDC2Dd6EdrPYNkRhUR6YCkJlnuYFceYYUJJA5TIm2b5B33qqiDYryBExgbKMndFJPb2u1gTuqO37g==} engines: {node: '>=20'} - '@shikijs/types@3.23.0': - resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} - '@shikijs/types@4.4.2': resolution: {integrity: sha512-PFYitV4vpDr/iPCIhnHp+Q4ftic5N5VeNJ3KQ1O8gn3h2ar8qgwMAXF7tq4m1CWaMS60fV4VqF6vfnWH4F7vqQ==} engines: {node: '>=20'} @@ -2358,10 +2334,6 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - balanced-match@4.0.4: - resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} - engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.11.10: resolution: {integrity: sha512-35JEvJ5/KKlbCHjMCsONI2w6HE88STjVdHk+C7d8LtcFxUjZR1KeLP9izofn2qs0KUxX5r4z73bwH/rd+JHacw==} engines: {node: '>=6.0.0'} @@ -2377,10 +2349,6 @@ packages: brace-expansion@2.1.4: resolution: {integrity: sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==} - brace-expansion@5.0.9: - resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} - engines: {node: 20 || >=22} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -2526,10 +2494,6 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} @@ -3071,9 +3035,6 @@ packages: resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} - linkify-it@5.0.2: - resolution: {integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -3093,9 +3054,6 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -3106,10 +3064,6 @@ packages: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} - markdown-it@14.3.0: - resolution: {integrity: sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==} - hasBin: true - markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -3164,9 +3118,6 @@ packages: mdn-data@2.27.1: resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} - mdurl@2.1.0: - resolution: {integrity: sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -3285,10 +3236,6 @@ packages: engines: {node: '>=16'} hasBin: true - minimatch@10.2.6: - resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} - engines: {node: 18 || 20 || >=22} - minimatch@5.1.9: resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} engines: {node: '>=10'} @@ -3479,10 +3426,6 @@ packages: property-information@7.2.0: resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} - punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -3799,19 +3742,6 @@ packages: resolution: {integrity: sha512-07Y/C7OUp23l4P92PJoYtFNbHjLhftrZH5Ce7dbczS4kX2Re+wtbXvZLoxn/pUtzgsQaRCBaRuZPJp4zmAn0WQ==} hasBin: true - typedoc-plugin-markdown@4.12.0: - resolution: {integrity: sha512-eJDEMAfxCmede22c/Jw7d0FA13ggAQv+KkwQYKYCdqI02cin6Rc9QRwbG/7XvvHWinuFejySnZVUWDtvGk3Vbg==} - engines: {node: '>= 18'} - peerDependencies: - typedoc: 0.28.x - - typedoc@0.28.20: - resolution: {integrity: sha512-uSKqkh8Cr48vllnEy+jdaAgOeR6Y+QCBW7usgUsKj7gJEfR7stw9U/fE49LBnj2tPRKPY0c0EBJSWe9Appmplg==} - engines: {node: '>= 18', pnpm: '>= 10'} - hasBin: true - peerDependencies: - 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 || 6.0.x - typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -3822,9 +3752,6 @@ packages: engines: {node: '>=16.20.0'} hasBin: true - uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} @@ -4574,14 +4501,6 @@ snapshots: optionalDependencies: tailwindcss: 4.3.3 - '@gerrit0/mini-shiki@3.23.0': - dependencies: - '@shikijs/engine-oniguruma': 3.23.0 - '@shikijs/langs': 3.23.0 - '@shikijs/themes': 3.23.0 - '@shikijs/types': 3.23.0 - '@shikijs/vscode-textmate': 10.0.2 - '@img/colour@1.1.0': optional: true @@ -5248,20 +5167,11 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.6 - '@shikijs/engine-oniguruma@3.23.0': - dependencies: - '@shikijs/types': 3.23.0 - '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/engine-oniguruma@4.4.2': dependencies: '@shikijs/types': 4.4.2 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.23.0': - dependencies: - '@shikijs/types': 3.23.0 - '@shikijs/langs@4.4.2': dependencies: '@shikijs/types': 4.4.2 @@ -5272,19 +5182,10 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.5 - '@shikijs/themes@3.23.0': - dependencies: - '@shikijs/types': 3.23.0 - '@shikijs/themes@4.4.2': dependencies: '@shikijs/types': 4.4.2 - '@shikijs/types@3.23.0': - dependencies: - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.5 - '@shikijs/types@4.4.2': dependencies: '@shikijs/vscode-textmate': 10.0.2 @@ -5647,8 +5548,6 @@ snapshots: balanced-match@1.0.2: {} - balanced-match@4.0.4: {} - baseline-browser-mapping@2.11.10: {} better-path-resolve@1.0.0: @@ -5663,10 +5562,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.9: - dependencies: - balanced-match: 4.0.4 - braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -5796,8 +5691,6 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - entities@4.5.0: {} - entities@6.0.1: {} entities@8.0.0: {} @@ -6415,10 +6308,6 @@ snapshots: lightningcss-win32-arm64-msvc: 1.33.0 lightningcss-win32-x64-msvc: 1.33.0 - linkify-it@5.0.2: - dependencies: - uc.micro: 2.1.0 - locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -6433,8 +6322,6 @@ snapshots: dependencies: react: 19.2.8 - lunr@2.3.9: {} - magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -6445,15 +6332,6 @@ snapshots: markdown-extensions@2.0.0: {} - markdown-it@14.3.0: - dependencies: - argparse: 2.0.1 - entities: 4.5.0 - linkify-it: 5.0.2 - mdurl: 2.1.0 - punycode.js: 2.3.1 - uc.micro: 2.1.0 - markdown-table@3.0.4: {} mdast-util-find-and-replace@3.0.2: @@ -6621,8 +6499,6 @@ snapshots: mdn-data@2.27.1: {} - mdurl@2.1.0: {} - merge2@1.4.1: {} micromark-core-commonmark@2.0.3: @@ -6896,10 +6772,6 @@ snapshots: mime@4.1.0: {} - minimatch@10.2.6: - dependencies: - brace-expansion: 5.0.9 - minimatch@5.1.9: dependencies: brace-expansion: 2.1.4 @@ -7072,8 +6944,6 @@ snapshots: property-information@7.2.0: {} - punycode.js@2.3.1: {} - punycode@2.3.1: {} pure-rand@8.4.2: {} @@ -7443,19 +7313,6 @@ snapshots: '@turbo/windows-64': 2.10.5 '@turbo/windows-arm64': 2.10.5 - typedoc-plugin-markdown@4.12.0(typedoc@0.28.20(typescript@5.9.3)): - dependencies: - typedoc: 0.28.20(typescript@5.9.3) - - typedoc@0.28.20(typescript@5.9.3): - dependencies: - '@gerrit0/mini-shiki': 3.23.0 - lunr: 2.3.9 - markdown-it: 14.3.0 - minimatch: 10.2.6 - typescript: 5.9.3 - yaml: 2.9.0 - typescript@5.9.3: {} typescript@7.0.2: @@ -7481,8 +7338,6 @@ snapshots: '@typescript/typescript-win32-arm64': 7.0.2 '@typescript/typescript-win32-x64': 7.0.2 - uc.micro@2.1.0: {} - undici-types@7.18.2: {} undici@8.10.0: {}