Eslint: Se esperaba { después de la condición 'while'

La razón de la advertencia de eslint es que necesitas llaves rodeando tu return text;

Es decir, debería verse así:

  while (
    text !==
    (text = text.replace(/\[title\](.+?)\[\/title\]/gi, function (match, p) {
      return `<div class="job-title">${p}</div>`;
    }))
  ) {
    return text;
  }

Aunque JavaScript permite omitir las llaves, ESLint exige un estilo de llaves consistente.

Más detalles sobre la regla curly aquí: