Detecting typos in JavaScript code

2019-05-16 09:35发布

问题:

In Python world, one of the most widely-used static code analysis tools, pylint has a special check, that detects typos in comments and docstrings.

Is there a way to detect typos in JavaScript code using static code analysis?


To make the question more specific, here is an example code I want to cause a warning:

// enter credntials and log in
scope.loginPage.logIn(browser.params.regularUser.login, browser.params.regularUser.password);

Here credntials is misspelled.

回答1:

There is a eslint plugin built specifically for the task - eslint-plugin-spellcheck:

eslint plugin to spell check words on identifiers, Strings and comments of javascript files.

It is based on the hunspell-spellchecker library that knows how to parse and use Hunspell dictionaries of known words:

Hunspell is a spell checker and morphological analyzer designed for languages with rich morphology and complex word compounding and character encoding, originally designed for the Hungarian language.

Here is what it outputs for the example code provided in the question:

$ node_modules/eslint/bin/eslint.js -c eslint.json showCase.spec.js
25:8   warning  You have a misspelled word: credntials on Comment  spellcheck/spell-checker

The plugin is easily customizable and can check in comments, identifiers and strings.