diff --git a/packages/puppeteer-core/src/api/Page.ts b/packages/puppeteer-core/src/api/Page.ts index d363fbf4ce9..6e2dd21d84f 100644 --- a/packages/puppeteer-core/src/api/Page.ts +++ b/packages/puppeteer-core/src/api/Page.ts @@ -2116,18 +2116,9 @@ export class Page extends EventEmitter { return; } - try { - const fs = await importFSPromises(); + const fs = await importFSPromises(); - await fs.writeFile(path, buffer); - } catch (error) { - if (error instanceof TypeError) { - throw new Error( - 'Can only pass a file path in a Node-like environment.' - ); - } - throw error; - } + await fs.writeFile(path, buffer); } /** diff --git a/packages/puppeteer-core/src/common/Frame.ts b/packages/puppeteer-core/src/common/Frame.ts index e3125eb5c11..962b85c622c 100644 --- a/packages/puppeteer-core/src/common/Frame.ts +++ b/packages/puppeteer-core/src/common/Frame.ts @@ -883,17 +883,7 @@ export class Frame { } if (path) { - let fs: typeof import('fs/promises'); - try { - fs = await importFSPromises(); - } catch (error) { - if (error instanceof TypeError) { - throw new Error( - 'Can only pass a file path in a Node-like environment.' - ); - } - throw error; - } + const fs = await importFSPromises(); content = await fs.readFile(path, 'utf8'); content += '/*# sourceURL=' + path.replace(/\n/g, '') + '*/'; diff --git a/packages/puppeteer-core/src/common/util.ts b/packages/puppeteer-core/src/common/util.ts index 200b559f787..9ec69b2f5f4 100644 --- a/packages/puppeteer-core/src/common/util.ts +++ b/packages/puppeteer-core/src/common/util.ts @@ -369,7 +369,16 @@ export async function importFSPromises(): Promise< typeof import('fs/promises') > { if (!fs) { - fs = await import('fs/promises'); + try { + fs = await import('fs/promises'); + } catch (error) { + if (error instanceof TypeError) { + throw new Error( + 'Cannot write to a path outside of a Node-like environment.' + ); + } + throw error; + } } return fs; } @@ -383,17 +392,7 @@ export async function getReadableAsBuffer( ): Promise { const buffers = []; if (path) { - let fs: typeof import('fs/promises'); - try { - fs = await importFSPromises(); - } catch (error) { - if (error instanceof TypeError) { - throw new Error( - 'Cannot write to a path outside of a Node-like environment.' - ); - } - throw error; - } + const fs = await importFSPromises(); const fileHandle = await fs.open(path, 'w+'); for await (const chunk of readable) { buffers.push(chunk);