From 82db5d398d7ad3d8c7cde8603d5065fbafa27ce9 Mon Sep 17 00:00:00 2001 From: avivkeller Date: Fri, 7 Aug 2026 11:56:27 -0400 Subject: [PATCH 1/4] chore: rename packages --- .changeset/legacy-kitten-package.md | 6 +++--- .changeset/plain-defaults.md | 2 +- .changeset/react-kitten-package.md | 6 +++--- CONTRIBUTING.md | 4 ++-- README.md | 2 +- docs/creating-generators.md | 2 +- docs/customization.md | 2 +- docs/generators.md | 4 ++-- package-lock.json | 16 +++++++-------- packages/core/README.md | 4 ++-- packages/core/package.json | 8 ++++---- packages/core/src/generators/index.mjs | 20 +++++++++---------- packages/legacy/README.md | 6 +++--- packages/legacy/package.json | 2 +- packages/legacy/src/legacy-html-all/index.mjs | 2 +- packages/legacy/src/legacy-json-all/index.mjs | 2 +- packages/react/README.md | 4 ++-- packages/react/package.json | 2 +- packages/react/src/html/README.md | 2 +- packages/react/src/html/index.mjs | 2 +- www/doc-kit.config.mjs | 4 ++-- www/pages/getting-started.md | 2 +- 22 files changed, 52 insertions(+), 52 deletions(-) diff --git a/.changeset/legacy-kitten-package.md b/.changeset/legacy-kitten-package.md index b38a21ca..9003bb58 100644 --- a/.changeset/legacy-kitten-package.md +++ b/.changeset/legacy-kitten-package.md @@ -1,11 +1,11 @@ --- -'@nodejs/doc-kit-generator-legacy': major +'@doc-kit/generator-legacy': major '@nodejs/doc-kit': major --- The legacy-format generators (`legacy-html`, `legacy-html-all`, `legacy-json`, and `legacy-json-all`) now live in the new -`@nodejs/doc-kit-generator-legacy` package and are loaded via import specifiers such -as `@nodejs/doc-kit-generator-legacy/legacy-html`. The corresponding +`@doc-kit/generator-legacy` package and are loaded via import specifiers such +as `@doc-kit/generator-legacy/legacy-html`. The corresponding `@nodejs/doc-kit/*` package exports have been removed. The CLI shorthand names are unchanged. diff --git a/.changeset/plain-defaults.md b/.changeset/plain-defaults.md index 56ae327b..104d40ce 100644 --- a/.changeset/plain-defaults.md +++ b/.changeset/plain-defaults.md @@ -1,6 +1,6 @@ --- '@nodejs/doc-kit': patch -'@nodejs/doc-kit-generator-react': minor +'@doc-kit/generator-react': minor --- Defaults are now project-neutral instead of Node.js-specific diff --git a/.changeset/react-kitten-package.md b/.changeset/react-kitten-package.md index 25b93ea9..0076c254 100644 --- a/.changeset/react-kitten-package.md +++ b/.changeset/react-kitten-package.md @@ -1,12 +1,12 @@ --- -'@nodejs/doc-kit-generator-react': minor +'@doc-kit/generator-react': minor '@nodejs/doc-kit': major --- The React/JSX-based generators (`html` — previously `web` —, `jsx-ast`, `llms-txt`, `sitemap`, and `orama-db`) now live in the new -`@nodejs/doc-kit-generator-react` package and are loaded via import specifiers such as -`@nodejs/doc-kit-generator-react/html`. The corresponding `@nodejs/doc-kit/*` +`@doc-kit/generator-react` package and are loaded via import specifiers such as +`@doc-kit/generator-react/html`. The corresponding `@nodejs/doc-kit/*` package exports have been removed. The `web` generator is renamed to `html`: the CLI shorthand `web` keeps working as a deprecated alias, but the configuration key is now `html` instead of `web`. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index faaf19da..8134f1a6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -78,9 +78,9 @@ holds the shared tooling (linting, formatting, tests, changesets); every published package lives under `packages/`: - `packages/core`: [`@nodejs/doc-kit`](packages/core) — the doc-kit engine and CLI -- `packages/legacy`: [`@nodejs/doc-kit-generator-legacy`](packages/legacy) — the legacy-format generators +- `packages/legacy`: [`@doc-kit/generator-legacy`](packages/legacy) — the legacy-format generators - `packages/node`: [`@node-core/doc-kit`](packages/node) — the Node.js-specific generators -- `packages/react`: [`@nodejs/doc-kit-generator-react`](packages/react) — the React/JSX-based generators +- `packages/react`: [`@doc-kit/generator-react`](packages/react) — the React/JSX-based generators Everything else at the root supports the repo rather than shipping to npm: `docs/` (the reference docs), `www/` (the documentation site), `scripts/` (build diff --git a/README.md b/README.md index b24f5c68..706d9072 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ npx doc-kit generate \ ### Redesigned -To generate [our redesigned documentation pages](https://nodejs-api-docs-tooling.vercel.app), use the `html` and `orama-db` (for search) generators. These generators live in the separate [`@nodejs/doc-kit-generator-react`](packages/react) package, which must be installed alongside this one. +To generate [our redesigned documentation pages](https://nodejs-api-docs-tooling.vercel.app), use the `html` and `orama-db` (for search) generators. These generators live in the separate [`@doc-kit/generator-react`](packages/react) package, which must be installed alongside this one. ```sh npx doc-kit generate \ diff --git a/docs/creating-generators.md b/docs/creating-generators.md index 360a3cad..da2445b4 100644 --- a/docs/creating-generators.md +++ b/docs/creating-generators.md @@ -350,7 +350,7 @@ export default { description: 'Requires all input at once', - dependsOn: '@nodejs/doc-kit-generator-react/jsx-ast', + dependsOn: '@doc-kit/generator-react/jsx-ast', generate, }; diff --git a/docs/customization.md b/docs/customization.md index 92d69b56..5a128617 100644 --- a/docs/customization.md +++ b/docs/customization.md @@ -160,7 +160,7 @@ signature parsing while keeping headings, TOC, and sidebar behavior. Vite builds the site by default, and accepts your plugins and options: ```js -import { createViteBundler } from '@nodejs/doc-kit-generator-react/html/bundlers/vite'; +import { createViteBundler } from '@doc-kit/generator-react/html/bundlers/vite'; export default { html: { diff --git a/docs/generators.md b/docs/generators.md index 10d19690..e7244d7c 100644 --- a/docs/generators.md +++ b/docs/generators.md @@ -8,7 +8,7 @@ npx doc-kit generate -t html -t orama-db -t sitemap -i "docs/**/*.md" -o out ## Built-in generators -### Web ([`@nodejs/doc-kit-generator-react`](./packages/react.md)) +### Web ([`@doc-kit/generator-react`](./packages/react.md)) | Target | Output | | -------------------------------------- | -------------------------------------------------------------------- | @@ -23,7 +23,7 @@ npx doc-kit generate -t html -t orama-db -t sitemap -i "docs/**/*.md" -o out | -------------------------------------------- | -------------------------------------------------------- | | [`json-simple`](./generators/json-simple.md) | A simplified JSON rendering of the parsed documentation. | -### Legacy ([`@nodejs/doc-kit-generator-legacy`](./packages/legacy.md)) +### Legacy ([`@doc-kit/generator-legacy`](./packages/legacy.md)) 1:1 matches for Node.js's original documentation tooling, for consumers of the classic layouts. diff --git a/package-lock.json b/package-lock.json index b88fa56f..e2457ebd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1391,11 +1391,11 @@ "resolved": "packages/core", "link": true }, - "node_modules/@nodejs/doc-kit-generator-legacy": { + "node_modules/@doc-kit/generator-legacy": { "resolved": "packages/legacy", "link": true }, - "node_modules/@nodejs/doc-kit-generator-react": { + "node_modules/@doc-kit/generator-react": { "resolved": "packages/react", "link": true }, @@ -11252,23 +11252,23 @@ }, "peerDependencies": { "@node-core/doc-kit": "^1.4.3", - "@nodejs/doc-kit-generator-legacy": "^0.0.0", - "@nodejs/doc-kit-generator-react": "^0.0.0" + "@doc-kit/generator-legacy": "^0.0.0", + "@doc-kit/generator-react": "^0.0.0" }, "peerDependenciesMeta": { "@node-core/doc-kit": { "optional": true }, - "@nodejs/doc-kit-generator-legacy": { + "@doc-kit/generator-legacy": { "optional": true }, - "@nodejs/doc-kit-generator-react": { + "@doc-kit/generator-react": { "optional": true } } }, "packages/legacy": { - "name": "@nodejs/doc-kit-generator-legacy", + "name": "@doc-kit/generator-legacy", "version": "0.0.0", "dependencies": { "@nodejs/doc-kit": "^0.0.0", @@ -11288,7 +11288,7 @@ } }, "packages/react": { - "name": "@nodejs/doc-kit-generator-react", + "name": "@doc-kit/generator-react", "version": "0.0.0", "dependencies": { "@11ty/is-land": "^5.0.1", diff --git a/packages/core/README.md b/packages/core/README.md index 341b51b2..d352700a 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -13,8 +13,8 @@ installable with `doc-kit install `: | Package | Generators | | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | -| [`@nodejs/doc-kit-generator-react`](https://www.npmjs.com/package/@nodejs/doc-kit-generator-react) | `html` (the modern site), `orama-db`, `llms-txt`, `sitemap` | -| [`@nodejs/doc-kit-generator-legacy`](https://www.npmjs.com/package/@nodejs/doc-kit-generator-legacy) | `legacy-html`, `legacy-html-all`, `legacy-json`, `legacy-json-all` | +| [`@doc-kit/generator-react`](https://www.npmjs.com/package/@doc-kit/generator-react) | `html` (the modern site), `orama-db`, `llms-txt`, `sitemap` | +| [`@doc-kit/generator-legacy`](https://www.npmjs.com/package/@doc-kit/generator-legacy) | `legacy-html`, `legacy-html-all`, `legacy-json`, `legacy-json-all` | | [`@node-core/doc-kit`](https://www.npmjs.com/package/@node-core/doc-kit) | `man-page`, `api-links`, `addon-verify` (Node.js-specific) | Custom generators load by import specifier — any module whose default export diff --git a/packages/core/package.json b/packages/core/package.json index b1367d06..4bb01670 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -73,17 +73,17 @@ }, "peerDependencies": { "@node-core/doc-kit": "^1.4.3", - "@nodejs/doc-kit-generator-legacy": "^0.0.0", - "@nodejs/doc-kit-generator-react": "^0.0.0" + "@doc-kit/generator-legacy": "^0.0.0", + "@doc-kit/generator-react": "^0.0.0" }, "peerDependenciesMeta": { "@node-core/doc-kit": { "optional": true }, - "@nodejs/doc-kit-generator-legacy": { + "@doc-kit/generator-legacy": { "optional": true }, - "@nodejs/doc-kit-generator-react": { + "@doc-kit/generator-react": { "optional": true } } diff --git a/packages/core/src/generators/index.mjs b/packages/core/src/generators/index.mjs index fbd742cd..ddb0f60b 100644 --- a/packages/core/src/generators/index.mjs +++ b/packages/core/src/generators/index.mjs @@ -11,17 +11,17 @@ */ export const publicGenerators = { 'json-simple': '@nodejs/doc-kit/json-simple', - 'legacy-html': '@nodejs/doc-kit-generator-legacy/legacy-html', - 'legacy-html-all': '@nodejs/doc-kit-generator-legacy/legacy-html-all', + 'legacy-html': '@doc-kit/generator-legacy/legacy-html', + 'legacy-html-all': '@doc-kit/generator-legacy/legacy-html-all', 'man-page': '@node-core/doc-kit/man-page', - 'legacy-json': '@nodejs/doc-kit-generator-legacy/legacy-json', - 'legacy-json-all': '@nodejs/doc-kit-generator-legacy/legacy-json-all', + 'legacy-json': '@doc-kit/generator-legacy/legacy-json', + 'legacy-json-all': '@doc-kit/generator-legacy/legacy-json-all', 'addon-verify': '@node-core/doc-kit/addon-verify', 'api-links': '@node-core/doc-kit/api-links', - 'orama-db': '@nodejs/doc-kit-generator-react/orama-db', - 'llms-txt': '@nodejs/doc-kit-generator-react/llms-txt', - sitemap: '@nodejs/doc-kit-generator-react/sitemap', - html: '@nodejs/doc-kit-generator-react/html', + 'orama-db': '@doc-kit/generator-react/orama-db', + 'llms-txt': '@doc-kit/generator-react/llms-txt', + sitemap: '@doc-kit/generator-react/sitemap', + html: '@doc-kit/generator-react/html', }; // These ones are special since they don't produce standard output, @@ -30,7 +30,7 @@ export const publicGenerators = { const internalGenerators = { ast: '@nodejs/doc-kit/ast', metadata: '@nodejs/doc-kit/metadata', - 'jsx-ast': '@nodejs/doc-kit-generator-react/jsx-ast', + 'jsx-ast': '@doc-kit/generator-react/jsx-ast', 'ast-js': '@nodejs/doc-kit/ast-js', }; @@ -38,7 +38,7 @@ const internalGenerators = { // Unlike the maps above, keys here intentionally differ from the generator's // `name` property. export const deprecatedGenerators = { - web: '@nodejs/doc-kit-generator-react/html', + web: '@doc-kit/generator-react/html', }; export const allGenerators = { diff --git a/packages/legacy/README.md b/packages/legacy/README.md index 997e840a..5babe38b 100644 --- a/packages/legacy/README.md +++ b/packages/legacy/README.md @@ -1,4 +1,4 @@ -# `@nodejs/doc-kit-generator-legacy` +# `@doc-kit/generator-legacy` The legacy-format generators for [doc-kit](https://github.com/nodejs/doc-kit): 1:1 matches for the output of Node.js's [original documentation @@ -8,7 +8,7 @@ that depend on the classic HTML and JSON layouts. ## Install ```sh -npm install --save-dev @nodejs/doc-kit @nodejs/doc-kit-generator-legacy +npm install --save-dev @nodejs/doc-kit @doc-kit/generator-legacy ``` Or let doc-kit install it for you: @@ -34,5 +34,5 @@ npx doc-kit generate -t legacy-html -t legacy-json -i "doc/api/*.md" -o out Unless you have consumers of these exact formats, prefer the modern [`html` generator](https://doc-kit.nodejs.org/generators/html) from -`@nodejs/doc-kit-generator-react`. See the +`@doc-kit/generator-react`. See the [doc-kit documentation](https://doc-kit.nodejs.org) for details. diff --git a/packages/legacy/package.json b/packages/legacy/package.json index be6f5894..31d32a70 100644 --- a/packages/legacy/package.json +++ b/packages/legacy/package.json @@ -1,5 +1,5 @@ { - "name": "@nodejs/doc-kit-generator-legacy", + "name": "@doc-kit/generator-legacy", "type": "module", "version": "0.0.0", "description": "Legacy-format generators for @nodejs/doc-kit: legacy-html, legacy-html-all, legacy-json, and legacy-json-all", diff --git a/packages/legacy/src/legacy-html-all/index.mjs b/packages/legacy/src/legacy-html-all/index.mjs index 27bb3b85..295bd539 100644 --- a/packages/legacy/src/legacy-html-all/index.mjs +++ b/packages/legacy/src/legacy-html-all/index.mjs @@ -18,7 +18,7 @@ export default { description: 'Generates the `all.html` file from the `legacy-html` generator, which includes all the modules in one single file', - dependsOn: '@nodejs/doc-kit-generator-legacy/legacy-html', + dependsOn: '@doc-kit/generator-legacy/legacy-html', defaultConfiguration: { templatePath: legacyHtml.defaultConfiguration.templatePath, diff --git a/packages/legacy/src/legacy-json-all/index.mjs b/packages/legacy/src/legacy-json-all/index.mjs index e92066dd..b388ba82 100644 --- a/packages/legacy/src/legacy-json-all/index.mjs +++ b/packages/legacy/src/legacy-json-all/index.mjs @@ -14,7 +14,7 @@ export default { description: 'Generates the `all.json` file from the `legacy-json` generator, which includes all the modules in one single file.', - dependsOn: '@nodejs/doc-kit-generator-legacy/legacy-json', + dependsOn: '@doc-kit/generator-legacy/legacy-json', defaultConfiguration: { minify: false, diff --git a/packages/react/README.md b/packages/react/README.md index e21a1fe9..316f56ce 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -1,4 +1,4 @@ -# `@nodejs/doc-kit-generator-react` +# `@doc-kit/generator-react` The modern web generators for [doc-kit](https://github.com/nodejs/doc-kit): a server-rendered, client-hydrated documentation site with search, plus the @@ -7,7 +7,7 @@ machine-readable formats that usually accompany one. ## Install ```sh -npm install --save-dev @nodejs/doc-kit @nodejs/doc-kit-generator-react +npm install --save-dev @nodejs/doc-kit @doc-kit/generator-react ``` Or let doc-kit install it for you: diff --git a/packages/react/package.json b/packages/react/package.json index 68ccf8dc..99742ce1 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,5 +1,5 @@ { - "name": "@nodejs/doc-kit-generator-react", + "name": "@doc-kit/generator-react", "type": "module", "version": "0.0.0", "description": "React/JSX-based generators for @nodejs/doc-kit: html, jsx-ast, llms-txt, sitemap, and orama-db", diff --git a/packages/react/src/html/README.md b/packages/react/src/html/README.md index ff6b95db..5dddd652 100644 --- a/packages/react/src/html/README.md +++ b/packages/react/src/html/README.md @@ -236,7 +236,7 @@ directly and pass Vite's `UserConfig` to it: ```js // doc-kit.config.mjs -import { createViteBundler } from '@nodejs/doc-kit-generator-react/html/bundlers/vite'; +import { createViteBundler } from '@doc-kit/generator-react/html/bundlers/vite'; import myVitePlugin from './my-vite-plugin.mjs'; export default { diff --git a/packages/react/src/html/index.mjs b/packages/react/src/html/index.mjs index 461e6387..8f7d77ab 100644 --- a/packages/react/src/html/index.mjs +++ b/packages/react/src/html/index.mjs @@ -28,7 +28,7 @@ export default { description: 'Generates HTML/CSS/JS bundles from JSX AST entries', - dependsOn: '@nodejs/doc-kit-generator-react/jsx-ast', + dependsOn: '@doc-kit/generator-react/jsx-ast', /** * @param {import('@nodejs/doc-kit/utils/configuration/types').Configuration} config diff --git a/www/doc-kit.config.mjs b/www/doc-kit.config.mjs index 14e3164e..31919db6 100644 --- a/www/doc-kit.config.mjs +++ b/www/doc-kit.config.mjs @@ -106,11 +106,11 @@ export default { items: [ { label: '`@nodejs/doc-kit`', link: '/packages/core' }, { - label: '`@nodejs/doc-kit-generator-react`', + label: '`@doc-kit/generator-react`', link: '/packages/react', }, { - label: '`@nodejs/doc-kit-generator-legacy`', + label: '`@doc-kit/generator-legacy`', link: '/packages/legacy', }, { label: '`@node-core/doc-kit`', link: '/packages/node' }, diff --git a/www/pages/getting-started.md b/www/pages/getting-started.md index 02996e4b..a15a340b 100644 --- a/www/pages/getting-started.md +++ b/www/pages/getting-started.md @@ -3,7 +3,7 @@ First, install doc-kit and a generator, like so: ```bash -npm install --save-dev @nodejs/doc-kit @nodejs/doc-kit-generator-react +npm install --save-dev @nodejs/doc-kit @doc-kit/generator-react ``` Then, create your configuration file set up for your project: From 301f1a6664e8080d9d800fb415bf448987f860c3 Mon Sep 17 00:00:00 2001 From: avivkeller Date: Fri, 7 Aug 2026 12:04:37 -0400 Subject: [PATCH 2/4] fixup! --- package-lock.json | 26 +++++++++++++------------- packages/core/README.md | 6 +++--- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index e2457ebd..2c5245d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -415,6 +415,14 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/@doc-kit/generator-legacy": { + "resolved": "packages/legacy", + "link": true + }, + "node_modules/@doc-kit/generator-react": { + "resolved": "packages/react", + "link": true + }, "node_modules/@emnapi/core": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", @@ -1391,14 +1399,6 @@ "resolved": "packages/core", "link": true }, - "node_modules/@doc-kit/generator-legacy": { - "resolved": "packages/legacy", - "link": true - }, - "node_modules/@doc-kit/generator-react": { - "resolved": "packages/react", - "link": true - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -11251,19 +11251,19 @@ "doc-kit": "bin/cli.mjs" }, "peerDependencies": { - "@node-core/doc-kit": "^1.4.3", "@doc-kit/generator-legacy": "^0.0.0", - "@doc-kit/generator-react": "^0.0.0" + "@doc-kit/generator-react": "^0.0.0", + "@node-core/doc-kit": "^1.4.3" }, "peerDependenciesMeta": { - "@node-core/doc-kit": { - "optional": true - }, "@doc-kit/generator-legacy": { "optional": true }, "@doc-kit/generator-react": { "optional": true + }, + "@node-core/doc-kit": { + "optional": true } } }, diff --git a/packages/core/README.md b/packages/core/README.md index d352700a..12250706 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -11,11 +11,11 @@ Output formats are provided by generators. This package ships the shared pipeline stages and `json-simple`; the rest come from companion packages, installable with `doc-kit install `: -| Package | Generators | -| ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | +| Package | Generators | +| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | | [`@doc-kit/generator-react`](https://www.npmjs.com/package/@doc-kit/generator-react) | `html` (the modern site), `orama-db`, `llms-txt`, `sitemap` | | [`@doc-kit/generator-legacy`](https://www.npmjs.com/package/@doc-kit/generator-legacy) | `legacy-html`, `legacy-html-all`, `legacy-json`, `legacy-json-all` | -| [`@node-core/doc-kit`](https://www.npmjs.com/package/@node-core/doc-kit) | `man-page`, `api-links`, `addon-verify` (Node.js-specific) | +| [`@node-core/doc-kit`](https://www.npmjs.com/package/@node-core/doc-kit) | `man-page`, `api-links`, `addon-verify` (Node.js-specific) | Custom generators load by import specifier — any module whose default export is a generator works as a `--target`. From 352f11e55321cd59f0730008cafdae4eca61cd6e Mon Sep 17 00:00:00 2001 From: avivkeller Date: Fri, 7 Aug 2026 12:35:04 -0400 Subject: [PATCH 3/4] fixup! --- .changeset/configurable-navigation.md | 2 +- .changeset/curvy-items-smile.md | 2 +- .../did-you-know-that-the-world-is-round.md | 2 +- .changeset/display-name-type-unions.md | 2 +- .changeset/doc-kit-scope-move.md | 12 ++--- .changeset/fix-relative-parent-path.md | 2 +- .changeset/legacy-kitten-package.md | 4 +- .changeset/monorepo-layout.md | 2 +- .changeset/node-kitten-package.md | 2 +- .changeset/opt-out-banners.md | 2 +- .changeset/plain-defaults.md | 2 +- .changeset/react-kitten-package.md | 4 +- .changeset/riscv64-warning-spacing.md | 2 +- .changeset/short-deprecation-links.md | 2 +- .changeset/spaced-union-types.md | 2 +- .changeset/specifier-generator-loading.md | 2 +- .changeset/swc.md | 2 +- .changeset/tidy-deprecations-smile.md | 2 +- .changeset/tidy-donuts-search.md | 2 +- .changeset/vite-web-generator.md | 2 +- .changeset/yes-i-did-know-that-thank-you.md | 2 +- .github/workflows/generate.yml | 2 +- .github/workflows/publish.yml | 2 +- CONTRIBUTING.md | 13 +++--- README.md | 12 ++--- docs/commands.md | 10 ++--- docs/comparators.md | 2 +- docs/creating-generators.md | 14 +++--- docs/generators.md | 2 +- docs/specification.md | 2 +- package-lock.json | 39 ++++++++++------ package.json | 6 +-- packages/cli/README.md | 45 +++++++++++++++++++ packages/{core => cli}/bin/cli.mjs | 6 +-- .../{core => cli}/bin/commands/generate.mjs | 10 ++--- packages/{core => cli}/bin/commands/index.mjs | 0 packages/{core => cli}/bin/utils.mjs | 2 +- packages/cli/package.json | 28 ++++++++++++ packages/core/CHANGELOG.md | 2 +- packages/core/README.md | 23 +++++----- packages/core/package.json | 12 ++--- packages/core/src/generators/index.mjs | 8 ++-- .../core/src/generators/json-simple/index.mjs | 2 +- .../core/src/generators/metadata/index.mjs | 2 +- packages/core/src/generators/types.d.ts | 2 +- packages/legacy/README.md | 2 +- packages/legacy/package.json | 4 +- .../legacy/src/legacy-html-all/generate.mjs | 6 +-- packages/legacy/src/legacy-html/generate.mjs | 10 ++--- packages/legacy/src/legacy-html/index.mjs | 4 +- packages/legacy/src/legacy-html/types.d.ts | 2 +- .../utils/__tests__/buildContent.test.mjs | 2 +- .../src/legacy-html/utils/buildContent.mjs | 20 ++++----- .../src/legacy-html/utils/buildDropdowns.mjs | 8 ++-- .../legacy-html/utils/buildExtraContent.mjs | 6 +-- .../utils/replaceTemplateValues.mjs | 4 +- .../legacy/src/legacy-html/utils/slugger.mjs | 2 +- .../src/legacy-html/utils/tableOfContents.mjs | 8 ++-- .../legacy/src/legacy-json-all/generate.mjs | 2 +- packages/legacy/src/legacy-json/generate.mjs | 6 +-- packages/legacy/src/legacy-json/index.mjs | 2 +- packages/legacy/src/legacy-json/types.d.ts | 4 +- .../src/legacy-json/utils/buildHierarchy.mjs | 4 +- .../src/legacy-json/utils/buildSection.mjs | 22 ++++----- packages/node/README.md | 2 +- packages/node/package.json | 4 +- packages/node/src/addon-verify/generate.mjs | 4 +- packages/node/src/addon-verify/index.mjs | 2 +- packages/node/src/addon-verify/types.d.ts | 2 +- .../src/api-links/__tests__/fixtures.test.mjs | 10 ++--- packages/node/src/api-links/generate.mjs | 6 +-- packages/node/src/api-links/index.mjs | 4 +- packages/node/src/config/index.mjs | 4 +- packages/node/src/man-page/generate.mjs | 8 ++-- packages/node/src/man-page/index.mjs | 2 +- packages/node/src/man-page/template.1 | 2 +- packages/node/src/man-page/types.d.ts | 2 +- .../node/src/man-page/utils/converter.mjs | 4 +- packages/react/README.md | 2 +- packages/react/package.json | 4 +- .../src/html/__tests__/generate.test.mjs | 2 +- .../src/html/bundlers/__tests__/vite.test.mjs | 2 +- packages/react/src/html/bundlers/vite.mjs | 2 +- packages/react/src/html/generate.mjs | 2 +- packages/react/src/html/index.mjs | 2 +- packages/react/src/html/types.d.ts | 2 +- packages/react/src/html/ui/types.d.ts | 4 +- .../src/html/ui/utils/relativeOrAbsolute.mjs | 2 +- .../src/html/utils/__tests__/config.test.mjs | 2 +- .../src/html/utils/__tests__/copying.test.mjs | 2 +- .../html/utils/__tests__/processing.test.mjs | 2 +- .../__tests__/relativeOrAbsolute.test.mjs | 2 +- packages/react/src/html/utils/config.mjs | 8 ++-- packages/react/src/html/utils/copying.mjs | 2 +- packages/react/src/html/utils/generate.mjs | 2 +- packages/react/src/html/utils/processing.mjs | 16 +++---- .../src/html/utils/relativeOrAbsolute.mjs | 4 +- .../src/jsx-ast/__tests__/generate.test.mjs | 2 +- packages/react/src/jsx-ast/generate.mjs | 6 +-- packages/react/src/jsx-ast/index.mjs | 2 +- packages/react/src/jsx-ast/types.d.ts | 2 +- .../utils/__tests__/buildContent.test.mjs | 2 +- .../react/src/jsx-ast/utils/buildBarProps.mjs | 10 ++--- .../react/src/jsx-ast/utils/buildContent.mjs | 32 ++++++------- .../src/jsx-ast/utils/getSortedHeadNodes.mjs | 8 ++-- .../react/src/jsx-ast/utils/overloads.mjs | 8 ++-- packages/react/src/jsx-ast/utils/remark.mjs | 6 +-- .../react/src/jsx-ast/utils/signature.mjs | 16 +++---- .../react/src/jsx-ast/utils/synthetic/all.mjs | 2 +- .../src/jsx-ast/utils/synthetic/index.mjs | 4 +- packages/react/src/jsx-ast/utils/types.mjs | 6 +-- packages/react/src/llms-txt/generate.mjs | 6 +-- packages/react/src/llms-txt/index.mjs | 2 +- packages/react/src/llms-txt/types.d.ts | 2 +- .../src/llms-txt/utils/buildApiDocLink.mjs | 10 ++--- packages/react/src/orama-db/generate.mjs | 8 ++-- packages/react/src/orama-db/index.mjs | 2 +- packages/react/src/orama-db/types.d.ts | 2 +- packages/react/src/sitemap/generate.mjs | 6 +-- packages/react/src/sitemap/index.mjs | 2 +- packages/react/src/sitemap/types.d.ts | 2 +- .../sitemap/utils/createPageSitemapEntry.mjs | 6 +-- scripts/vercel-build.sh | 2 +- scripts/vercel-docs-build.sh | 2 +- www/doc-kit.config.mjs | 3 +- www/pages/getting-started.md | 6 +-- 126 files changed, 394 insertions(+), 313 deletions(-) create mode 100644 packages/cli/README.md rename packages/{core => cli}/bin/cli.mjs (81%) rename packages/{core => cli}/bin/commands/generate.mjs (92%) rename packages/{core => cli}/bin/commands/index.mjs (100%) rename packages/{core => cli}/bin/utils.mjs (88%) create mode 100644 packages/cli/package.json diff --git a/.changeset/configurable-navigation.md b/.changeset/configurable-navigation.md index 869cdc5e..90876a5f 100644 --- a/.changeset/configurable-navigation.md +++ b/.changeset/configurable-navigation.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Add `web.navigation`, which supplies the sidebar groups (`navigation.sidebar`) diff --git a/.changeset/curvy-items-smile.md b/.changeset/curvy-items-smile.md index 7b9492b4..2c851b96 100644 --- a/.changeset/curvy-items-smile.md +++ b/.changeset/curvy-items-smile.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': minor +'@doc-kit/core': minor --- Discover and load configuration files with `cosmiconfig`. diff --git a/.changeset/did-you-know-that-the-world-is-round.md b/.changeset/did-you-know-that-the-world-is-round.md index b890a4ab..20eba00a 100644 --- a/.changeset/did-you-know-that-the-world-is-round.md +++ b/.changeset/did-you-know-that-the-world-is-round.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Close Orama search when the target link is on the same page diff --git a/.changeset/display-name-type-unions.md b/.changeset/display-name-type-unions.md index f4b2cdb1..f8687c82 100644 --- a/.changeset/display-name-type-unions.md +++ b/.changeset/display-name-type-unions.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Resolve unions and arrays of display-name types (`{HTTP/2 Headers Object | vm.Module}`, `{HTTP/2 Headers Object[]}`), and stop capturing prose such as `U+007B ({), and U+007D (}).` as a type annotation. diff --git a/.changeset/doc-kit-scope-move.md b/.changeset/doc-kit-scope-move.md index dd10cf1a..a2caef7d 100644 --- a/.changeset/doc-kit-scope-move.md +++ b/.changeset/doc-kit-scope-move.md @@ -1,8 +1,10 @@ --- -'@nodejs/doc-kit': major +'@doc-kit/core': major +'@doc-kit/cli': major --- -The doc-kit engine and CLI, previously published as `@node-core/doc-kit`, -are now published as `@nodejs/doc-kit`. The `@node-core/doc-kit` name now -contains only the Node.js-specific generators (`api-links`, `addon-verify`, -and `man-page`). +The doc-kit engine and CLI, previously published together as +`@node-core/doc-kit`, are now published as two packages: `@doc-kit/core` +(the engine) and `@doc-kit/cli` (the `doc-kit` command-line interface). +The `@node-core/doc-kit` name now contains only the Node.js-specific +generators (`api-links`, `addon-verify`, and `man-page`). diff --git a/.changeset/fix-relative-parent-path.md b/.changeset/fix-relative-parent-path.md index 7745c39b..c8d3c1e0 100644 --- a/.changeset/fix-relative-parent-path.md +++ b/.changeset/fix-relative-parent-path.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Fix `relative()` URL resolution when the target path is a prefix of the current diff --git a/.changeset/legacy-kitten-package.md b/.changeset/legacy-kitten-package.md index 9003bb58..099c9ae6 100644 --- a/.changeset/legacy-kitten-package.md +++ b/.changeset/legacy-kitten-package.md @@ -1,11 +1,11 @@ --- '@doc-kit/generator-legacy': major -'@nodejs/doc-kit': major +'@doc-kit/core': major --- The legacy-format generators (`legacy-html`, `legacy-html-all`, `legacy-json`, and `legacy-json-all`) now live in the new `@doc-kit/generator-legacy` package and are loaded via import specifiers such as `@doc-kit/generator-legacy/legacy-html`. The corresponding -`@nodejs/doc-kit/*` package exports have been removed. The CLI shorthand +`@doc-kit/core/*` package exports have been removed. The CLI shorthand names are unchanged. diff --git a/.changeset/monorepo-layout.md b/.changeset/monorepo-layout.md index 603f5bc6..fdaa6c35 100644 --- a/.changeset/monorepo-layout.md +++ b/.changeset/monorepo-layout.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Moved the package into a `packages/core` workspace. diff --git a/.changeset/node-kitten-package.md b/.changeset/node-kitten-package.md index 1fa974c2..ca0f1335 100644 --- a/.changeset/node-kitten-package.md +++ b/.changeset/node-kitten-package.md @@ -1,6 +1,6 @@ --- '@node-core/doc-kit': major -'@nodejs/doc-kit': major +'@doc-kit/core': major --- The Node.js-specific generators (`api-links`, `addon-verify`, and diff --git a/.changeset/opt-out-banners.md b/.changeset/opt-out-banners.md index 53f9497a..78a19bf0 100644 --- a/.changeset/opt-out-banners.md +++ b/.changeset/opt-out-banners.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': minor +'@doc-kit/core': minor --- Add banner opt-out diff --git a/.changeset/plain-defaults.md b/.changeset/plain-defaults.md index 104d40ce..804c0f90 100644 --- a/.changeset/plain-defaults.md +++ b/.changeset/plain-defaults.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch '@doc-kit/generator-react': minor --- diff --git a/.changeset/react-kitten-package.md b/.changeset/react-kitten-package.md index 0076c254..7caa5714 100644 --- a/.changeset/react-kitten-package.md +++ b/.changeset/react-kitten-package.md @@ -1,12 +1,12 @@ --- '@doc-kit/generator-react': minor -'@nodejs/doc-kit': major +'@doc-kit/core': major --- The React/JSX-based generators (`html` — previously `web` —, `jsx-ast`, `llms-txt`, `sitemap`, and `orama-db`) now live in the new `@doc-kit/generator-react` package and are loaded via import specifiers such as -`@doc-kit/generator-react/html`. The corresponding `@nodejs/doc-kit/*` +`@doc-kit/generator-react/html`. The corresponding `@doc-kit/core/*` package exports have been removed. The `web` generator is renamed to `html`: the CLI shorthand `web` keeps working as a deprecated alias, but the configuration key is now `html` instead of `web`. diff --git a/.changeset/riscv64-warning-spacing.md b/.changeset/riscv64-warning-spacing.md index 4b60d25e..7d1b36f7 100644 --- a/.changeset/riscv64-warning-spacing.md +++ b/.changeset/riscv64-warning-spacing.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Fix missing spaces in the riscv64 multithreading warning message, which diff --git a/.changeset/short-deprecation-links.md b/.changeset/short-deprecation-links.md index 7b38dc5c..42a130af 100644 --- a/.changeset/short-deprecation-links.md +++ b/.changeset/short-deprecation-links.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Use short `DEP` codes for deprecation heading anchors. diff --git a/.changeset/spaced-union-types.md b/.changeset/spaced-union-types.md index 1498134d..d9419214 100644 --- a/.changeset/spaced-union-types.md +++ b/.changeset/spaced-union-types.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Space union separators in type annotation values (`{string|URL}` is now rendered as `string | URL`). diff --git a/.changeset/specifier-generator-loading.md b/.changeset/specifier-generator-loading.md index e6ee7d58..00168cc8 100644 --- a/.changeset/specifier-generator-loading.md +++ b/.changeset/specifier-generator-loading.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': minor +'@doc-kit/core': minor --- Generators are now loaded dynamically by import specifier instead of a static diff --git a/.changeset/swc.md b/.changeset/swc.md index ec6c6c6e..c24f650a 100644 --- a/.changeset/swc.md +++ b/.changeset/swc.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Switches `oxc-parser` for `@swc/wasm`, since `oxc-parser` does not provide the needed bindings. diff --git a/.changeset/tidy-deprecations-smile.md b/.changeset/tidy-deprecations-smile.md index fa83f542..9b034473 100644 --- a/.changeset/tidy-deprecations-smile.md +++ b/.changeset/tidy-deprecations-smile.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Preserve deprecation codes in generated table-of-contents labels. diff --git a/.changeset/tidy-donuts-search.md b/.changeset/tidy-donuts-search.md index 30e045d4..b1f3788b 100644 --- a/.changeset/tidy-donuts-search.md +++ b/.changeset/tidy-donuts-search.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Sync the URL hash when following same-page search hits diff --git a/.changeset/vite-web-generator.md b/.changeset/vite-web-generator.md index 74f4838b..d37a0138 100644 --- a/.changeset/vite-web-generator.md +++ b/.changeset/vite-web-generator.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': minor +'@doc-kit/core': minor --- Make the `web` generator bundler-neutral through a custom adapter contract, diff --git a/.changeset/yes-i-did-know-that-thank-you.md b/.changeset/yes-i-did-know-that-thank-you.md index 370e2bef..7431cdaa 100644 --- a/.changeset/yes-i-did-know-that-thank-you.md +++ b/.changeset/yes-i-did-know-that-thank-you.md @@ -1,5 +1,5 @@ --- -'@nodejs/doc-kit': patch +'@doc-kit/core': patch --- Render markdown `code` snippets in the sidebar diff --git a/.github/workflows/generate.yml b/.github/workflows/generate.yml index 214ae5de..725fb117 100644 --- a/.github/workflows/generate.yml +++ b/.github/workflows/generate.yml @@ -149,7 +149,7 @@ jobs: /usr/bin/time \ --output out/benchmark.json \ --format '{"elapsedSeconds": %e, "userCpuSeconds": %U, "systemCpuSeconds": %S, "maxRssKiB": %M}' \ - node packages/core/bin/cli.mjs generate \ + node packages/cli/bin/cli.mjs generate \ -t ${{ matrix.target }} \ -i "${{ matrix.input }}" \ -o out \ diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 74e7ee8a..d345f0be 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -58,7 +58,7 @@ jobs: SLACK_ICON: https://github.com/nodejs.png?size=48 SLACK_TITLE: ':rocket: doc-kit Packages Published' SLACK_MESSAGE: | - :package: *Packages*: `nodejs/doc-kit` workspace () + :package: *Packages*: `nodejs/doc-kit` workspace () :bust_in_silhouette: *Published by*: ${{ github.triggering_actor }} :octocat: *Commit*: SLACK_USERNAME: nodejs-bot diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8134f1a6..f70d875e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ -# `@nodejs/doc-kit` Contributing Guide +# `doc-kit` Contributing Guide -Thank you for your interest in contributing to the `@nodejs/doc-kit` project! We welcome contributions from everyone, and we appreciate your help in making this project better. +Thank you for your interest in contributing to the `doc-kit` project! We welcome contributions from everyone, and we appreciate your help in making this project better. ## Table of Contents @@ -29,7 +29,7 @@ Thank you for your interest in contributing to the `@nodejs/doc-kit` project! We ## Getting Started -The steps below will give you a general idea of how to prepare your local environment for the `@nodejs/doc-kit` project and general steps for getting things done and landing your contribution. +The steps below will give you a general idea of how to prepare your local environment for the `doc-kit` project and general steps for getting things done and landing your contribution. ### Prerequisites @@ -77,7 +77,8 @@ This repository is an npm workspaces monorepo. The root package is private and holds the shared tooling (linting, formatting, tests, changesets); every published package lives under `packages/`: -- `packages/core`: [`@nodejs/doc-kit`](packages/core) — the doc-kit engine and CLI +- `packages/cli`: [`@doc-kit/cli`](packages/cli) — the doc-kit command-line interface +- `packages/core`: [`@doc-kit/core`](packages/core) — the doc-kit engine - `packages/legacy`: [`@doc-kit/generator-legacy`](packages/legacy) — the legacy-format generators - `packages/node`: [`@node-core/doc-kit`](packages/node) — the Node.js-specific generators - `packages/react`: [`@doc-kit/generator-react`](packages/react) — the React/JSX-based generators @@ -106,7 +107,7 @@ and comparison helpers), and `e2e/` (Playwright tests). For fast iteration during development, target a single Markdown file instead of all API docs: ```bash - node packages/core/bin/cli.mjs generate \ + node packages/cli/bin/cli.mjs generate \ -t legacy-html \ -i ../node/doc/api/fs.md \ -o out \ @@ -127,7 +128,7 @@ and comparison helpers), and `e2e/` (Playwright tests). Add `--log-level debug` before the `generate` subcommand to see the full pipeline trace: ```bash - node packages/core/bin/cli.mjs --log-level debug generate -t legacy-html -i ../node/doc/api/fs.md -o out + node packages/cli/bin/cli.mjs --log-level debug generate -t legacy-html -i ../node/doc/api/fs.md -o out ``` > [!TIP] diff --git a/README.md b/README.md index 706d9072..fcf1db36 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@

- @nodejs/doc-kit is a tool to generate API documentation of Node.js. See this issue for more information. + doc-kit is a tool to generate API documentation of Node.js. See this issue for more information.

@@ -40,11 +40,11 @@ $ npx doc-kit --help ``` ```sh -$ node packages/core/bin/cli.mjs --help +$ node packages/cli/bin/cli.mjs --help ``` ``` -Usage: @nodejs/doc-kit [options] [command] +Usage: doc-kit [options] [command] CLI tool to generate the Node.js API documentation @@ -67,7 +67,7 @@ Running `generate` without the required values exits with an error pointing you to the help output. ``` -Usage: @nodejs/doc-kit generate [options] +Usage: doc-kit generate [options] Generate API docs @@ -78,8 +78,8 @@ Options: (json-simple, legacy-html, legacy-html-all, man-page, legacy-json, legacy-json-all, addon-verify, api-links, orama-db, llms-txt, - sitemap, web) or an import specifier for a custom - generator + sitemap, html) or an import specifier for a + custom generator --ignore Ignore file patterns (glob) -o, --output The output directory -p, --threads Number of threads to use (minimum: 1) diff --git a/docs/commands.md b/docs/commands.md index 21785977..3189257b 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -24,11 +24,11 @@ Each command consists of: ### Step 1: Create the Command File -Create a new file in `packages/core/bin/commands/` with your command name: +Create a new file in `packages/cli/bin/commands/` with your command name: ```javascript -// packages/core/bin/commands/my-command.mjs -import logger from '../../src/logger/index.mjs'; +// packages/cli/bin/commands/my-command.mjs +import logger from '@doc-kit/core/logger/index.mjs'; /** * @type {import('./types').Command} @@ -53,7 +53,7 @@ export default { ### Step 2: Register the Command -Add your command to the exports in `packages/core/bin/commands/index.mjs`: +Add your command to the exports in `packages/cli/bin/commands/index.mjs`: ```javascript import generate from './generate.mjs'; @@ -67,7 +67,7 @@ export default [ ### Step 3: Update CLI Entry Point -The CLI in `packages/core/bin/cli.mjs` automatically loads commands from `packages/core/bin/commands/index.mjs`, so no changes are needed there if you followed step 2. +The CLI in `packages/cli/bin/cli.mjs` automatically loads commands from `packages/cli/bin/commands/index.mjs`, so no changes are needed there if you followed step 2. ## Command Options diff --git a/docs/comparators.md b/docs/comparators.md index 1cafcd52..435989c4 100644 --- a/docs/comparators.md +++ b/docs/comparators.md @@ -1,6 +1,6 @@ # Creating Comparators -This guide explains how to create build comparison scripts for `@nodejs/doc-kit`. Comparators help identify differences between documentation builds, useful for CI/CD and regression testing. +This guide explains how to create build comparison scripts for `@doc-kit/core`. Comparators help identify differences between documentation builds, useful for CI/CD and regression testing. ## Comparator Concepts diff --git a/docs/creating-generators.md b/docs/creating-generators.md index da2445b4..46100e85 100644 --- a/docs/creating-generators.md +++ b/docs/creating-generators.md @@ -1,6 +1,6 @@ # Creating Generators -This guide explains how to create new documentation generators for `@nodejs/doc-kit`. +This guide explains how to create new documentation generators for `@doc-kit/core`. ## Generator Concepts @@ -87,7 +87,7 @@ export default { // This generator depends on the metadata generator. Dependencies are // declared as import specifiers, so they can live in any package. - dependsOn: '@nodejs/doc-kit/metadata', + dependsOn: '@doc-kit/core/metadata', defaultConfiguration: { // If your generator supports a custom configuration, define the defaults here @@ -168,8 +168,8 @@ the import specifier it resolves to: ```javascript export const publicGenerators = { - 'json-simple': '@nodejs/doc-kit/json-simple', - 'my-format': '@nodejs/doc-kit/my-format', // Add this + 'json-simple': '@doc-kit/core/json-simple', + 'my-format': '@doc-kit/core/my-format', // Add this // ... other generators }; ``` @@ -196,7 +196,7 @@ export default { description: 'Processes data in parallel', - dependsOn: '@nodejs/doc-kit/metadata', + dependsOn: '@doc-kit/core/metadata', // Indicates this generator has a processChunk implementation hasParallelProcessor: true, @@ -291,7 +291,7 @@ export default { description: 'Streams results as they are ready', - dependsOn: '@nodejs/doc-kit/metadata', + dependsOn: '@doc-kit/core/metadata', hasParallelProcessor: true, @@ -395,7 +395,7 @@ export default { // This generator requires the metadata generator's output. The dependency // is an import specifier, so it may point at any installed package. - dependsOn: '@nodejs/doc-kit/metadata', + dependsOn: '@doc-kit/core/metadata', // ... other metadata diff --git a/docs/generators.md b/docs/generators.md index e7244d7c..624c6150 100644 --- a/docs/generators.md +++ b/docs/generators.md @@ -17,7 +17,7 @@ npx doc-kit generate -t html -t orama-db -t sitemap -i "docs/**/*.md" -o out | [`llms-txt`](./generators/llms-txt.md) | An [`llms.txt`](https://llmstxt.org/) index for language models. | | [`sitemap`](./generators/sitemap.md) | A `sitemap.xml` for search engines. | -### JSON ([`@nodejs/doc-kit`](./packages/core.md)) +### JSON ([`@doc-kit/core`](./packages/core.md)) | Target | Output | | -------------------------------------------- | -------------------------------------------------------- | diff --git a/docs/specification.md b/docs/specification.md index a1f75ad5..0b5b11c9 100644 --- a/docs/specification.md +++ b/docs/specification.md @@ -5,7 +5,7 @@ **Authored By**: Aviv Keller () This document specifies the Markdown format consumed by -[`@nodejs/doc-kit`][doc-kit]. It defines the structural, syntactic, and +[`@doc-kit/core`][doc-kit]. It defines the structural, syntactic, and semantic rules that documents MUST follow to be correctly parsed. The format is a strict superset of [GitHub Flavored Markdown][gfm] (which itself is a strict superset of [CommonMark][commonmark]), adding conventions for API diff --git a/package-lock.json b/package-lock.json index 2c5245d8..05d98aff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@nodejs/doc-kit-monorepo", + "name": "@doc-kit/core-monorepo", "version": "1.4.3", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@nodejs/doc-kit-monorepo", + "name": "@doc-kit/core-monorepo", "workspaces": [ "packages/*" ], @@ -415,6 +415,14 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/@doc-kit/cli": { + "resolved": "packages/cli", + "link": true + }, + "node_modules/@doc-kit/core": { + "resolved": "packages/core", + "link": true + }, "node_modules/@doc-kit/generator-legacy": { "resolved": "packages/legacy", "link": true @@ -1395,10 +1403,6 @@ "node": ">=20" } }, - "node_modules/@nodejs/doc-kit": { - "resolved": "packages/core", - "link": true - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -11213,8 +11217,19 @@ "url": "https://github.com/sponsors/wooorm" } }, + "packages/cli": { + "name": "@doc-kit/cli", + "version": "0.0.0", + "dependencies": { + "@doc-kit/core": "^0.0.0", + "commander": "^15.0.0" + }, + "bin": { + "doc-kit": "bin/cli.mjs" + } + }, "packages/core": { - "name": "@nodejs/doc-kit", + "name": "@doc-kit/core", "version": "0.0.0", "dependencies": { "@actions/core": "^3.0.0", @@ -11222,7 +11237,6 @@ "@swc/html-wasm": "^1.15.46", "@swc/wasm": "^1.15.46", "acorn": "^8.17.0", - "commander": "^15.0.0", "cosmiconfig": "^9.0.2", "dedent": "^1.7.2", "github-slugger": "^2.0.0", @@ -11247,9 +11261,6 @@ "unist-util-visit": "^5.1.0", "yaml": "^2.9.0" }, - "bin": { - "doc-kit": "bin/cli.mjs" - }, "peerDependencies": { "@doc-kit/generator-legacy": "^0.0.0", "@doc-kit/generator-react": "^0.0.0", @@ -11271,7 +11282,7 @@ "name": "@doc-kit/generator-legacy", "version": "0.0.0", "dependencies": { - "@nodejs/doc-kit": "^0.0.0", + "@doc-kit/core": "^0.0.0", "hastscript": "^9.0.1", "unist-builder": "^4.0.0", "unist-util-visit": "^5.1.0" @@ -11281,7 +11292,7 @@ "name": "@node-core/doc-kit", "version": "1.4.3", "dependencies": { - "@nodejs/doc-kit": "^0.0.0", + "@doc-kit/core": "^0.0.0", "dedent": "^1.7.2", "estree-util-visit": "^2.0.0", "unist-util-visit": "^5.1.0" @@ -11292,12 +11303,12 @@ "version": "0.0.0", "dependencies": { "@11ty/is-land": "^5.0.1", + "@doc-kit/core": "^0.0.0", "@fontsource-variable/open-sans": "^5.3.0", "@fontsource/ibm-plex-mono": "^5.3.0", "@heroicons/react": "^2.2.0", "@node-core/rehype-shiki": "^1.4.3", "@node-core/ui-components": "^1.7.4", - "@nodejs/doc-kit": "^0.0.0", "@orama/orama": "^3.1.18", "@orama/ui": "^1.5.4", "estree-util-to-js": "^2.0.0", diff --git a/package.json b/package.json index 5bb1e54f..85fcca92 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@nodejs/doc-kit-monorepo", + "name": "@doc-kit/core-monorepo", "private": true, "type": "module", "workspaces": [ @@ -21,8 +21,8 @@ "test:watch": "node --test --experimental-test-module-mocks --watch \"packages/*/src/**/*.test.mjs\" \"scripts/**/*.test.mjs\"", "test:e2e": "playwright test", "prepare": "husky || exit 0", - "run": "node packages/core/bin/cli.mjs", - "watch": "node --watch packages/core/bin/cli.mjs", + "run": "node packages/cli/bin/cli.mjs", + "watch": "node --watch packages/cli/bin/cli.mjs", "docs:build": "bash scripts/vercel-docs-build.sh", "changeset": "changeset", "changeset:version": "changeset version", diff --git a/packages/cli/README.md b/packages/cli/README.md new file mode 100644 index 00000000..be9f9dbf --- /dev/null +++ b/packages/cli/README.md @@ -0,0 +1,45 @@ +# `@doc-kit/cli` + +The command-line interface for [doc-kit](https://github.com/nodejs/doc-kit): +the `doc-kit` binary that runs the +[`@doc-kit/core`](https://www.npmjs.com/package/@doc-kit/core) engine to turn +API-shaped Markdown into documentation sites, JSON, man pages, and more. + +## Usage + +```sh +npx doc-kit --help +npx doc-kit generate --help +``` + +You must provide an input and at least one target through command-line +options or a configuration file. Configuration is discovered automatically +using `cosmiconfig`, or you can select a file explicitly with +`--config-file`. + +```sh +npx doc-kit generate \ + -t html \ + -i "path/to/docs/**/*.md" \ + -o out +``` + +Built-in generator names resolve to the [`@doc-kit/core` +generators](https://www.npmjs.com/package/@doc-kit/core) and its companion +generator packages, which must be installed alongside this one. Custom +generators load by import specifier — any module whose default export is a +generator works as a `--target`. + +## Contributing + +This package lives in the [nodejs/doc-kit](https://github.com/nodejs/doc-kit) +monorepo. From this directory (or the repository root with +`npm run