/** * Les options du plugin `tools.xvfb`. * * @typedef {Object} ToolsXvfbOptions * @prop {string[]} [args] Les arguments passés de l'exécutable `Xvfb`. * @prop {boolean} [keepalive] La marque pour ne pas arrêter l'exécutable de * `Xvfb` après la fermeture du navigateur. * @prop {AbortSignal} [signal] Le signal pour tuer l'exécutable de `Xvfb`. */ /** * Crée un plugin pour exécuter le navigateur avec `Xvfb`. * * @param {ToolsXvfbOptions} [options] Les éventuelles options du plugin * `tools.xvfb`. * @returns {Record>>} Les * crochets * du * plugin. * @see https://www.x.org/archive/X11R7.7/doc/man/man1/Xvfb.1.xhtml */ export default function toolsXvfbPlugin(options?: ToolsXvfbOptions): Record>>; /** * Les options du plugin `tools.xvfb`. */ export type ToolsXvfbOptions = { /** * Les arguments passés de l'exécutable `Xvfb`. */ args?: string[] | undefined; /** * La marque pour ne pas arrêter l'exécutable de * `Xvfb` après la fermeture du navigateur. */ keepalive?: boolean | undefined; /** * Le signal pour tuer l'exécutable de `Xvfb`. */ signal?: AbortSignal | undefined; }; /** * Le type d'une instance de `Xvfb`. */ export type InstanceXvfb = { /** * Le processus exécutant `Xvfb`. */ process: ChildProcess; /** * Le `DISPLAY` du serveur de `Xvfb` (par * exemple : `:99`). */ display: string; /** * Le nombre de navigateurs utilisant l'instance ; * ou l'infini s'il ne faut pas arrêter * l'exécutable de `Xvfb` après la fermeture du * navigateur. */ count: number; }; import type { ChildProcess } from "node:child_process";