From b31ebc71af93e2d67718a616f1d5036b37e6c495 Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Fri, 12 Sep 2025 08:45:26 -0700 Subject: [PATCH 1/3] Fix docgen script to clean out package temp folders first --- scripts/docgen/docgen.ts | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/scripts/docgen/docgen.ts b/scripts/docgen/docgen.ts index af105ef65f6..b6b0432d4ab 100644 --- a/scripts/docgen/docgen.ts +++ b/scripts/docgen/docgen.ts @@ -198,7 +198,19 @@ async function generateDocs( `"mainEntryPointFilePath": "/dist/esm/index.doc.d.ts"` ); + // TODO: Throw error if path doesn't exist once all packages add markdown support. + const apiJsonDirectories = ( + await mapWorkspaceToPackages([`${projectRoot}/packages/*`]) + ) + .map(path => `${path}/temp`) + .filter(path => fs.existsSync(path) && !path.includes('-compat')); + try { + console.log(`Deleting old temp directories in each package.`); + for (const dir of apiJsonDirectories) { + fs.rmSync(dir, { recursive: true, force: true }); + } + fs.writeFileSync( `${projectRoot}/packages/auth/api-extractor.json`, authApiConfigModified @@ -247,13 +259,6 @@ async function generateDocs( fs.mkdirSync(tmpDir); - // TODO: Throw error if path doesn't exist once all packages add markdown support. - const apiJsonDirectories = ( - await mapWorkspaceToPackages([`${projectRoot}/packages/*`]) - ) - .map(path => `${path}/temp`) - .filter(path => fs.existsSync(path)); - for (const dir of apiJsonDirectories) { const paths = await new Promise(resolve => glob(`${dir}/*.api.json`, (err, paths) => { From c64f173408265cdcd7d0a94ba41014bbbdcacb40 Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Tue, 16 Sep 2025 15:33:27 -0700 Subject: [PATCH 2/3] Fix for compat --- scripts/docgen/docgen.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/scripts/docgen/docgen.ts b/scripts/docgen/docgen.ts index b6b0432d4ab..01009fc77b5 100644 --- a/scripts/docgen/docgen.ts +++ b/scripts/docgen/docgen.ts @@ -201,14 +201,14 @@ async function generateDocs( // TODO: Throw error if path doesn't exist once all packages add markdown support. const apiJsonDirectories = ( await mapWorkspaceToPackages([`${projectRoot}/packages/*`]) - ) - .map(path => `${path}/temp`) - .filter(path => fs.existsSync(path) && !path.includes('-compat')); + ).filter( + path => fs.existsSync(join(path, 'temp')) && !path.includes('-compat') + ); try { console.log(`Deleting old temp directories in each package.`); for (const dir of apiJsonDirectories) { - fs.rmSync(dir, { recursive: true, force: true }); + fs.rmSync(join(dir, 'temp'), { recursive: true, force: true }); } fs.writeFileSync( @@ -260,15 +260,16 @@ async function generateDocs( fs.mkdirSync(tmpDir); for (const dir of apiJsonDirectories) { + const pkgTmpDir = join(dir, 'temp'); const paths = await new Promise(resolve => - glob(`${dir}/*.api.json`, (err, paths) => { + glob(`${pkgTmpDir}/*.api.json`, (err, paths) => { if (err) throw err; resolve(paths); }) ); if (paths.length === 0) { - throw Error(`*.api.json file is missing in ${dir}`); + throw Error(`*.api.json file is missing in ${pkgTmpDir}`); } // there will be only 1 api.json file From 5f28cb99a49cd0e9d35b0de2e69649c85bfbc51d Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Tue, 16 Sep 2025 16:04:19 -0700 Subject: [PATCH 3/3] Use separate patterns for delete and copy dirs --- scripts/docgen/docgen.ts | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/scripts/docgen/docgen.ts b/scripts/docgen/docgen.ts index 01009fc77b5..26045f84711 100644 --- a/scripts/docgen/docgen.ts +++ b/scripts/docgen/docgen.ts @@ -198,16 +198,16 @@ async function generateDocs( `"mainEntryPointFilePath": "/dist/esm/index.doc.d.ts"` ); - // TODO: Throw error if path doesn't exist once all packages add markdown support. - const apiJsonDirectories = ( + /** + * Exclude compat as this script is only for modular docgen. + */ + const packageDirectories = ( await mapWorkspaceToPackages([`${projectRoot}/packages/*`]) - ).filter( - path => fs.existsSync(join(path, 'temp')) && !path.includes('-compat') - ); + ).filter(path => fs.existsSync(path) && !path.includes('-compat')); try { console.log(`Deleting old temp directories in each package.`); - for (const dir of apiJsonDirectories) { + for (const dir of packageDirectories) { fs.rmSync(join(dir, 'temp'), { recursive: true, force: true }); } @@ -259,17 +259,19 @@ async function generateDocs( fs.mkdirSync(tmpDir); + const apiJsonDirectories = packageDirectories + .map(path => join(path, 'temp')) + .filter(path => fs.existsSync(path)); for (const dir of apiJsonDirectories) { - const pkgTmpDir = join(dir, 'temp'); const paths = await new Promise(resolve => - glob(`${pkgTmpDir}/*.api.json`, (err, paths) => { + glob(`${dir}/*.api.json`, (err, paths) => { if (err) throw err; resolve(paths); }) ); if (paths.length === 0) { - throw Error(`*.api.json file is missing in ${pkgTmpDir}`); + throw Error(`*.api.json file is missing in ${dir}`); } // there will be only 1 api.json file