From 7c300870b33c9125f511ab5e437708ecb30cc485 Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Thu, 7 May 2026 15:25:04 -0700 Subject: [PATCH 1/2] chore: parse mobile-api docs (Android classes) Mirrors the electron-api split: AndroidDevice, etc. were moved to docs/src/mobile-api/ in microsoft/playwright#40644, which broke the roll because release-notes link to AndroidDevice.launchBrowser. --- src/generator.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/generator.js b/src/generator.js index 923a449580..2225cc7192 100644 --- a/src/generator.js +++ b/src/generator.js @@ -76,6 +76,7 @@ class Generator { this.documentation = parseApi(path.join(srcDir, 'api')) .mergeWith(parseApi(path.join(srcDir, 'electron-api'), path.join(srcDir, 'api', 'params.md'))) + .mergeWith(parseApi(path.join(srcDir, 'mobile-api'), path.join(srcDir, 'api', 'params.md'))) .mergeWith(parseApi(path.join(srcDir, 'test-api'), path.join(srcDir, 'api', 'params.md'))) .mergeWith(parseApi(path.join(srcDir, 'test-reporter-api'))); this.documentation.filterForLanguage(lang, { csharpOptionOverloadsShortNotation: true }); From de2592df0204f0d6d2b907bf442b4bf9615b8d01 Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Thu, 7 May 2026 15:43:13 -0700 Subject: [PATCH 2/2] chore: auto-discover *-api doc directories Replace the hardcoded list (api, electron-api, mobile-api, test-api, test-reporter-api) with a glob over srcDir for `api` and `*-api`. New sibling directories like the recently-extracted mobile-api/ are picked up automatically. --- src/generator.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/generator.js b/src/generator.js index 2225cc7192..c0a0335b08 100644 --- a/src/generator.js +++ b/src/generator.js @@ -74,11 +74,11 @@ class Generator { this.generatedFiles = new Set(); this.formatter = formatter; - this.documentation = parseApi(path.join(srcDir, 'api')) - .mergeWith(parseApi(path.join(srcDir, 'electron-api'), path.join(srcDir, 'api', 'params.md'))) - .mergeWith(parseApi(path.join(srcDir, 'mobile-api'), path.join(srcDir, 'api', 'params.md'))) - .mergeWith(parseApi(path.join(srcDir, 'test-api'), path.join(srcDir, 'api', 'params.md'))) - .mergeWith(parseApi(path.join(srcDir, 'test-reporter-api'))); + const paramsPath = path.join(srcDir, 'api', 'params.md'); + const apiDirs = fs.readdirSync(srcDir).filter(name => name === 'api' || name.endsWith('-api')); + this.documentation = apiDirs + .map(dir => parseApi(path.join(srcDir, dir), dir === 'api' ? undefined : paramsPath)) + .reduce((acc, doc) => acc.mergeWith(doc)); this.documentation.filterForLanguage(lang, { csharpOptionOverloadsShortNotation: true }); this.documentation.setLinkRenderer(item => { const { clazz, member, param, option, href } = item;