{"$schema":"https://doc-kit.nodejs.org/schemas/api-doc/1.0.1.json","id":"configuration","path":"/configuration","type":"module","module":"configuration","title":"Configuration","introducedIn":null,"sourceLink":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"A configuration file holds everything `doc-kit generate` needs: the targets\nto build, where your sources are, and options for each generator, including\nthe ones no CLI flag covers, such as Markdown plugins and presets. With one in\nplace, `npx doc-kit generate` needs no flags at all. This page documents where\ndoc-kit finds the file, every key it takes, and how it combines with presets\nand flags.\n\nThe smallest configuration names the generators to run and the files to read.\ndoc-kit needs both, from the file or from flags:\n\n```mjs displayName=\"doc-kit.config.mjs\"\nexport default {\n  target: ['html'],\n  global: {\n    input: ['docs/**/*.md'],\n    output: 'out',\n  },\n};\n```\n\n```yaml displayName=\".doc-kitrc.yml\"\ntarget:\n  - html\nglobal:\n  input:\n    - 'docs/**/*.md'\n  output: out\n```\n\n```json displayName=\"package.json\"\n{\n  \"name\": \"my-library\",\n  \"doc-kit\": {\n    \"target\": [\"html\"],\n    \"global\": {\n      \"input\": [\"docs/**/*.md\"],\n      \"output\": \"out\"\n    }\n  }\n}\n```","summary":"A configuration file holds everything `doc-kit generate` needs: the targets to build, where your sources are, and options for each generator, including the ones no CLI flag covers, such as Markdown plugins and presets. With one in place, `npx doc-kit generate` needs no flags at all. This page documents where doc-kit finds the file, every key it takes, and how it combines with presets and flags.","examples":[{"language":"mjs","displayName":"doc-kit.config.mjs","code":"export default {\n  target: ['html'],\n  global: {\n    input: ['docs/**/*.md'],\n    output: 'out',\n  },\n};"},{"language":"yaml","displayName":".doc-kitrc.yml","code":"target:\n  - html\nglobal:\n  input:\n    - 'docs/**/*.md'\n  output: out"},{"language":"json","displayName":"package.json","code":"{\n  \"name\": \"my-library\",\n  \"doc-kit\": {\n    \"target\": [\"html\"],\n    \"global\": {\n      \"input\": [\"docs/**/*.md\"],\n      \"output\": \"out\"\n    }\n  }\n}"}],"children":[{"kind":"section","id":"where-configuration-lives","name":"Where configuration lives","title":"Where configuration lives","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"doc-kit looks for configuration in the working directory with\n[cosmiconfig](https://github.com/cosmiconfig/cosmiconfig). It takes the first\nof these it finds, and doesn't look in parent directories:\n\n1. A `doc-kit` key in `package.json`.\n2. `.doc-kitrc`, which holds YAML or JSON, or `.doc-kitrc` with a `.json`,\n   `.yaml`, `.yml`, `.js`, `.ts`, `.cjs`, or `.mjs` extension.\n3. The same files in a `.config/` directory, without the leading dot, such as\n   `.config/doc-kitrc.json`.\n4. `doc-kit.config.js`, `.ts`, `.cjs`, or `.mjs`.\n\nTo skip the search, pass `--config-file <path>` to load one file, relative to\nthe working directory.\n\nJavaScript files default-export the configuration (or assign it to\n`module.exports`). TypeScript files work the same way: Node.js strips their\ntypes as it loads them, so they can use type annotations and other erasable\nsyntax, but not features such as enums. JSON and YAML files hold the object\ndirectly.\n\n> \\[!IMPORTANT]\n> Paths in your configuration, such as `input`, `output`, and generator\n> options like `templatePath`, are relative to the working directory, not to\n> the configuration file. The exceptions are `extends` and Markdown plugins,\n> which resolve from the file that lists them. To run doc-kit from another\n> directory with `--config-file`, make the paths absolute, for example with\n> `import.meta.dirname`.","summary":"doc-kit looks for configuration in the working directory with cosmiconfig. It takes the first of these it finds, and doesn't look in parent directories:","examples":[],"children":[]},{"kind":"section","id":"a-complete-example","name":"A complete example","title":"A complete example","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"```mjs displayName=\"doc-kit.config.mjs\"\n/** @type {import('@doc-kit/core/utils/configuration/types').Configuration} */\nexport default {\n  // The generators to run\n  target: ['html', 'orama-db', 'sitemap'],\n\n  // Options every generator shares\n  global: {\n    project: 'My Library',\n    version: '2.1.0',\n    repository: 'my-org/my-library',\n    baseURL: 'https://my-library.dev/docs',\n    input: ['docs/**/*.md'],\n    ignore: ['docs/drafts/**'],\n    output: 'out',\n    minify: true,\n  },\n\n  // How the work is spread across threads\n  threads: 2,\n\n  // Options of one generator, under its name\n  html: {\n    title: '{project} {version} docs',\n  },\n\n  metadata: {\n    typeMap: 'docs/type-map.json',\n  },\n};\n```\n\nThe configuration object takes these top-level keys:\n\n| Key                                | What it holds                          | Reference                               |\n| ---------------------------------- | -------------------------------------- | --------------------------------------- |\n| `target`                           | The generators to run                  | [Targets](#targets)                     |\n| `global`                           | Options every generator shares         | [Global options](#global-options)       |\n| `threads`, `chunkSize`             | How the work is spread across threads  | [Execution options](#execution-options) |\n| A generator's name, such as `html` | Options of that generator alone        | [Generator options](#generator-options) |\n| `extends`                          | Presets your configuration builds upon | [Extending presets](#extending-presets) |","summary":"The configuration object takes these top-level keys:","examples":[{"language":"mjs","displayName":"doc-kit.config.mjs","code":"/** @type {import('@doc-kit/core/utils/configuration/types').Configuration} */\nexport default {\n  // The generators to run\n  target: ['html', 'orama-db', 'sitemap'],\n\n  // Options every generator shares\n  global: {\n    project: 'My Library',\n    version: '2.1.0',\n    repository: 'my-org/my-library',\n    baseURL: 'https://my-library.dev/docs',\n    input: ['docs/**/*.md'],\n    ignore: ['docs/drafts/**'],\n    output: 'out',\n    minify: true,\n  },\n\n  // How the work is spread across threads\n  threads: 2,\n\n  // Options of one generator, under its name\n  html: {\n    title: '{project} {version} docs',\n  },\n\n  metadata: {\n    typeMap: 'docs/type-map.json',\n  },\n};"}],"children":[]},{"kind":"section","id":"targets","name":"Targets","title":"Targets","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"* `target` {string | string[]} The generators to run: built-in names, such as\n  `html`, `orama-db`, or `json` (see the\n  [generators overview](./generators.html)), or the import specifier or path of\n  a [custom generator](./creating-generators.html). A path must be absolute or\n  start with `.`, and resolves against the working directory. The stages a\n  target depends on run without being listed.","summary":"","examples":[],"children":[]},{"kind":"section","id":"global-options","name":"Global options","title":"Global options","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"Options under `global` apply to every generator. A generator's own section\ncan override any of them for that generator alone; see\n[Generator options](#generator-options).\n\n* `input` {string[]} Glob patterns of the files to read: Markdown and MDX, and\n  `.js` files for generators that parse JavaScript. Always an array, even for\n  a single pattern. Required, here or with `--input`.\n* `ignore` {string | string[]} Glob patterns of files to leave out of `input`.\n* `output` {string} Directory to write to.\n* `project` {string} The project's name, used in titles, logos, and templated\n  text. **Default:** the `name` in the working directory's `package.json`, or\n  `'API Docs'`.\n* `version` {string} Version of the project being documented, coerced to\n  semver, so `'2'` means `2.0.0`. **Default:** the version of Node.js running\n  doc-kit.\n* `repository` {string} GitHub repository as `owner/name`, used for source\n  links and the repository link in the site's navigation bar. Without one,\n  that link is left out.\n* `ref` {string} Git branch, tag, or commit that links into the repository\n  point to, such as edit links. The site's source links follow `jsx-ast.ref`\n  instead, which defaults to `'main'` (see [Precedence](#precedence)).\n  **Default:** `'HEAD'`.\n* `baseURL` {string} URL the docs are published at, without a trailing slash,\n  such as `'https://my-library.dev/docs'`. Generators build absolute URLs from\n  it, such as those in the sitemap and `llms.txt`. It must be a string: the\n  configuration is copied to worker threads, which can't receive a `URL`\n  object.\n* `minify` {boolean} Minify the output where the generator supports it, such\n  as HTML pages, JSON files, and the search index. **Default:** `false`.\n* `changelog` {string | Array} Release history for the site's version selector:\n  the path or URL of a changelog in the format of Node.js's `CHANGELOG.md`, or,\n  in a JavaScript file, an array of `{ version, isLts, isCurrent }` entries\n  with `SemVer` versions. See\n  [Publishing several versions](./publishing.html#publishing-several-versions).\n  **Default:** `[]`, which builds a single version without a selector.\n* `index` {string | Array} The path or URL of an `index.md` whose links\n  (`* [Title](file.md)`) set the order of the documents in the JSON bundle,\n  or, in a JavaScript file, the parsed list of `{ section, api }` objects.\n* `pathsToCopy` {Array} Files and directories the `html` generator copies into\n  the output directory. A string copies that path under its own name; an\n  object maps source paths to destinations inside the output, such as\n  `{ 'docs/images': 'images' }`. Paths that don't exist are skipped.\n  **Default:** `['assets', 'public', 'static']`.\n* `markdown` {Object} Markdown plugins for every generator that processes\n  Markdown. See [Markdown plugins](#markdown-plugins).","summary":"Options under `global` apply to every generator. A generator's own section can override any of them for that generator alone; see Generator options.","examples":[],"children":[]},{"kind":"section","id":"execution-options","name":"Execution options","title":"Execution options","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"These sit at the top level, next to `target` and `global`:\n\n* `threads` {number} Worker threads to process with, at least 1. With `1`,\n  everything runs on the main thread. **Default:** the number of CPUs, up to\n  4 (`1` on riscv64).\n* `chunkSize` {number} Items each worker processes per task, at least 1.\n  **Default:** `10`.\n\nEach worker's heap is limited to 512 MB. If a build runs out of memory, lower\n`threads`, or raise the limit by running Node.js with `--max-old-space-size`,\ndirectly or through `NODE_OPTIONS`.","summary":"These sit at the top level, next to `target` and `global`:","examples":[],"children":[]},{"kind":"section","id":"generator-options","name":"Generator options","title":"Generator options","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"Each generator reads its options from the section named after it, which for\nbuilt-in generators is the target name. Every generator's reference page\nlists its options:\n\n| Section            | Its own options                                                                                                       | Reference                                                                         |\n| ------------------ | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |\n| `html`             | `title`, `pageURL`, `editURL`, `navigation`, `head`, `stylesheets`, `imports`, `components`, `templatePath`, and more | [Website](./generators/html.html), [Customizing the site](./customization.html)   |\n| `section-pages`    | `maxDepth`, `exclude`                                                                                                 | [Section pages](./generators/section-pages.html)                                  |\n| `sitemap`          | `indexURL`, `pageURL`                                                                                                 | [Sitemap](./generators/sitemap.html)                                              |\n| `llms-txt`         | `templatePath`, `pageURL`                                                                                             | [llms.txt](./generators/llms-txt.html)                                            |\n| `llms-txt-full`    | `pageURL`                                                                                                             | [llms-full.txt](./generators/llms-txt.html#llms-fulltxt)                          |\n| `json`, `json-all` | `schemaURL`                                                                                                           | [JSON](./generators/json.html), [JSON bundle](./generators/json.html#json-bundle) |\n| `metadata`         | `typeMap`                                                                                                             | [API entries](./generators/metadata.html)                                         |\n| `jsx-ast`          | `ref`, `generateNotFoundPage`, `showReadingTime`                                                                      | [Page JSX](./generators/jsx-ast.html)                                             |\n| `man-page`         | `fileName`, `templatePath`, `cliOptionsHeaderSlug`, `envVarsHeaderSlug`                                               | [Man page](./generators/man-page.html)                                            |\n| `api-links`        | `sourceURL`                                                                                                           | [API links](./generators/api-links.html)                                          |\n\n`metadata.typeMap`, in the complete example above, is a JSON file mapping type\nnames to the URLs documenting them, such as\n`{ \"MyThing\": \"https://example.com/my-thing\" }`.\n\nA section also takes any global option, which then applies to that generator\nalone. Its `markdown` is the exception: it adds to `global.markdown` instead\nof replacing it.\n\n```mjs displayName=\"doc-kit.config.mjs\"\nexport default {\n  global: {\n    minify: true,\n  },\n\n  // Keep the search index readable\n  'orama-db': {\n    minify: false,\n  },\n};\n```\n\nSeveral options are templates: `{name}` is replaced by the configuration value\nof that name, such as `{project}`, `{version}`, or `{baseURL}`, and\n`{name|fallback}` uses `fallback` when the value isn't set. Each generator's\npage lists the placeholders it adds, such as `{path}`.","summary":"Each generator reads its options from the section named after it, which for built-in generators is the target name. Every generator's reference page lists its options:","examples":[{"language":"mjs","displayName":"doc-kit.config.mjs","code":"export default {\n  global: {\n    minify: true,\n  },\n\n  // Keep the search index readable\n  'orama-db': {\n    minify: false,\n  },\n};"}],"children":[]},{"kind":"section","id":"markdown-plugins","name":"Markdown plugins","title":"Markdown plugins","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"doc-kit processes Markdown with [unified](https://unifiedjs.com/).\n`global.markdown` adds plugins to every generator that processes Markdown,\nand a generator's own `markdown` adds plugins to that generator alone, after\nthe global ones:\n\n```mjs displayName=\"doc-kit.config.mjs\"\nexport default {\n  global: {\n    markdown: {\n      remarkPlugins: ['remark-math'],\n    },\n  },\n\n  // The generator rendering the site's pages\n  'jsx-ast': {\n    markdown: {\n      rehypePlugins: [\n        'rehype-katex',\n        ['./plugins/rehype-callouts.mjs', { theme: 'neutral' }],\n      ],\n    },\n  },\n};\n```\n\n`markdown` takes three lists, one for each kind of syntax tree:\n\n* `remarkPlugins` {Array} Plugins run on Markdown syntax trees.\n* `rehypePlugins` {Array} Plugins run on HTML syntax trees.\n* `recmaPlugins` {Array} Plugins run on JavaScript syntax trees.\n\nEach entry is a module specifier (a package name, or a path relative to the\nfile that lists it), alone or in a `[specifier, options]` pair. The module\ndefault-exports the plugin, a list of plugins, or a unified preset. It can\ninstead export an async `load` function that takes the options and returns\nthe plugin, for setup a plugin can't do itself.\n\nMarkdown is processed in worker threads, which import the plugins\nthemselves. Entries must therefore be specifiers, not imported functions, and\noptions must be plain data. To pass a plugin options that include functions,\nconfigure it in a module of your own and list that module.","summary":"doc-kit processes Markdown with unified. `global.markdown` adds plugins to every generator that processes Markdown, and a generator's own `markdown` adds plugins to that generator alone, after the global ones:","examples":[{"language":"mjs","displayName":"doc-kit.config.mjs","code":"export default {\n  global: {\n    markdown: {\n      remarkPlugins: ['remark-math'],\n    },\n  },\n\n  // The generator rendering the site's pages\n  'jsx-ast': {\n    markdown: {\n      rehypePlugins: [\n        'rehype-katex',\n        ['./plugins/rehype-callouts.mjs', { theme: 'neutral' }],\n      ],\n    },\n  },\n};"}],"children":[{"kind":"section","id":"where-plugins-run","name":"Where plugins run","title":"Where plugins run","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"A generator only takes the lists its pipeline has a place for:\n\n| Generator                           | `remarkPlugins`                                        | `rehypePlugins`                                | `recmaPlugins`                                 |\n| ----------------------------------- | ------------------------------------------------------ | ---------------------------------------------- | ---------------------------------------------- |\n| `ast`                               | Global and its own, run on each document once parsed   | No                                             | No                                             |\n| `metadata`, `json`, `llms-txt-full` | Global and its own, to parse and serialize Markdown    | No                                             | No                                             |\n| `jsx-ast`                           | Its own only, run on each page before alerts are built | Global and its own, before code is highlighted | Global and its own, before the code is printed |\n\nGlobal remark plugins run on each document as `ast` parses it, so every\noutput sees their changes. The generators that parse or serialize Markdown\nagain load them too, so syntax extensions such as `remark-math` work there.\n`jsx-ast` doesn't run them a second time.\n\nPlugins listed for a generator that doesn't take them, such as\n`html.markdown`, are ignored with a warning.\n\nA generator runs each plugin once. Listing a plugin it already has, as one of\nits own or a global one, configures that plugin instead of adding it again:\nthe options merge, with arrays added together and objects merged key by key.\n\nThe plugins configured for `jsx-ast` don't apply to the fragments it renders\non their own: types, the descriptions in typed lists, and change history\nnotes.","summary":"A generator only takes the lists its pipeline has a place for:","examples":[],"children":[]},{"kind":"section","id":"code-highlighting","name":"Code highlighting","title":"Code highlighting","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"`jsx-ast` highlights code with the `@doc-kit/core/plugins/shiki/rehype.mjs`\nplugin, which runs [Shiki](https://shiki.style/) with every language Shiki\nbundles, loading each one the first time code uses it. Code in a language it\ndoesn't know is shown as plain text.\n\nTo configure it, list it with options in `jsx-ast.markdown.rehypePlugins`.\nSince `jsx-ast` already has the plugin, your options merge into it rather\nthan adding a second highlighter. With pnpm, add `@doc-kit/core` to your\ndependencies so that your configuration file can resolve it.\n\n* `langs` {Array} More languages: grammars, or modules default-exporting a\n  grammar or a list of them.\n* `langAlias` {Object} More names for languages, such as `{ conf: 'ini' }`.\n* `themes` {Object} The themes code is shown in. **Default:**\n  `github-light-default` and a higher-contrast `nord`.\n  * `light` {string | Object} The light theme: the name of a theme Shiki\n    bundles, a module default-exporting a theme, or a theme.\n  * `dark` {string | Object} The dark theme, in the same forms.\n* `transformers` {Array} Modules default-exporting\n  [Shiki transformers](https://shiki.style/guide/transformers), or lists of\n  them.\n\nThe modules in these options are paths relative to the working directory, or\nURLs, such as the ones `import.meta.resolve()` returns:\n\n```mjs displayName=\"doc-kit.config.mjs\"\nexport default {\n  'jsx-ast': {\n    markdown: {\n      rehypePlugins: [\n        [\n          '@doc-kit/core/plugins/shiki/rehype.mjs',\n          {\n            langAlias: { conf: 'ini' },\n            themes: { light: 'github-light', dark: 'github-dark' },\n            transformers: [import.meta.resolve('./shiki-transformers.mjs')],\n          },\n        ],\n      ],\n    },\n  },\n};\n```","summary":"`jsx-ast` highlights code with the `@doc-kit/core/plugins/shiki/rehype.mjs` plugin, which runs Shiki with every language Shiki bundles, loading each one the first time code uses it. Code in a language it doesn't know is shown as plain text.","examples":[{"language":"mjs","displayName":"doc-kit.config.mjs","code":"export default {\n  'jsx-ast': {\n    markdown: {\n      rehypePlugins: [\n        [\n          '@doc-kit/core/plugins/shiki/rehype.mjs',\n          {\n            langAlias: { conf: 'ini' },\n            themes: { light: 'github-light', dark: 'github-dark' },\n            transformers: [import.meta.resolve('./shiki-transformers.mjs')],\n          },\n        ],\n      ],\n    },\n  },\n};"}],"children":[]}]},{"kind":"section","id":"extending-presets","name":"Extending presets","title":"Extending presets","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"* `extends` {string | string[]} Presets to build your configuration on. A preset\n  is a JavaScript module whose default export is a configuration object, so a\n  team can share one as a package. Each entry is an import specifier or a path\n  relative to the configuration file. Later presets win over earlier ones, and\n  your own values win over all of them.\n\n```mjs displayName=\"doc-kit.config.mjs\"\nexport default {\n  // Build the docs the way nodejs.org does: branding, URL layouts, and\n  // release history included\n  extends: '@node-core/doc-kit/config',\n\n  global: {\n    input: ['doc/api/*.md'],\n    output: 'out',\n  },\n\n  html: {\n    // Your own values win over the preset's\n    title: '{project} {version} API reference',\n  },\n};\n```\n\nMarkdown plugins in a preset resolve from the preset's own file. A preset's\nown `extends` isn't followed.\n\nThe built-in defaults are project-neutral: no repository, site URL, release\nhistory, or branding is assumed. The `@node-core/doc-kit/config` preset, from\nthe [`@node-core/doc-kit`](./packages/node.html) package, opts back into\neverything Node.js-specific; install that package to use it.","summary":"Markdown plugins in a preset resolve from the preset's own file. A preset's own `extends` isn't followed.","examples":[{"language":"mjs","displayName":"doc-kit.config.mjs","code":"export default {\n  // Build the docs the way nodejs.org does: branding, URL layouts, and\n  // release history included\n  extends: '@node-core/doc-kit/config',\n\n  global: {\n    input: ['doc/api/*.md'],\n    output: 'out',\n  },\n\n  html: {\n    // Your own values win over the preset's\n    title: '{project} {version} API reference',\n  },\n};"}],"children":[]},{"kind":"section","id":"precedence","name":"Precedence","title":"Precedence","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"When more than one source sets a value, the first of these wins:\n\n1. CLI flags.\n2. The configuration file.\n3. Presets from `extends`, later ones first.\n4. Built-in defaults.\n\nObjects merge key by key. Arrays and other values replace the value beneath\nthem instead of adding to it, so `--input` replaces the configured `input`,\nand a file's `global.markdown.remarkPlugins` replaces a preset's list.\n\nEach generator then reads its own section and takes from `global` only the\nkeys that section doesn't set. A generator's built-in defaults count as set:\n`jsx-ast` defaults `ref` to `'main'`, so the site's source links point at\n`main` unless you set `jsx-ast.ref`, whatever `global.ref` or `--git-ref`\nsays.","summary":"When more than one source sets a value, the first of these wins:","examples":[],"children":[]},{"kind":"section","id":"cli-flags","name":"CLI flags","title":"CLI flags","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"Each [`doc-kit generate`](./cli.html#doc-kit-generate) flag sets one\nconfiguration key, and wins over the file. `--config-file` picks the file\nitself, and has no key.\n\n| Flag                          | Configuration key  |\n| ----------------------------- | ------------------ |\n| `-t, --target <generator...>` | `target`           |\n| `-i, --input <patterns...>`   | `global.input`     |\n| `--ignore <patterns...>`      | `global.ignore`    |\n| `-o, --output <directory>`    | `global.output`    |\n| `-v, --version <semver>`      | `global.version`   |\n| `--git-ref <ref>`             | `global.ref`       |\n| `-c, --changelog <url>`       | `global.changelog` |\n| `--index <url>`               | `global.index`     |\n| `--minify`                    | `global.minify`    |\n| `--type-map <url>`            | `metadata.typeMap` |\n| `-p, --threads <number>`      | `threads`          |\n| `--chunk-size <number>`       | `chunkSize`        |","summary":"Each `doc-kit generate` flag sets one configuration key, and wins over the file. `--config-file` picks the file itself, and has no key.","examples":[],"children":[]}]}