New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

spech

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spech

Check your text for grammar and spelling error using multiple providers

latest
Source
npmnpm
Version
0.2.1
Version published
Maintainers
1
Created
Source

spech

Build Status NPM version

Check your text for grammar and spelling mistakes using multiple providers

  • Multiple libraries/services for grammar and spelling checking
  • Multilingual document support
  • Zero config
  • Can work offline (only with Hunspell provider)

Screenshot

Usage

Files checking

npx spech README.md

File name can be omitted, by default it searches files by **/*.md mask. Default language is English, it can be changed with -l flag:

spech -l ru

spech -l ru-RU -l en-US - for multilingual documents

String and STDIN checking

You can check a string value using STDIN or --input argument

cat README.md | spech

spech --input 'Check the text'

Directives

disable

<!-- spech-disable -->
This text is ignored
<!-- spech-enable -->

dictionary

Add a phrase to a local document dictionary

<!-- spech-dictionary myword -->

languages

Add document-specific languages

<!-- spech-languages en es -->

Providers

To configure a provider pass -p flag:

spech -p hunspell -p yandex

Other options can be set in a config file.

Hunspell

Hunspell is the most popular open-source spell checker which supports a great variety of languages.

Read more.

GrammarBot

Free grammar checking API. With an API key, you can receive 250 requests/day (~7500/mo) at no cost. Without an API key, requests are limited to 100 per day per IP address (~3000/mo). The API supports only English (en-US and en-GB).

Read more.

Yandex Speller

Free and very fast spell checker API for en, ru and uk languages. It provides free 10k requests/day or 10m characters/day.

Read more.

Configuring

Configuration can be stored in:

  • spech.config.js
  • "spech" section of the package.json

spech.config.js

module.exports = {
  languages: ['en-us'],
  providers: [
    { name: 'hunspell' },
    { name: 'grammarBot', apiKey: 'YOUR_API_KEY' },
  ],
};

More details.

Dictionaries

It's possible to add words which are marked as a mistake into a dictionary file. Just create a file with .dic extension in your project root:

mydictionary.dic

# Simple word
browserify
# Regexp
/Component.tsx?/

More details.

API Usage

The most useful parts of the library are available through facade class SpellChecker.

Here is a simple example how it can be used:

const { Config, SpellChecker } = require('spech');

async function getMistakes() {
  const config = new Config({ ignoreCase: false });
  const checker = new SpellChecker(config);

  await checker.addDocumentsByMask(process.cwd(), 'docs/*.md');
  checker.addDictionaryPhrase('exceptionphrase');
  checker.addProviderByConfig({ name: 'hunspell' });

  const noMistakes = await checker.checkDocuments();
  if (noMistakes) {
    return [];
  }
  
  const corrections = checker.documents.map(doc => doc.corrections).flat();
  return corrections.map(correction => correction.fragment);
}

Keywords

spell checker

FAQs

Package last updated on 10 Jan 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts