spencermountain/compromise
modest natural-language processing
Provides pattern matching, morphological transformations (tense, plurality, negation), and numeric text manipulation through a fluent API and extensible plugin system. Uses rule-based symbolic processing with lexical databases rather than machine learning, enabling lightweight client-side operation while supporting multiple languages via separate packages. Handles linguistic ambiguities like contractions and implicit forms through heuristic-driven parsing.
12,053 stars and 1,586,954 monthly downloads. Used by 10 other packages. Available on npm.
Stars
12,053
Forks
665
Language
JavaScript
License
MIT
Category
Last pushed
Feb 25, 2026
Monthly downloads
1,586,954
Commits (30d)
0
Dependencies
3
Reverse dependents
10
Get this data via API
curl "https://pt-edge.onrender.com/api/v1/quality/nlp/spencermountain/compromise"
Open to everyone — 100 requests/day, no key needed. Get a free key for 1,000/day.
Related tools
textlint/textlint
textlint is the pluggable linter for natural language text.
Planeshifter/text-miner
text mining utilities for Node.js
axa-group/nlp.js
An NLP library for building bots, with entity extraction, sentiment analysis, automatic language...
ChristianMurphy/classify-poetry
recognize type poetry in a given text excerpt
ckmtools/textlens
Zero-dependency TypeScript text analysis and readability toolkit. 8 readability formulas,...