Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/orta/danger-plugin-spellcheck
Spell checks any created or modified code or markdown files in a GitHub PR
https://github.com/orta/danger-plugin-spellcheck
Last synced: about 2 months ago
JSON representation
Spell checks any created or modified code or markdown files in a GitHub PR
- Host: GitHub
- URL: https://github.com/orta/danger-plugin-spellcheck
- Owner: orta
- License: mit
- Created: 2017-07-27T22:03:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-03-22T07:16:19.000Z (almost 3 years ago)
- Last Synced: 2024-04-15T08:11:22.634Z (8 months ago)
- Language: TypeScript
- Homepage:
- Size: 529 KB
- Stars: 26
- Watchers: 4
- Forks: 16
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-danger - danger-plugin-spellcheck - Spell checks .md files in a PR using node-markdown-spellcheck. (Plugins / TypeScript (danger-js))
README
# danger-plugin-spellcheck
[![Build Status](https://travis-ci.org/orta/danger-plugin-spellcheck.svg?branch=master)](https://travis-ci.org/orta/danger-plugin-spellcheck)
[![npm version](https://badge.fury.io/js/danger-plugin-spellcheck.svg)](https://badge.fury.io/js/danger-plugin-spellcheck)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)> Spell checks any created or modified files in a GitHub PR using :
>
> - [node-markdown-spellcheck](https://github.com/lukeapage/node-markdown-spellcheck) for Markdown.
> - [cspell](https://github.com/streetsidesoftware/cspell) for code (opt-in).## Usage
Install:
```sh
yarn add danger-plugin-spellcheck --dev
```At a glance:
```js
// 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.
```js
// dangerfile.js
import spellcheck from 'danger-plugin-spellcheck'spellcheck({ settings: "artsy/[email protected]" })
```The JSON should look something like:
```json
{
"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.
#### Dynamic Content
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.
```js
// dangerfile.js
import spellcheck from 'danger-plugin-spellcheck'spellcheck({
ignore: ['Nachoz', 'Tacoz'],
ignoreFiles: ['README.md']
})
```#### Checking Code
The spellcheck also takes a set of globs to run cspell against:
```js
// dangerfile.js
import spellcheck from 'danger-plugin-spellcheck'spellcheck({
ignore: ['Nachoz', 'Tacoz'],
ignoreFiles: ['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:
* [Dangerfile for every PR](https://github.com/artsy/artsy-danger/blob/997d4fb7f4680973ac016eb75474ad15bf18c183/org/all-prs.ts#L7-L9)
* [Global Spellcheck for every repo](https://github.com/artsy/artsy-danger/blob/997d4fb7f4680973ac016eb75474ad15bf18c183/spellcheck.json)
* [A per-repo override for a specific repo](https://github.com/artsy/bearden/blob/1979379bb56dacb13593fbc90981ed88e1b097b3/spellcheck.json)## Credits
This was created by [Orta Therox](https://twitter.com/orta) and [Yuki Nishijima](https://twitter.com/yuki24) in an amazing pairing session on cold thursday before an [Artsy Happy Hour](https://github.com/artsy/meta/blob/master/meta/happy_hour.md).
## Contributing
See [CONTRIBUTING.md](contributing.md).