Spell checks any created or modified files in a GitHub PR using :
- node-markdown-spellcheck for Markdown.
- cspell for code (opt-in).
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-*."],
"ignoreFiles": ["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 "ignoreFiles"
section is an array of files which will NOT be spellchecked.
The spellcheck function also accepts ignore
and ignoreFiles
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'],
ignoreFiles: ['README.md']
})
The spellcheck also takes a set of globs to run cspell against:
// dangerfile.js
import spellcheck from 'danger-plugin-spellcheck'
spellcheck({
ignore: ['Nachoz', 'Tacoz'],
ignoreFiles: ['README.md'],
codeSpellCheck: ["**/*.ts", "**/*.js"]
})
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:
This was created by Orta Therox and Yuki Nishijima in an amazing pairing session on cold thursday before an Artsy Happy Hour.
See CONTRIBUTING.md.