Add debug.headless option to allow debugging of puppeteer
This commit is contained in:
@@ -27,6 +27,8 @@
|
|||||||
const data = {animated:true, base:{}, config:{}, errors:[], plugins:{}, computed:{}}
|
const data = {animated:true, base:{}, config:{}, errors:[], plugins:{}, computed:{}}
|
||||||
const imports = {plugins:Plugins, templates:Templates, metadata:conf.metadata, ...utils}
|
const imports = {plugins:Plugins, templates:Templates, metadata:conf.metadata, ...utils}
|
||||||
const experimental = new Set(decodeURIComponent(q["experimental.features"] ?? "").split(" ").map(x => x.trim().toLocaleLowerCase()).filter(x => x))
|
const experimental = new Set(decodeURIComponent(q["experimental.features"] ?? "").split(" ").map(x => x.trim().toLocaleLowerCase()).filter(x => x))
|
||||||
|
if (conf.settings["debug.headless"])
|
||||||
|
imports.puppeteer.headless = false
|
||||||
|
|
||||||
//Partial parts
|
//Partial parts
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
import util from "util"
|
import util from "util"
|
||||||
import processes from "child_process"
|
import processes from "child_process"
|
||||||
import axios from "axios"
|
import axios from "axios"
|
||||||
import puppeteer from "puppeteer"
|
import _puppeteer from "puppeteer"
|
||||||
import git from "simple-git"
|
import git from "simple-git"
|
||||||
import twemojis from "twemoji-parser"
|
import twemojis from "twemoji-parser"
|
||||||
import jimp from "jimp"
|
import jimp from "jimp"
|
||||||
@@ -15,13 +15,26 @@
|
|||||||
import nodechartist from "node-chartist"
|
import nodechartist from "node-chartist"
|
||||||
|
|
||||||
//Exports
|
//Exports
|
||||||
export {fs, os, paths, url, util, processes, axios, puppeteer, git, opengraph, rss}
|
export {fs, os, paths, url, util, processes, axios, git, opengraph, rss}
|
||||||
|
|
||||||
/**Returns module __dirname */
|
/**Returns module __dirname */
|
||||||
export function __module(module) {
|
export function __module(module) {
|
||||||
return paths.join(paths.dirname(url.fileURLToPath(module)))
|
return paths.join(paths.dirname(url.fileURLToPath(module)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**Puppeteer instantier */
|
||||||
|
export const puppeteer = {
|
||||||
|
async launch() {
|
||||||
|
return _puppeteer.launch({
|
||||||
|
headless:this.headless,
|
||||||
|
executablePath:process.env.PUPPETEER_BROWSER_PATH,
|
||||||
|
args:this.headless ? ["--no-sandbox", "--disable-extensions", "--disable-setuid-sandbox", "--disable-dev-shm-usage"] : [],
|
||||||
|
ignoreDefaultArgs:["--disable-extensions"]
|
||||||
|
})
|
||||||
|
},
|
||||||
|
headless:true
|
||||||
|
}
|
||||||
|
|
||||||
/**Plural formatter */
|
/**Plural formatter */
|
||||||
export function s(value, end = "") {
|
export function s(value, end = "") {
|
||||||
return value !== 1 ? {y:"ies", "":"s"}[end] : end
|
return value !== 1 ? {y:"ies", "":"s"}[end] : end
|
||||||
@@ -158,7 +171,7 @@
|
|||||||
async resize(rendered, {paddings, convert}) {
|
async resize(rendered, {paddings, convert}) {
|
||||||
//Instantiate browser if needed
|
//Instantiate browser if needed
|
||||||
if (!svg.resize.browser) {
|
if (!svg.resize.browser) {
|
||||||
svg.resize.browser = await puppeteer.launch({headless:true, executablePath:process.env.PUPPETEER_BROWSER_PATH, args:["--no-sandbox", "--disable-extensions", "--disable-setuid-sandbox", "--disable-dev-shm-usage"], ignoreDefaultArgs:["--disable-extensions"]})
|
svg.resize.browser = await puppeteer.launch()
|
||||||
console.debug(`metrics/svg/resize > started ${await svg.resize.browser.version()}`)
|
console.debug(`metrics/svg/resize > started ${await svg.resize.browser.version()}`)
|
||||||
}
|
}
|
||||||
//Format padding
|
//Format padding
|
||||||
|
|||||||
1
source/app/web/settings.example.json
generated
1
source/app/web/settings.example.json
generated
@@ -10,6 +10,7 @@
|
|||||||
"port": 3000, "//": "Listening port",
|
"port": 3000, "//": "Listening port",
|
||||||
"optimize": true, "//": "SVG optimization",
|
"optimize": true, "//": "SVG optimization",
|
||||||
"debug": false, "//": "Debug logs",
|
"debug": false, "//": "Debug logs",
|
||||||
|
"debug.headless": false, "//": "Debug puppeteer process",
|
||||||
"mocked": false, "//": "Use mocked data instead of live APIs (use 'force' to use mocked token even if real token are defined)",
|
"mocked": false, "//": "Use mocked data instead of live APIs (use 'force' to use mocked token even if real token are defined)",
|
||||||
"repositories": 100, "//": "Number of repositories to use",
|
"repositories": 100, "//": "Number of repositories to use",
|
||||||
"padding": ["6%", "13%"], "//": "Image padding (default)",
|
"padding": ["6%", "13%"], "//": "Image padding (default)",
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
case "playlist":{
|
case "playlist":{
|
||||||
//Start puppeteer and navigate to playlist
|
//Start puppeteer and navigate to playlist
|
||||||
console.debug(`metrics/compute/${login}/plugins > music > starting browser`)
|
console.debug(`metrics/compute/${login}/plugins > music > starting browser`)
|
||||||
const browser = await imports.puppeteer.launch({headless:true, executablePath:process.env.PUPPETEER_BROWSER_PATH, args:["--no-sandbox", "--disable-extensions", "--disable-setuid-sandbox", "--disable-dev-shm-usage"], ignoreDefaultArgs:["--disable-extensions"]})
|
const browser = await imports.puppeteer.launch()
|
||||||
console.debug(`metrics/compute/${login}/plugins > music > started ${await browser.version()}`)
|
console.debug(`metrics/compute/${login}/plugins > music > started ${await browser.version()}`)
|
||||||
const page = await browser.newPage()
|
const page = await browser.newPage()
|
||||||
console.debug(`metrics/compute/${login}/plugins > music > loading page`)
|
console.debug(`metrics/compute/${login}/plugins > music > loading page`)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
//Start puppeteer and navigate to skyline.github.com
|
//Start puppeteer and navigate to skyline.github.com
|
||||||
console.debug(`metrics/compute/${login}/plugins > skyline > starting browser`)
|
console.debug(`metrics/compute/${login}/plugins > skyline > starting browser`)
|
||||||
const browser = await imports.puppeteer.launch({headless:true, executablePath:process.env.PUPPETEER_BROWSER_PATH, args:["--no-sandbox", "--disable-extensions", "--disable-setuid-sandbox", "--disable-dev-shm-usage"], ignoreDefaultArgs:["--disable-extensions"]})
|
const browser = await imports.puppeteer.launch()
|
||||||
console.debug(`metrics/compute/${login}/plugins > skyline > started ${await browser.version()}`)
|
console.debug(`metrics/compute/${login}/plugins > skyline > started ${await browser.version()}`)
|
||||||
const page = await browser.newPage()
|
const page = await browser.newPage()
|
||||||
await page.setViewport({width, height})
|
await page.setViewport({width, height})
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
console.debug(`metrics/compute/${login}/plugins > topics > searching starred topics`)
|
console.debug(`metrics/compute/${login}/plugins > topics > searching starred topics`)
|
||||||
let topics = []
|
let topics = []
|
||||||
console.debug(`metrics/compute/${login}/plugins > topics > starting browser`)
|
console.debug(`metrics/compute/${login}/plugins > topics > starting browser`)
|
||||||
const browser = await imports.puppeteer.launch({headless:true, executablePath:process.env.PUPPETEER_BROWSER_PATH, args:["--no-sandbox", "--disable-extensions", "--disable-setuid-sandbox", "--disable-dev-shm-usage"], ignoreDefaultArgs:["--disable-extensions"]})
|
const browser = await imports.puppeteer.launch()
|
||||||
console.debug(`metrics/compute/${login}/plugins > topics > started ${await browser.version()}`)
|
console.debug(`metrics/compute/${login}/plugins > topics > started ${await browser.version()}`)
|
||||||
const page = await browser.newPage()
|
const page = await browser.newPage()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user