Eslint: Ожидается { после условия 'while'

Причина предупреждения eslint заключается в том, что вам нужны фигурные скобки вокруг вашего return text;

То есть, это должно выглядеть так:

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

Хотя JavaScript допускает опущение фигурных скобок, ESLint требует единообразного стиля их использования.

Подробнее о правиле curly здесь: