Promote American values in variable names

Usage no npm install needed!

<script type="module">
  import eslintPluginCommunistSpelling from '';


Build Status npm


An ESLint plugin containing a single rule to catch variable names written in Communist Commonwealth English instead of American English. Keep them Reds out of decent American codebases.

function favouriteCountry({ colours = ["communist", "red"] }) {} // πŸ‘ŽπŸ˜ β˜­
function favoriteCountry({ colors = ["red", "white", "blue"] }) {} // πŸ‘πŸ‡ΊπŸ‡ΈπŸ¦…

...or, if you're a Godless Communist Commonwealther, the rule can be inverted to enforce Commonwealth spellings in your variable names.

In-depth documentation for the rule, the available options, and more examples of code are located here:


If using yarn:

yarn add -D eslint-plugin-communist-spelling

If using npm:

npm install --save-dev eslint-plugin-communist-spelling


Add communist-spelling to the plugins section of your .eslintrc configuration file, and communist-spelling/communist-spelling to the list of rules. You can omit the eslint-plugin- prefix:

    "plugins": ["communist-spelling"],
    "rules": {
        "communist-spelling/communist-spelling": "error"

or, if using a YAML ESLint config file:

    - communist-spelling
        - error


Releases to NPM are performed via Travis when tagged commits are pushed to the repo. Create a new tagged commit and bump the version in package.json with:

npm version patch

and push the new commits and tags with:

git push && git push --tags


The JSON data for spelling differences was adapted from the American-British-English-Translator. The core functionality of the tree-traversing code was adapted from the camelCase rule included in the core ESLint package.