MetaBrainz Foundation

Fix JS on MusicBrainz to follow the no-cond-assign eslint rule

We use a tool called ESLint to find problems in our JavaScript code and ensure it has a consistent style. ESLint is configured to use "rules" which each check for a different problem in the code.

This task requires you to fix all problems detected by the no-cond-assign rule.

To invoke this rule and find a list of such problems, you must first navigate to the git checkout of musicbrainz-server in your terminal, and run:

./script/check_eslint_rule   'no-cond-assign: warn'   root/

The output will tell you which files it detected problems in, including line numbers, alongside a description of the actual issue on each line.

In this case, you'll need to check that the assignments inside conditional statements seem intentional, and if they do you should wrap them in extra parentheses, such as while ((someNode = someNode.parentNode)). While the parentheses aren't needed for the assignment to take place, this style signals to readers that assigning a new value to the variable (using =) was intended, rather than it being an equality comparison (which should use == or ===) that was wrongly written.

To complete the task, submit a pull request to our GitHub repository with a proper description mentioning the specific rule, and respond to any suggestions and requests by the MusicBrainz developers until the pull request is approved (you do not need to wait until it gets merged).

Task tags

  • musicbrainz
  • javascript
  • eslint

Students who completed this task

ABCbum

Task type

  • code Code
close

2019