Update Chromium options

main
Elbert Alias 4 years ago
parent bef250ea2d
commit f57710c356

@ -1,4 +1,5 @@
const { URL } = require('url') const { URL } = require('url')
const os = require('os')
const fs = require('fs') const fs = require('fs')
const dns = require('dns').promises const dns = require('dns').promises
const path = require('path') const path = require('path')
@ -13,15 +14,10 @@ function next() {
return new Promise((resolve) => setImmediate(resolve)) return new Promise((resolve) => setImmediate(resolve))
} }
const { const { CHROMIUM_BIN, CHROMIUM_DATA_DIR, CHROMIUM_WEBSOCKET } = process.env
AWS_LAMBDA_FUNCTION_NAME,
CHROMIUM_BIN,
CHROMIUM_DATA_DIR,
CHROMIUM_WEBSOCKET,
} = process.env
let puppeteer let puppeteer
let chromiumArgs = [ const chromiumArgs = [
'--no-sandbox', '--no-sandbox',
'--no-zygote', '--no-zygote',
'--disable-gpu', '--disable-gpu',
@ -30,15 +26,13 @@ let chromiumArgs = [
'--disable-web-security', '--disable-web-security',
`--user-data-dir=${CHROMIUM_DATA_DIR || '/tmp/chromium'}`, `--user-data-dir=${CHROMIUM_DATA_DIR || '/tmp/chromium'}`,
] ]
let chromiumBin = CHROMIUM_BIN
if (AWS_LAMBDA_FUNCTION_NAME) { if (os.arch() === 'arm64') {
const chromium = require('chrome-aws-lambda') chromiumArgs.push('--single-process')
}
;({ puppeteer } = chromium)
chromiumArgs = chromiumArgs.concat(chromium.args) if (CHROMIUM_BIN) {
chromiumBin = chromium.executablePath puppeteer = require('puppeteer-core')
} else { } else {
puppeteer = require('puppeteer') puppeteer = require('puppeteer')
} }
@ -357,7 +351,7 @@ class Driver {
ignoreHTTPSErrors: true, ignoreHTTPSErrors: true,
acceptInsecureCerts: true, acceptInsecureCerts: true,
args: chromiumArgs, args: chromiumArgs,
executablePath: await chromiumBin, executablePath: CHROMIUM_BIN,
}) })
} }