smartpuppeteer/ts/index.ts

26 lines
626 B
TypeScript
Raw Normal View History

2019-06-03 20:48:40 +00:00
import puppeteer from 'puppeteer';
2019-06-03 20:24:10 +00:00
2019-11-15 17:59:29 +00:00
export interface IEnvAwareOptions {
forceNoSandbox?: boolean;
}
export const getEnvAwareBrowserInstance = async (optionsArg: IEnvAwareOptions = {}): Promise<puppeteer.Browser> => {
const options: IEnvAwareOptions = {
...{
forceNoSandbox: false
},
...optionsArg
}
2019-06-03 20:48:40 +00:00
let chromeArgs: string[] = [];
2019-11-15 17:59:29 +00:00
if (process.env.CI || options.forceNoSandbox) {
2019-06-03 20:48:40 +00:00
chromeArgs = chromeArgs.concat(['--no-sandbox', '--disable-setuid-sandbox']);
}
const headlessBrowser = await puppeteer.launch({
args: chromeArgs
});
return headlessBrowser;
};
export { puppeteer };