Skip to content

Commit

Permalink
chore: remove mime dependency
Browse files Browse the repository at this point in the history
Bug: #5026, #6125
  • Loading branch information
mathiasbynens committed Sep 14, 2020
1 parent ce6ae35 commit 2912b5f
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
1 change: 0 additions & 1 deletion package.json
Expand Up @@ -49,7 +49,6 @@
"devtools-protocol": "0.0.781568",
"extract-zip": "^2.0.0",
"https-proxy-agent": "^4.0.0",
"mime": "^2.0.3",
"pkg-dir": "^4.2.0",
"progress": "^2.0.1",
"proxy-from-env": "^1.0.0",
Expand Down
26 changes: 21 additions & 5 deletions src/common/Page.ts
Expand Up @@ -17,7 +17,6 @@
import * as fs from 'fs';
import { promisify } from 'util';
import { EventEmitter } from './EventEmitter.js';
import * as mime from 'mime';
import {
Connection,
CDPSession,
Expand Down Expand Up @@ -61,6 +60,26 @@ import { PDFOptions, paperFormats } from './PDFOptions.js';

const writeFileAsync = promisify(fs.writeFile);

/**
* @param filePath - The desired screenshot file path.
* @returns The screenshot type as a string, either 'jpeg' or 'png'.
* Throws an exception for unknown JPEG/PNG file extensions.
*/
const getScreenshotType = (filePath: string) => {
const extension = filePath.slice(filePath.lastIndexOf('.') + 1).toLowerCase();
switch (extension) {
case 'png':
return 'png';
case 'jpg':
case 'jpeg':
return 'jpeg';
default:
throw new Error(
`Unsupported screenshot type for extension: \`.${extension}\``
);
}
};

/**
* @public
*/
Expand Down Expand Up @@ -1589,10 +1608,7 @@ export class Page extends EventEmitter {
);
screenshotType = options.type;
} else if (options.path) {
const mimeType = mime.getType(options.path);
if (mimeType === 'image/png') screenshotType = 'png';
else if (mimeType === 'image/jpeg') screenshotType = 'jpeg';
assert(screenshotType, 'Unsupported screenshot mime type: ' + mimeType);
screenshotType = getScreenshotType(options.path);
}

if (!screenshotType) screenshotType = 'png';
Expand Down

0 comments on commit 2912b5f

Please sign in to comment.