danger-plugin-spellcheck

Build Status npm version

Spell checks any created or modified files in a GitHub PR using

Usage

Install:

yarn add danger-plugin-spellcheck --dev

At a glance:

// dangerfile.js
import spellcheck from 'danger-plugin-spellcheck'

spellcheck()

You can have a shared repo for the settings for your spell checking, or you can have a file called spellcheck.json in your repo's root.

// dangerfile.js
import spellcheck from 'danger-plugin-spellcheck'

spellcheck({ settings: "artsy/artsy-danger@spellcheck.json" })

The JSON should look something like:

{
  "ignore": ["orta", "artsy", "github", "/danger-*."],
  "whitelistFiles": ["README.md"]
}

The "ignore" section is case in-sensitive for words, if a word has a prefix of "/" then it will be treated as a RegExp.

The "whitelistFiles" section is an array of files which will NOT be spellchecked.

Dynamic Content

The spellcheck function also accepts ignore and whitelistFiles as properties of the options object. If you already have a list of spell check exceptions (e.g. from your editor), you can build them in your dangerfile and pass them in to your spellcheck function call.

// dangerfile.js
import spellcheck from 'danger-plugin-spellcheck'

spellcheck({
  ignore: ['Nachoz', 'Tacoz'],
  whitelistFiles: ['README.md']
})

Checking Code

The spellcheck also takes a set of globs to run cspell against:

// dangerfile.js
import spellcheck from 'danger-plugin-spellcheck'

spellcheck({
  ignore: ['Nachoz', 'Tacoz'],
  whitelistFiles: ['README.md'],
  codeSpellCheck: ["**/*.ts", "**/*.js"]
})

Peril

If you're using Peril you can use both a global settings for org wide-spellchecking, and then have local additions to any of the settings. This can make it easier to handle specific one off cases that feel a bit too unique to a single project.

Here is our Artsy setup where we do this:

Credits

This was created by Orta Therox and Yuki Nishijima in an amazing pairing session on cold thursday before an Artsy Happy Hour.

Contributing

See CONTRIBUTING.md.