Eslint: Previsto { dopo la condizione 'while'

Ho forkato Formatting toolbar per aggiungere alcune cose di formattazione molto personalizzate.

Ha discourse-formatting-toolbar/assets/javascripts/lib/discourse-markdown/formatting_bbcode.js at master · MonDiscourse/discourse-formatting-toolbar · GitHub

Il mio codice è questo:

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

Ma eslint si lamenta:

    9:3  error  Previsto { dopo la condizione 'while'  curly

Ho provato a spostare quel while e il resto su una singola riga (la formattazione qui è applicata da vscode e di solito funziona con gli altri plugin che gestisco), ma non ha aiutato.

Qualcuno può darmi un indizio?

EDIT: Beh, a quanto pare non ho bisogno di quella funzione, ma mi piacerebbe comunque sapere qual è il problema.

1 Mi Piace

Il motivo dell’avviso di eslint è che sono necessarie le parentesi graffe attorno al tuo return text;

Cioè, dovrebbe apparire così:

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

Sebbene JavaScript consenta l’omissione delle parentesi graffe, ESLint impone uno stile coerente delle parentesi graffe.

Maggiori dettagli sulla regola curly qui:

3 Mi Piace