{"_id":"@alanizcreative/formation-docs","_rev":"4-b3c4fd39b5020a89285f7481f31da859","name":"@alanizcreative/formation-docs","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@alanizcreative/formation-docs","version":"0.0.1","keywords":["jsdoc","typescript","javascript","docs"],"author":{"url":"https://alanizcreative.com/","name":"Graciela Alaniz"},"license":"MIT","_id":"@alanizcreative/formation-docs@0.0.1","maintainers":[{"name":"alanizcreative","email":"alanizcreative@gmail.com"}],"homepage":"https://github.com/galaniz/formation-docs#readme","bugs":{"url":"https://github.com/galaniz/formation-docs/issues"},"dist":{"shasum":"82edff6a273698aa497fcc3864fcd4ede9e1f42e","tarball":"https://registry.npmjs.org/@alanizcreative/formation-docs/-/formation-docs-0.0.1.tgz","fileCount":7,"integrity":"sha512-TNEP63JHgofC4nW4SCHnXWM8Uc2QYHvyQvoYYF6AepvblnaHZutO377a4LH6IWPBywGMzfil4VY+1O/L1WSRRA==","signatures":[{"sig":"MEUCIQC3dlulqLXouJ+9/QzLYcTfF/McM98cfvQH8DR/VXTtqAIgcvKR3K/dBcFARr03JSkyh9BQgN4O6LRF45ZIIKw15Ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36720},"main":"./lib/docs.js","type":"module","types":"./lib/docs.d.ts","engines":{"node":">=22"},"exports":{"./*":{"import":"./lib/*"}},"gitHead":"1d5d4a190e25d3e6297ba0381bb3cff39fcb6dd8","scripts":{"lint":"npx eslint .","test":"vitest --run --reporter verbose --coverage","build":"npx tsc --project tsconfig.build.json && pnpm minify","minify":"find lib -name \"*.js\" -exec terser {} -o {} --compress \\;","release":"release-it"},"_npmUser":{"name":"alanizcreative","email":"alanizcreative@gmail.com"},"release-it":{"git":{"commitMessage":"chore: release ${version} [ci skip]","requireCommits":true},"github":{"release":true}},"repository":{"url":"git+https://github.com/galaniz/formation-docs.git","type":"git"},"_npmVersion":"10.9.4","description":"Utilities to generate docs from JSDoc comments in TypeScript or JavaScript files","directories":{},"_nodeVersion":"22.21.1","dependencies":{"glob":"12.0.0","shiki":"3.15.0","@shikijs/transformers":"3.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.22.0","devDependencies":{"eslint":"^9.39.1","terser":"5.44.1","vitest":"^4.0.10","jsdoc-api":"^9.3.5","release-it":"^19.0.6","typescript":"^5.9.3","@types/node":"24.10.1","typescript-eslint":"8.47.0","@vitest/coverage-v8":"^4.0.10","@typescript-eslint/parser":"8.47.0","@typescript-eslint/eslint-plugin":"8.47.0"},"_npmOperationalInternal":{"tmp":"tmp/formation-docs_0.0.1_1763840860775_0.27797379328801974","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@alanizcreative/formation-docs","version":"0.0.2","keywords":["jsdoc","typescript","javascript","docs"],"author":{"url":"https://alanizcreative.com/","name":"Graciela Alaniz"},"license":"MIT","_id":"@alanizcreative/formation-docs@0.0.2","maintainers":[{"name":"alanizcreative","email":"alanizcreative@gmail.com"}],"homepage":"https://github.com/galaniz/formation-docs#readme","bugs":{"url":"https://github.com/galaniz/formation-docs/issues"},"dist":{"shasum":"f99a2a8b928ac40273c86e77ed17369337d17a04","tarball":"https://registry.npmjs.org/@alanizcreative/formation-docs/-/formation-docs-0.0.2.tgz","fileCount":7,"integrity":"sha512-bWrNA6Q+Z6tWGJyx54JD4ibzT9hsxkg4+Tk5404VbViBg5x7Cq9rBmCAHL052Nmdq0VN6lOLuRo2SVrLvLDzPg==","signatures":[{"sig":"MEYCIQC21wAQpNjkdUvCbZUmv0nXVI51OQhobqvaXg5JZu25EAIhAPhNXLlHwkViayVaz858XYGMgIDcdynTHvgBpZYOgWWb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alanizcreative%2fformation-docs@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36851},"main":"./lib/docs.js","type":"module","types":"./lib/docs.d.ts","engines":{"node":">=22"},"exports":{"./*":{"import":"./lib/*"}},"gitHead":"80857299adf8758f93c821718e11c1c044c09824","scripts":{"lint":"npx eslint .","test":"vitest --run --reporter verbose --coverage","build":"npx tsc --project tsconfig.build.json && pnpm minify","minify":"find lib -name \"*.js\" -exec terser {} -o {} --compress \\;","release":"release-it"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1603fbf6-91db-4227-b400-a63f00520e95"}},"release-it":{"git":{"tag":true,"push":true,"commitMessage":"chore: release ${version} [ci skip]","requireCommits":true},"npm":{"publish":true,"skipChecks":true},"github":{"release":true}},"repository":{"url":"git+https://github.com/galaniz/formation-docs.git","type":"git"},"_npmVersion":"11.6.2","description":"Utilities to generate docs from JSDoc comments in TypeScript or JavaScript files","directories":{},"_nodeVersion":"24.11.1","dependencies":{"glob":"13.0.0","shiki":"3.15.0","jsdoc-api":"^9.3.5","typescript":"^5.9.3","@shikijs/transformers":"3.15.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"eslint":"^9.39.1","terser":"5.44.1","vitest":"^4.0.13","release-it":"^19.0.6","@types/node":"24.10.1","typescript-eslint":"8.47.0","@vitest/coverage-v8":"^4.0.13","@typescript-eslint/parser":"8.47.0","@typescript-eslint/eslint-plugin":"8.47.0"},"_npmOperationalInternal":{"tmp":"tmp/formation-docs_0.0.2_1763858918410_0.8333540531073553","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@alanizcreative/formation-docs","version":"0.0.3","keywords":["jsdoc","docs","typescript","javascript"],"author":{"url":"https://alanizcreative.com/","name":"Graciela Alaniz"},"license":"MIT","_id":"@alanizcreative/formation-docs@0.0.3","maintainers":[{"name":"alanizcreative","email":"alanizcreative@gmail.com"}],"homepage":"https://github.com/galaniz/formation-docs#readme","bugs":{"url":"https://github.com/galaniz/formation-docs/issues"},"dist":{"shasum":"8aee4ccf811158a455e5f1cfed6a984ee87d009f","tarball":"https://registry.npmjs.org/@alanizcreative/formation-docs/-/formation-docs-0.0.3.tgz","fileCount":7,"integrity":"sha512-ZGqMvFlKRLG/QzHOp0wMtUcKGvh0yQ11HT6uhrxuRXgtSsiiuhTwHB7+0+wNDwohZXE6d3QRrhFCydGX2TmSsw==","signatures":[{"sig":"MEUCIQD8/j75J2n1VtzWAw05sdN5907DArhOv/KPuBYIbWHZpQIgdFlhdN/G/pYrBEacQ+/41TfLE86yuM/SJ454WE9A/cw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alanizcreative%2fformation-docs@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37266},"main":"./lib/docs.js","pnpm":{"overrides":{"undici":">=7.24.0","flatted@<3.4.0":">=3.4.0","flatted@<=3.4.1":">=3.4.2","underscore@<=1.13.7":">=1.13.8","brace-expansion@<5.0.5":">=5.0.5","picomatch@>=4.0.0 <4.0.4":">=4.0.4"}},"type":"module","types":"./lib/docs.d.ts","engines":{"node":">=22"},"exports":{"./*":{"import":"./lib/*"}},"gitHead":"89c9bebe43c2087db7f67fe1d6eab18ff8d85550","scripts":{"lint":"npx eslint .","test":"vitest --run --reporter verbose --coverage","build":"npx tsc --project tsconfig.build.json && pnpm minify","minify":"find lib -name \"*.js\" -exec terser {} -o {} --compress \\;","release":"release-it"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1603fbf6-91db-4227-b400-a63f00520e95"}},"release-it":{"git":{"tag":true,"push":true,"commitMessage":"chore: release ${version} [ci skip]","requireCommits":true},"npm":{"publish":true,"skipChecks":true},"github":{"release":true}},"repository":{"url":"git+https://github.com/galaniz/formation-docs.git","type":"git"},"_npmVersion":"11.9.0","description":"Utilities to generate docs from JSDoc comments in TypeScript or JavaScript files","directories":{},"_nodeVersion":"24.14.0","dependencies":{"glob":"13.0.6","shiki":"4.0.2","jsdoc-api":"^9.3.5","typescript":"^6.0.2","@shikijs/transformers":"4.0.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"eslint":"^10.1.0","terser":"5.46.1","vitest":"^4.1.1","release-it":"^19.2.4","@types/node":"25.5.0","typescript-eslint":"8.57.2","@vitest/coverage-v8":"^4.1.1","@typescript-eslint/parser":"8.57.2","@typescript-eslint/eslint-plugin":"8.57.2"},"_npmOperationalInternal":{"tmp":"tmp/formation-docs_0.0.3_1774581532553_0.23315931673478874","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@alanizcreative/formation-docs","version":"0.0.4","description":"Utilities to generate docs from JSDoc comments in TypeScript or JavaScript files","main":"./lib/docs.js","packageManager":"pnpm@11.20.0","type":"module","exports":{"./*":{"import":"./lib/*"}},"scripts":{"build":"npx tsc --project tsconfig.build.json && pnpm minify","minify":"find lib -name \"*.js\" -exec terser {} -o {} --compress \\;","lint":"npx eslint .","test":"vitest --run --reporter verbose --coverage"},"keywords":["jsdoc","docs","typescript","javascript"],"repository":{"type":"git","url":"git+https://github.com/galaniz/formation-docs.git"},"bugs":{"url":"https://github.com/galaniz/formation-docs/issues"},"homepage":"https://github.com/galaniz/formation-docs#readme","author":{"name":"Graciela Alaniz","url":"https://alanizcreative.com/"},"license":"MIT","engines":{"node":">=22"},"dependencies":{"@shikijs/transformers":"4.4.2","glob":"13.0.6","jsdoc-api":"^9.3.6","shiki":"4.4.2","typescript":"^6.0.3"},"devDependencies":{"@types/node":"26.2.0","@typescript-eslint/eslint-plugin":"8.66.0","@typescript-eslint/parser":"8.66.0","@vitest/coverage-v8":"^4.1.10","eslint":"^10.8.1","terser":"5.49.2","typescript-eslint":"8.66.0","vitest":"^4.1.10"},"release-it":{"git":{"requireCommits":true,"commitMessage":"chore: release ${version} [ci skip]","tag":true,"push":true},"github":{"release":true},"npm":{"publish":true,"skipChecks":true}},"publishConfig":{"access":"public","provenance":true},"gitHead":"8da2b383b04d2f8862a2e14d63bac15848da5062","types":"./lib/docs.d.ts","_id":"@alanizcreative/formation-docs@0.0.4","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-apPoOBvHGxgfMkULY3DLpl2TCEvmjk6AVj2ATU2aIomDJP2azLF6yzjYxEOBO+7uksB7QyBlgJbb+6Ouh3+4KQ==","shasum":"328e408a11019d917d08b2fdb49101f439adf444","tarball":"https://registry.npmjs.org/@alanizcreative/formation-docs/-/formation-docs-0.0.4.tgz","fileCount":7,"unpackedSize":37310,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alanizcreative%2fformation-docs@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHplHEurCj+up5ZSuIeDnh0WYuVf56U544fHZeevUJTBAiEA80hKURtoFVkeC8qX0h/4E9qyplNGaBSgh+mQAXGpllg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1603fbf6-91db-4227-b400-a63f00520e95"}},"directories":{},"maintainers":[{"name":"alanizcreative","email":"alanizcreative@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/formation-docs_0.0.4_1786207824609_0.9259562049042893"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-22T19:47:40.685Z","modified":"2026-08-08T16:50:25.065Z","0.0.1":"2025-11-22T19:47:40.968Z","0.0.2":"2025-11-23T00:48:38.627Z","0.0.3":"2026-03-27T03:18:52.701Z","0.0.4":"2026-08-08T16:50:24.749Z"},"bugs":{"url":"https://github.com/galaniz/formation-docs/issues"},"author":{"name":"Graciela Alaniz","url":"https://alanizcreative.com/"},"license":"MIT","homepage":"https://github.com/galaniz/formation-docs#readme","keywords":["jsdoc","docs","typescript","javascript"],"repository":{"type":"git","url":"git+https://github.com/galaniz/formation-docs.git"},"description":"Utilities to generate docs from JSDoc comments in TypeScript or JavaScript files","maintainers":[{"name":"alanizcreative","email":"alanizcreative@gmail.com"}],"readme":"# Formation Docs  \n\nUtilities to generate Markdown or HTML documentation files from JSDoc comments in JavaScript or TypeScript files.\n\n## Installation\n\n```shell\nnpm install -D @alanizcreative/formation-docs\n```\n\n## getDocs  \n\n**<code>getDocs(args: DocsArgs): Promise&lt;DocsResult&gt;</code>**  \n\nRich text objects from source code and JSDoc explain.\n\n### Parameters  \n- **`args`** <code><a href=\"#docsargs\">DocsArgs</a></code> required\n\n### Returns  \n\n<code>Promise&lt;<a href=\"#docsresult\">DocsResult</a>&gt;</code>\n\n### Example\n\n```ts\n// src/button/button.ts\n// src/button/buttonTypes.ts\n// src/form/__tests__/form.test.ts\n// src/form/form.ts\n/**\n * Form\n *\n * @file\n * title: Form Components\n * Output form, field and option elements.\n */\nimport type { FormType } from './formTypes.js'\n/**\n * Outputs form element.\n *\n * @param {FormType} type\n * @return {string}\n */\nconst Form = (type: FormType): string => {\n  // ...\n}\n// src/form/formTypes.ts:\n/**\n * @typedef {'a'|'b'|'c'} FormType\n */\nexport type FormType = 'a' | 'b' | 'c'\n\n// =========================================================================\n\nimport { getDocs } from '@alanizcreative/formation-docs/docs.js'\n\nconst result = await getDocs({\n  include: 'src/**/*.ts',\n  exclude: 'src/**/*.test.ts',\n  docsInclude: 'src/form/**/*.ts',\n  docsExclude: 'src/**/*Types.ts'\n})\n\nresult = {\n  'src/form': {\n    content: [\n      { tag: 'h1', content: 'Form Components' },\n      { tag: 'p', content: 'Output form, field and option elements.' },\n      { tag: 'h2', content: 'Form' },\n      { tag: 'p', content: [{\n        tag: 'strong', content: [{\n          tag: 'code', content: [{\n            content: 'Form(type: FormType): string'\n          }]\n        }]}\n      ]},\n      { tag: 'p', content: 'Outputs form element.' },\n      { tag: 'h2', content: 'Parameters' },\n      { tag: 'dl', content: [{\n        tag: 'div', content: [{\n          tag: 'dt', content: [\n            { tag: 'strong', content: [{ tag: 'code', content: 'type' }]},\n            { content: ' ' },\n            { tag: 'code', content: [{\n              content: [{ tag: 'a', content: 'FormType', link: '#formtype' }]\n            }]},\n            { content: ' ' },\n            { content: 'required' }\n          ]\n        },\n        { tag: 'dd', content: [] }\n      ]}]},\n      { tag: 'h2', content: 'Returns' },\n      { tag: 'p', content: [{\n        tag: 'code', content: [{ content: 'string' }]\n      }]},\n      { tag: 'h2', content: 'Types' },\n      { tag: 'h3', content: 'FormType' },\n      { tag: 'p', content: [\n        { tag: 'strong', content: 'Type:' },\n        { content: ' ' },\n        { tag: 'code', content: [{\n          content: [{ content: '&#39;a&#39; | &#39;b&#39; | &#39;c&#39;' }]\n        }]}\n      ]}\n    ]\n  } \n}\n```\n\n## renderMarkdownDocs  \n\n**<code>renderMarkdownDocs(args: DocsArgs): Promise&lt;void&gt;</code>**  \n\nOutput normalized JSDoc data as Markdown files.\n\n### Parameters  \n- **`args`** <code><a href=\"#docsargs\">DocsArgs</a></code> required\n\n### Returns  \n\n<code>Promise&lt;void&gt;</code>\n\n### Example\n\n```js\nimport { renderMarkdownDocs } from '@alanizcreative/formation-docs/docs.js'\n\nawait renderMarkdownDocs({\n  include: 'src/**/*.ts',\n  exclude: [\n    'src/**/*.test.ts',\n    'src/**/*Mock.ts'\n  ],\n  docsInclude: 'src/form/**/*.ts',\n  docsExclude: 'src/**/*Types.ts'\n})\n\n// src/button/button.ts\n// src/button/buttonTypes.ts\n// src/form/__tests__/form.test.ts\n// src/form/form.ts\n// src/form/README.md\n// src/form/formMock.ts\n// src/form/formTypes.ts\n```\n\n## renderHtmlDocs  \n\n**<code>renderHtmlDocs(args: DocsHtmlArgs): Promise&lt;void&gt;</code>**  \n\nOutput normalized JSDoc data as HTML files.\n\n### Parameters  \n- **`args`** <code><a href=\"#docshtmlargs\">DocsHtmlArgs</a></code> required\n\n### Returns  \n\n<code>Promise&lt;void&gt;</code>\n\n### Example\n\n```js\nimport { renderHtmlDocs } from '@alanizcreative/formation-docs/docs.js'\n\nawait renderHtmlDocs({\n  outDir: 'docs',\n  include: 'src/**/*.ts',\n  exclude: 'src/**/*.test.ts',\n  docsExclude: 'src/**/*Types.ts',\n  url: 'https://docs.formation.org'\n})\n\n// src/button/button.ts\n// src/button/buttonTypes.ts\n// src/form/__tests__/form.test.ts\n// src/form/form.ts\n// src/form/formTypes.ts\n// docs/button/index.html\n// docs/form/index.html\n```\n\n## Types\n\n### DocsFilterTitle  \n\n**Type:** <code>function</code>\n\n#### Parameters  \n- **`title`** <code>string</code> required  \n- **`dir`** <code>string</code> required\n\n### DocsArgs  \n\n**Type:** <code>object</code>\n\n#### Properties  \n- **`include`** <code>string | string[]</code> required  \nGlob pattern of files to include in types.  \n- **`exclude`** <code>string | string[]</code> optional  \nGlob pattern of files to exclude from types.  \n- **`docsInclude`** <code>string | string[]</code> optional  \nGlob pattern of files to include in result.  \n- **`docsExclude`** <code>string | string[]</code> optional  \nGlob pattern of files to exclude from result.  \n- **`docsTypes`** <code>string | string[]</code> optional  \nGlob pattern of type definition files.  \n- **`srcDir`** <code>string</code> optional  \nSource directory of input files.  \nDefault: `src`  \n- **`outDir`** <code>string</code> optional  \nDirectory to write documentation files to.  \n- **`url`** <code>string</code> optional  \nRepository URL for Markdown docs or site URL for HTML docs.  \n- **`root`** <code>string</code> optional  \nComments representing root documentation page.  \n- **`filterTitle`** <code><a href=\"#docsfiltertitle\">DocsFilterTitle</a></code> optional  \nCustomize generated directory or reference titles.\n\n### DocsContent  \n\n**Type:** <code>object</code>\n\n#### Properties  \n- **`content`** <code>string | <a href=\"#docscontent\">DocsContent</a>[]</code> required  \nPlain text or nested HTML content.  \n- **`tag`** <code>string</code> optional  \nHTML element tag.  \n- **`link`** <code>string</code> optional  \nAnchor link to type definition.  \n- **`raw`** <code>boolean</code> optional  \nInsert string content as pre-rendered HTML, skipping Markdown conversion.\n\n### DocsResult  \n\n**Type:** <code>Object&lt;string, <a href=\"#docscontent\">DocsContent</a>&gt;</code>\n\n### DocsFilterAttr  \n\n**Type:** <code>function</code>\n\n#### Parameters  \n- **`attr`** <code>Object&lt;string, string&gt;</code> required  \nElement attributes as key-value pairs.  \n- **`data`** <code><a href=\"#docscontent\">DocsContent</a></code> required  \nElement tag and content.  \n- **`outerTag`** <code>string</code> required  \nParent element tag.\n\n#### Returns  \n\n<code>Object&lt;string, string&gt;</code>\n\n### DocsNavigationItem  \n\n**Type:** <code>object</code>\n\n#### Properties  \n- **`id`** <code>string</code> required  \n- **`title`** <code>string</code> required  \n- **`link`** <code>string</code> required  \n- **`children`** <code><a href=\"#docsnavigationitem\">DocsNavigationItem</a>[]</code> optional\n\n### DocsHeading  \n\n**Type:** <code>object</code>\n\n#### Properties  \n- **`id`** <code>string</code> required  \n- **`tag`** <code>string</code> required  \n- **`title`** <code>string</code> required  \n- **`children`** <code><a href=\"#docsheading\">DocsHeading</a>[]</code> optional\n\n### DocsFilterOutput  \n\n**Type:** <code>function</code>\n\n#### Parameters  \n- **`output`** <code>string</code> required  \nHTML output.  \n- **`id`** <code>string</code> required  \nKebab case of file path.  \n- **`title`** <code>string</code> required  \nFile title.  \n- **`slug`** <code>string</code> required  \nFile path as link.  \n- **`navigation`** <code><a href=\"#docsnavigationitem\">DocsNavigationItem</a>[]</code> required  \nObjects matching directory stucture in alphabetical order.  \n- **`headings`** <code><a href=\"#docsheading\">DocsHeading</a>[]</code> required  \nFile headings as nested object stucture.  \n- **`css`** <code>string</code> optional  \nCSS output by [Shiki](https://shiki.style/packages/transformers#transformerstyletoclass).\n\n#### Returns  \n\n<code>string</code>\n\n### DocsHtmlArgs  \n\n**Type:** <code>object</code>  \n\n**Augments:** <code><a href=\"#docsargs\">DocsArgs</a></code>\n\n#### Properties  \n- **`outDir`** <code>string</code> optional  \nDirectory to write documentation files to.  \nDefault: `docs`  \n- **`themes`** <code>Object&lt;string, string&gt;</code> optional  \nThemes to pass to [Shiki](https://shiki.style/) for syntax highlighting.  \n- **`classPrefix`** <code>string</code> optional  \nPrefix classes output by [Shiki Transformer](https://shiki.style/packages/transformers/).  \n- **`filterAttr`** <code><a href=\"#docsfilterattr\">DocsFilterAttr</a></code> optional  \nCustomize HTML element attributes.  \n- **`filterOutput`** <code><a href=\"#docsfilteroutput\">DocsFilterOutput</a></code> optional  \nCustomize HTML output.","readmeFilename":"README.md"}