From edf63e822a76c21824c1d0cb4f152de6e752bebb Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 11:51:11 +0530 Subject: [PATCH 01/16] Rename tools/api-docs to tools/docs --- tools/{api-docs => docs}/are-api-docs-unstaged.js | 0 tools/{api-docs => docs}/gen-block-lib-list.js | 0 .../gen-components-docs/get-subcomponent-descriptions.mjs | 0 .../gen-components-docs/get-tags-from-storybook.mjs | 0 tools/{api-docs => docs}/gen-components-docs/index.mjs | 0 tools/{api-docs => docs}/gen-components-docs/markdown/index.mjs | 0 tools/{api-docs => docs}/gen-components-docs/markdown/props.mjs | 0 tools/{api-docs => docs}/gen-theme-reference.mjs | 0 tools/{api-docs => docs}/package.json | 0 tools/{api-docs => docs}/update-api-docs.js | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename tools/{api-docs => docs}/are-api-docs-unstaged.js (100%) rename tools/{api-docs => docs}/gen-block-lib-list.js (100%) rename tools/{api-docs => docs}/gen-components-docs/get-subcomponent-descriptions.mjs (100%) rename tools/{api-docs => docs}/gen-components-docs/get-tags-from-storybook.mjs (100%) rename tools/{api-docs => docs}/gen-components-docs/index.mjs (100%) rename tools/{api-docs => docs}/gen-components-docs/markdown/index.mjs (100%) rename tools/{api-docs => docs}/gen-components-docs/markdown/props.mjs (100%) rename tools/{api-docs => docs}/gen-theme-reference.mjs (100%) rename tools/{api-docs => docs}/package.json (100%) rename tools/{api-docs => docs}/update-api-docs.js (100%) diff --git a/tools/api-docs/are-api-docs-unstaged.js b/tools/docs/are-api-docs-unstaged.js similarity index 100% rename from tools/api-docs/are-api-docs-unstaged.js rename to tools/docs/are-api-docs-unstaged.js diff --git a/tools/api-docs/gen-block-lib-list.js b/tools/docs/gen-block-lib-list.js similarity index 100% rename from tools/api-docs/gen-block-lib-list.js rename to tools/docs/gen-block-lib-list.js diff --git a/tools/api-docs/gen-components-docs/get-subcomponent-descriptions.mjs b/tools/docs/gen-components-docs/get-subcomponent-descriptions.mjs similarity index 100% rename from tools/api-docs/gen-components-docs/get-subcomponent-descriptions.mjs rename to tools/docs/gen-components-docs/get-subcomponent-descriptions.mjs diff --git a/tools/api-docs/gen-components-docs/get-tags-from-storybook.mjs b/tools/docs/gen-components-docs/get-tags-from-storybook.mjs similarity index 100% rename from tools/api-docs/gen-components-docs/get-tags-from-storybook.mjs rename to tools/docs/gen-components-docs/get-tags-from-storybook.mjs diff --git a/tools/api-docs/gen-components-docs/index.mjs b/tools/docs/gen-components-docs/index.mjs similarity index 100% rename from tools/api-docs/gen-components-docs/index.mjs rename to tools/docs/gen-components-docs/index.mjs diff --git a/tools/api-docs/gen-components-docs/markdown/index.mjs b/tools/docs/gen-components-docs/markdown/index.mjs similarity index 100% rename from tools/api-docs/gen-components-docs/markdown/index.mjs rename to tools/docs/gen-components-docs/markdown/index.mjs diff --git a/tools/api-docs/gen-components-docs/markdown/props.mjs b/tools/docs/gen-components-docs/markdown/props.mjs similarity index 100% rename from tools/api-docs/gen-components-docs/markdown/props.mjs rename to tools/docs/gen-components-docs/markdown/props.mjs diff --git a/tools/api-docs/gen-theme-reference.mjs b/tools/docs/gen-theme-reference.mjs similarity index 100% rename from tools/api-docs/gen-theme-reference.mjs rename to tools/docs/gen-theme-reference.mjs diff --git a/tools/api-docs/package.json b/tools/docs/package.json similarity index 100% rename from tools/api-docs/package.json rename to tools/docs/package.json diff --git a/tools/api-docs/update-api-docs.js b/tools/docs/update-api-docs.js similarity index 100% rename from tools/api-docs/update-api-docs.js rename to tools/docs/update-api-docs.js From cc844b944e48f5e0e40bd75cad736cf5d97826ac Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 11:53:31 +0530 Subject: [PATCH 02/16] Update tools/docs package.json metadata --- tools/docs/package.json | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/docs/package.json b/tools/docs/package.json index 80868e62223af1..69493bc8f80abc 100644 --- a/tools/docs/package.json +++ b/tools/docs/package.json @@ -1,26 +1,27 @@ { - "name": "@wordpress/api-docs-generator", + "name": "@wordpress/docs-tools", "version": "0.0.0", - "description": "Tools for generating Gutenberg API documentation.", + "description": "Tools for generating Gutenberg documentation.", "private": true, "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "wordpress", "gutenberg", - "api-docs" + "docs" ], - "homepage": "https://github.com/WordPress/gutenberg/tree/HEAD/tools/api-docs", + "homepage": "https://github.com/WordPress/gutenberg/tree/HEAD/tools/docs", "repository": { "type": "git", "url": "git+https://github.com/WordPress/gutenberg.git", - "directory": "tools/api-docs" + "directory": "tools/docs" }, "bugs": { "url": "https://github.com/WordPress/gutenberg/issues" }, "devDependencies": { "@apidevtools/json-schema-ref-parser": "^11.6.4", + "change-case": "4.1.2", "@babel/core": "^7.25.7", "chalk": "^4.1.1", "comment-parser": "^1.1.1", @@ -34,6 +35,7 @@ "access": "public" }, "scripts": { + "docs:gen": "node ./gen-manifest.cjs", "docs:api-ref": "node ./update-api-docs.js", "docs:blocks": "node ./gen-block-lib-list.js", "docs:components": "node ./gen-components-docs/index.mjs", From bebf098d16e9e88a66d0964858fb78f6be6fbce6 Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 12:08:47 +0530 Subject: [PATCH 03/16] Move docs/tool into tools/docs workspace --- docs/tool/index.js => tools/docs/gen-manifest.cjs | 0 docs/tool/manifest.js => tools/docs/manifest.cjs | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename docs/tool/index.js => tools/docs/gen-manifest.cjs (100%) rename docs/tool/manifest.js => tools/docs/manifest.cjs (100%) diff --git a/docs/tool/index.js b/tools/docs/gen-manifest.cjs similarity index 100% rename from docs/tool/index.js rename to tools/docs/gen-manifest.cjs diff --git a/docs/tool/manifest.js b/tools/docs/manifest.cjs similarity index 100% rename from docs/tool/manifest.js rename to tools/docs/manifest.cjs From 4b7b8712c3f3c771041410cd606aed24317a6d4b Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 12:11:33 +0530 Subject: [PATCH 04/16] Fix paths in tools/docs/manifest.cjs after relocation --- tools/docs/manifest.cjs | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/tools/docs/manifest.cjs b/tools/docs/manifest.cjs index 17f126cfedbee7..7870906999cde8 100644 --- a/tools/docs/manifest.cjs +++ b/tools/docs/manifest.cjs @@ -6,10 +6,12 @@ const { pascalCase } = require( 'change-case' ); const fs = require( 'fs' ); const glob = require( 'glob' ).sync; -const { join } = require( 'path' ); +const { join, resolve } = require( 'path' ); +const ROOT_DIR = resolve( __dirname, '../..' ); const baseRepoUrl = '..'; const componentPaths = glob( 'packages/components/src/*/**/README.md', { + cwd: ROOT_DIR, // Don't expose documentation for mobile only and private components just yet. ignore: [ '**/src/mobile/**/README.md', @@ -21,11 +23,11 @@ const componentPaths = glob( 'packages/components/src/*/**/README.md', { 'packages/components/src/badge/README.md', ], } ); -const packagePaths = glob( 'packages/*/package.json' ) +const packagePaths = glob( 'packages/*/package.json', { cwd: ROOT_DIR } ) .filter( // Ignore private packages. ( fileName ) => - ! require( join( __dirname, '..', '..', fileName ) ).private + ! require( join( ROOT_DIR, fileName ) ).private ) .map( ( fileName ) => fileName.split( '/' )[ 1 ] ); @@ -41,14 +43,7 @@ function getPackageManifest( packageFolderNames ) { const path = `${ baseRepoUrl }/packages/${ folderName }/README.md`; const tocPath = `${ baseRepoUrl }/packages/${ folderName }/docs/toc.json`; const packageJson = require( - join( - __dirname, - '..', - '..', - 'packages', - folderName, - 'package.json' - ) + join( ROOT_DIR, 'packages', folderName, 'package.json' ) ); // First add any README files to the TOC @@ -60,8 +55,8 @@ function getPackageManifest( packageFolderNames ) { } ); // Next add any items in the docs/toc.json if found. - if ( fs.existsSync( join( __dirname, '..', tocPath ) ) ) { - const toc = require( join( __dirname, '..', tocPath ) ).values(); + if ( fs.existsSync( join( ROOT_DIR, tocPath ) ) ) { + const toc = require( join( ROOT_DIR, tocPath ) ).values(); manifest.push( ...toc ); } return manifest; @@ -112,7 +107,7 @@ function generateRootManifestFromTOCItems( items, parent = null ) { } } let title = pascalCase( slug ); - const markdownSource = fs.readFileSync( fileName, 'utf8' ); + const markdownSource = fs.readFileSync( join( ROOT_DIR, fileName ), 'utf8' ); const titleMarkdown = markdownSource.match( /^#\s(.+)$/m ); if ( titleMarkdown ) { title = titleMarkdown[ 1 ]; From f3db308c90b290e7a6277b57626de3c1d9cb5280 Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 12:12:40 +0530 Subject: [PATCH 05/16] Fix I/O paths in tools/docs/gen-manifest.cjs --- tools/docs/gen-manifest.cjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/docs/gen-manifest.cjs b/tools/docs/gen-manifest.cjs index 7f28c110d41416..ff8470903c3097 100644 --- a/tools/docs/gen-manifest.cjs +++ b/tools/docs/gen-manifest.cjs @@ -9,8 +9,8 @@ const path = require( 'path' ); */ const { getRootManifest } = require( './manifest' ); -const tocFileInput = path.resolve( __dirname, '../toc.json' ); -const manifestOutput = path.resolve( __dirname, '../manifest.json' ); +const tocFileInput = path.resolve( __dirname, '../../docs/toc.json' ); +const manifestOutput = path.resolve( __dirname, '../../docs/manifest.json' ); // Process TOC file and generate manifest handbook. fs.writeFileSync( From fa45ae1862daff6c6121ec9e07e655d7025e0e56 Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 12:15:17 +0530 Subject: [PATCH 06/16] Update root package.json scripts and lint-staged config --- package.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 14d9bd7f505d90..14c098c81adf0b 100644 --- a/package.json +++ b/package.json @@ -104,13 +104,13 @@ "component-usage-stats": "node ./node_modules/react-scanner/bin/react-scanner -c ./react-scanner.config.js", "dev": "npm run --workspace @wordpress/build-scripts dev --", "distclean": "git clean --force -d -X", - "docs:api-ref": "npm run --workspace @wordpress/api-docs-generator docs:api-ref", - "docs:blocks": "npm run --workspace @wordpress/api-docs-generator docs:blocks", + "docs:api-ref": "npm run --workspace @wordpress/docs-tools docs:api-ref", + "docs:blocks": "npm run --workspace @wordpress/docs-tools docs:blocks", "docs:build": "npm-run-all docs:components docs:gen docs:blocks docs:api-ref docs:theme-ref", - "docs:check-api-docs-unstaged": "node ./tools/api-docs/are-api-docs-unstaged.js", - "docs:components": "npm run --workspace @wordpress/api-docs-generator docs:components", - "docs:gen": "node ./docs/tool/index.js", - "docs:theme-ref": "npm run --workspace tools/api-docs docs:theme-ref", + "docs:check-api-docs-unstaged": "node ./tools/docs/are-api-docs-unstaged.js", + "docs:components": "npm run --workspace @wordpress/docs-tools docs:components", + "docs:gen": "npm run --workspace @wordpress/docs-tools docs:gen", + "docs:theme-ref": "npm run --workspace tools/docs docs:theme-ref", "env": "wp-env", "fixtures:clean": "rimraf --glob \"test/integration/fixtures/blocks/*.{json,serialized.html}\"", "fixtures:generate": "cross-env GENERATE_MISSING_FIXTURES=y npm run test:unit -- test/integration/full-content/ && npm run format test/integration/fixtures/blocks/*.json", @@ -205,14 +205,14 @@ "packages/*/package.json": [ "wp-scripts lint-pkg-json" ], - "{docs/{toc.json,tool/*.js},packages/{*/README.md,components/src/*/**/README.md}}": [ - "node ./docs/tool/index.js" + "{docs/toc.json,tools/docs/*.cjs,packages/{*/README.md,components/src/*/**/README.md}}": [ + "npm run docs:gen" ], "packages/**/*.{js,ts,tsx,json}": [ "npm run docs:api-ref", "npm run docs:blocks", "npm run docs:theme-ref", - "node ./tools/api-docs/are-api-docs-unstaged.js" + "node ./tools/docs/are-api-docs-unstaged.js" ], "packages/icons/src/library/*": [ "npm run -w packages/icons build" From a18f83f863b8f3d7bd102e6507262a7a769e6847 Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 12:16:54 +0530 Subject: [PATCH 07/16] Remove change-case from root devDependencies --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 14c098c81adf0b..051ec6d38758d3 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,6 @@ "babel-jest": "29.7.0", "babel-loader": "9.2.1", "babel-plugin-inline-json-import": "0.3.2", - "change-case": "4.1.2", "concurrently": "3.5.0", "cross-env": "7.0.3", "css-loader": "^6.2.0", From 6933d82a37d49eaa1d2aea981fc0e8e6ddbd5c98 Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 12:17:19 +0530 Subject: [PATCH 08/16] Remove /docs/tool entry from CODEOWNERS --- .github/CODEOWNERS | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5c21980f7372a3..59958bc68a3594 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -55,7 +55,6 @@ # Tooling /bin @ntwb @nerrad @ajitbohra /bin/api-docs @ntwb @nerrad @ajitbohra -/docs/tool @ajitbohra /packages/babel-plugin-import-jsx-pragma @ntwb @nerrad @ajitbohra /packages/babel-plugin-makepot @ntwb @nerrad @ajitbohra /packages/babel-preset-default @ntwb @nerrad @ajitbohra From cc4bf0e6749603e578a864ff840059208f354a96 Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 12:21:11 +0530 Subject: [PATCH 09/16] =?UTF-8?q?Update=20folder-structure.md=20for=20docs?= =?UTF-8?q?/tool=20=E2=86=92=20tools/docs=20move?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/contributors/folder-structure.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/contributors/folder-structure.md b/docs/contributors/folder-structure.md index 03c0b496fa67e2..9ed7688ddd588e 100644 --- a/docs/contributors/folder-structure.md +++ b/docs/contributors/folder-structure.md @@ -68,8 +68,8 @@ The following snippet explains how the Gutenberg repository is structured omitti ├── tools/release │ CLI tool used to perform the Gutenberg plugin release and the npm releases as well. │ - ├── docs/tool - │ Tool used to generate the Block editor handbook's markdown pages. + ├── tools/docs + │ Tools for generating Gutenberg documentation (manifest generator, API docs, block library list, component docs, theme reference). │ ├── docs/*.md │ Set of documentation pages composing the [Block editor handbook](https://developer.wordpress.org/block-editor/). From d0b1741e4e231d6246bc9bf730f63618a9e8a13e Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 14:15:46 +0530 Subject: [PATCH 10/16] Regenerate package-lock.json --- package-lock.json | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 866c1be78218c2..7ea08b83b4e06f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,6 @@ "babel-jest": "29.7.0", "babel-loader": "9.2.1", "babel-plugin-inline-json-import": "0.3.2", - "change-case": "4.1.2", "concurrently": "3.5.0", "cross-env": "7.0.3", "css-loader": "^6.2.0", @@ -20626,10 +20625,6 @@ "resolved": "packages/annotations", "link": true }, - "node_modules/@wordpress/api-docs-generator": { - "resolved": "tools/api-docs", - "link": true - }, "node_modules/@wordpress/api-fetch": { "resolved": "packages/api-fetch", "link": true @@ -20794,6 +20789,10 @@ "resolved": "packages/docgen", "link": true }, + "node_modules/@wordpress/docs-tools": { + "resolved": "tools/docs", + "link": true + }, "node_modules/@wordpress/dom": { "resolved": "packages/dom", "link": true @@ -64966,6 +64965,7 @@ "tools/api-docs": { "name": "@wordpress/api-docs-generator", "version": "0.0.0", + "extraneous": true, "license": "GPL-2.0-or-later", "devDependencies": { "@apidevtools/json-schema-ref-parser": "^11.6.4", @@ -64994,6 +64994,23 @@ "source-map": "^0.6.1" } }, + "tools/docs": { + "name": "@wordpress/docs-tools", + "version": "0.0.0", + "license": "GPL-2.0-or-later", + "devDependencies": { + "@apidevtools/json-schema-ref-parser": "^11.6.4", + "@babel/core": "^7.25.7", + "chalk": "^4.1.1", + "change-case": "4.1.2", + "comment-parser": "^1.1.1", + "execa": "^4.0.2", + "fast-glob": "^3.2.7", + "glob": "^7.1.2", + "json2md": "^2.0.1", + "react-docgen-typescript": "^2.2.2" + } + }, "tools/eslint": { "name": "@wordpress/eslint-tools", "version": "1.0.0", From 81eae979301d218868b7b2b7bf4ae7549d2fbd1f Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 1 Jun 2026 14:19:54 +0530 Subject: [PATCH 11/16] Fix manifest.cjs toc.json path lookup in getPackageManifest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `tocPath` starts with `..` (from `baseRepoUrl`), so joining it directly with `ROOT_DIR` resolved above the repo root. Construct the `toc.json` file path explicitly from `ROOT_DIR` + `packages/…/docs/toc.json` instead. Also fix explicit `.cjs` extension in gen-manifest.cjs require (Node does not auto-resolve `.cjs`). --- tools/docs/gen-manifest.cjs | 2 +- tools/docs/manifest.cjs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/docs/gen-manifest.cjs b/tools/docs/gen-manifest.cjs index ff8470903c3097..ca4a29eadba492 100644 --- a/tools/docs/gen-manifest.cjs +++ b/tools/docs/gen-manifest.cjs @@ -7,7 +7,7 @@ const path = require( 'path' ); /** * Internal dependencies */ -const { getRootManifest } = require( './manifest' ); +const { getRootManifest } = require( './manifest.cjs' ); const tocFileInput = path.resolve( __dirname, '../../docs/toc.json' ); const manifestOutput = path.resolve( __dirname, '../../docs/manifest.json' ); diff --git a/tools/docs/manifest.cjs b/tools/docs/manifest.cjs index 7870906999cde8..b235d56c9fa284 100644 --- a/tools/docs/manifest.cjs +++ b/tools/docs/manifest.cjs @@ -55,8 +55,9 @@ function getPackageManifest( packageFolderNames ) { } ); // Next add any items in the docs/toc.json if found. - if ( fs.existsSync( join( ROOT_DIR, tocPath ) ) ) { - const toc = require( join( ROOT_DIR, tocPath ) ).values(); + const tocFilePath = join( ROOT_DIR, 'packages', folderName, 'docs', 'toc.json' ); + if ( fs.existsSync( tocFilePath ) ) { + const toc = require( tocFilePath ).values(); manifest.push( ...toc ); } return manifest; From 2a59e366394da17d27ef12c2f2bed108385af51a Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Tue, 2 Jun 2026 10:32:22 +0530 Subject: [PATCH 12/16] Fix remaining tools/api-docs references in folder-structure.md and lockfile --- docs/contributors/folder-structure.md | 7 ++----- package-lock.json | 17 ----------------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/docs/contributors/folder-structure.md b/docs/contributors/folder-structure.md index 9ed7688ddd588e..33fea30c6a8642 100644 --- a/docs/contributors/folder-structure.md +++ b/docs/contributors/folder-structure.md @@ -59,8 +59,8 @@ The following snippet explains how the Gutenberg repository is structured omitti ├── .github/* │ Config of the different GitHub features (issues and PR templates, CI, owners). │ - ├── tools/api-docs - │ Tool/script used to generate the API Docs. + ├── tools/docs + │ Tools for generating Gutenberg documentation (manifest generator, API docs, block library list, component docs, theme reference). │ ├── tools/build-scripts │ Build orchestration scripts for the Gutenberg monorepo (@wordpress/build-scripts). @@ -68,9 +68,6 @@ The following snippet explains how the Gutenberg repository is structured omitti ├── tools/release │ CLI tool used to perform the Gutenberg plugin release and the npm releases as well. │ - ├── tools/docs - │ Tools for generating Gutenberg documentation (manifest generator, API docs, block library list, component docs, theme reference). - │ ├── docs/*.md │ Set of documentation pages composing the [Block editor handbook](https://developer.wordpress.org/block-editor/). │ diff --git a/package-lock.json b/package-lock.json index 7ea08b83b4e06f..dd87f55690bb7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64962,23 +64962,6 @@ "timezone-mock": "^1.3.6" } }, - "tools/api-docs": { - "name": "@wordpress/api-docs-generator", - "version": "0.0.0", - "extraneous": true, - "license": "GPL-2.0-or-later", - "devDependencies": { - "@apidevtools/json-schema-ref-parser": "^11.6.4", - "@babel/core": "^7.25.7", - "chalk": "^4.1.1", - "comment-parser": "^1.1.1", - "execa": "^4.0.2", - "fast-glob": "^3.2.7", - "glob": "^7.1.2", - "json2md": "^2.0.1", - "react-docgen-typescript": "^2.2.2" - } - }, "tools/build-scripts": { "name": "@wordpress/build-scripts", "version": "0.0.0", From 2f78ba7282f9ebc412b8221477c879a6888577a0 Mon Sep 17 00:00:00 2001 From: Manzoor Wani Date: Tue, 2 Jun 2026 12:15:31 +0530 Subject: [PATCH 13/16] Tools: sort devDependencies in @wordpress/docs-tools alphabetically --- tools/docs/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docs/package.json b/tools/docs/package.json index 69493bc8f80abc..0b9c600289f7ba 100644 --- a/tools/docs/package.json +++ b/tools/docs/package.json @@ -21,9 +21,9 @@ }, "devDependencies": { "@apidevtools/json-schema-ref-parser": "^11.6.4", - "change-case": "4.1.2", "@babel/core": "^7.25.7", "chalk": "^4.1.1", + "change-case": "4.1.2", "comment-parser": "^1.1.1", "execa": "^4.0.2", "fast-glob": "^3.2.7", From b37b7c779af9ec30e8ca62794121528913d37ae7 Mon Sep 17 00:00:00 2001 From: Manzoor Wani Date: Tue, 2 Jun 2026 12:16:36 +0530 Subject: [PATCH 14/16] Tools: run docs:* scripts via workspace name and forward options Use the @wordpress/docs-tools workspace name for docs:theme-ref (matching the other docs:* scripts) and append the -- option terminator so options can be passed through to the underlying workspace scripts. --- package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 051ec6d38758d3..651f618ca44c89 100644 --- a/package.json +++ b/package.json @@ -103,13 +103,13 @@ "component-usage-stats": "node ./node_modules/react-scanner/bin/react-scanner -c ./react-scanner.config.js", "dev": "npm run --workspace @wordpress/build-scripts dev --", "distclean": "git clean --force -d -X", - "docs:api-ref": "npm run --workspace @wordpress/docs-tools docs:api-ref", - "docs:blocks": "npm run --workspace @wordpress/docs-tools docs:blocks", + "docs:api-ref": "npm run --workspace @wordpress/docs-tools docs:api-ref --", + "docs:blocks": "npm run --workspace @wordpress/docs-tools docs:blocks --", "docs:build": "npm-run-all docs:components docs:gen docs:blocks docs:api-ref docs:theme-ref", "docs:check-api-docs-unstaged": "node ./tools/docs/are-api-docs-unstaged.js", - "docs:components": "npm run --workspace @wordpress/docs-tools docs:components", - "docs:gen": "npm run --workspace @wordpress/docs-tools docs:gen", - "docs:theme-ref": "npm run --workspace tools/docs docs:theme-ref", + "docs:components": "npm run --workspace @wordpress/docs-tools docs:components --", + "docs:gen": "npm run --workspace @wordpress/docs-tools docs:gen --", + "docs:theme-ref": "npm run --workspace @wordpress/docs-tools docs:theme-ref --", "env": "wp-env", "fixtures:clean": "rimraf --glob \"test/integration/fixtures/blocks/*.{json,serialized.html}\"", "fixtures:generate": "cross-env GENERATE_MISSING_FIXTURES=y npm run test:unit -- test/integration/full-content/ && npm run format test/integration/fixtures/blocks/*.json", From 57e5188b01bb22fa0672d1793a33c78bc769dc4e Mon Sep 17 00:00:00 2001 From: Manzoor Wani Date: Tue, 2 Jun 2026 12:18:06 +0530 Subject: [PATCH 15/16] Tools: run docs:check-api-docs-unstaged via the docs-tools workspace Expose docs:check-api-docs-unstaged as a @wordpress/docs-tools workspace script and delegate to it from the root script and lint-staged, replacing the relative node invocation that #77019 missed. Since npm runs a workspace script with its cwd set to the package directory, anchor are-api-docs-unstaged.js to the repository root (ROOT_DIR) so the git diff lookup and README reads resolve correctly. Also sort the lint-staged command list alphabetically. --- package.json | 4 ++-- tools/docs/are-api-docs-unstaged.js | 10 +++++++--- tools/docs/package.json | 1 + 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 651f618ca44c89..e05bf8fb3c6203 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "docs:api-ref": "npm run --workspace @wordpress/docs-tools docs:api-ref --", "docs:blocks": "npm run --workspace @wordpress/docs-tools docs:blocks --", "docs:build": "npm-run-all docs:components docs:gen docs:blocks docs:api-ref docs:theme-ref", - "docs:check-api-docs-unstaged": "node ./tools/docs/are-api-docs-unstaged.js", + "docs:check-api-docs-unstaged": "npm run --workspace @wordpress/docs-tools docs:check-api-docs-unstaged --", "docs:components": "npm run --workspace @wordpress/docs-tools docs:components --", "docs:gen": "npm run --workspace @wordpress/docs-tools docs:gen --", "docs:theme-ref": "npm run --workspace @wordpress/docs-tools docs:theme-ref --", @@ -211,7 +211,7 @@ "npm run docs:api-ref", "npm run docs:blocks", "npm run docs:theme-ref", - "node ./tools/docs/are-api-docs-unstaged.js" + "npm run docs:check-api-docs-unstaged" ], "packages/icons/src/library/*": [ "npm run -w packages/icons build" diff --git a/tools/docs/are-api-docs-unstaged.js b/tools/docs/are-api-docs-unstaged.js index 18e0ec4fb469d0..4ab66b4f5d5789 100644 --- a/tools/docs/are-api-docs-unstaged.js +++ b/tools/docs/are-api-docs-unstaged.js @@ -3,18 +3,22 @@ /** * External dependencies */ -const { extname } = require( 'path' ); +const { extname, join, resolve } = require( 'path' ); const { readFile } = require( 'fs' ).promises; const execSync = require( 'child_process' ).execSync; const chalk = require( 'chalk' ); +const ROOT_DIR = resolve( __dirname, '../..' ); + const getUnstagedFiles = () => - execSync( 'git diff --name-only', { encoding: 'utf8' } ) + execSync( 'git diff --name-only', { encoding: 'utf8', cwd: ROOT_DIR } ) .split( '\n' ) .filter( Boolean ); const fileHasToken = async ( file ) => - ( await readFile( file, 'utf8' ) ).includes( '