
Research
/Security News
9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.
@textlint-rule/rousseau
Advanced tools

Rousseau is a lightweight proofreader written in Javascript, it can be used in Node.JS, in the command line and in the browser.
$ npm install @textlint-rule/rousseau
var rousseau = require("@textlint-rule/rousseau");
rousseau('So the cat was stolen.', function(err, results) {
...
});
results is an array of object like:
{
// Type of check that output this suggestion
type: "so",
// Level of importance
// "suggestion", "warning", "error"
level: "warning",
// Index in the text
index: 10,
// Size of the section in the text
offset: 2,
// Message to describe the suggestion
message: "omit 'So' from the beginning of sentences",
// Replacements suggestion
replacements: [
{
value: ""
}
]
}
You can disable any combination of the following by providing a key with value false as option checks to rousseau.
| ID | Description |
|---|---|
passive | Checks for passive voice |
lexical-illusion | Checks for lexical illusions – cases where a word is repeated. |
so | Checks for so at the beginning of the sentence. |
adverbs | Checks for adverbs that can weaken meaning: really, very, extremely, etc. |
readibility | Checks for readibility of sentences. |
simplicity | Checks for simpler expressions |
weasel | Checks for "weasel words." |
sentence:start | Checks that sentence is preceded by a space |
sentence:end | Checks that there is no space between a sentence and its ending punctuation |
sentence:uppercase | Checks that sentences are starting with uppercase letter |
Example: Extend rousseau with a Spellchecker.
rousseau("Some text", {
checks: {
spelling: rousseau.tokenize.check([
rousseau.tokenize.words(),
rousseau.filter(function(word) {
return wordIsValid(word);
}),
rousseau.define({
level: rousseau.levels.ERROR,
message: "Spelling error"
})
])
}
}, function(err, results) {
...
})
Rousseau use an internal cache for certain operations (tokenization, spellchecking, ...); this cache can be configured using the option cache:
rousseau('So the cat was stolen.', {
cache: 100 // A maximum of 100 elements will be stored in the memory cache
}, function(err, results) {
...
});
We'd love to accept your patches and contributions to improve Rousseau (supported languages, checks, ...). Learn more about how to contribute in CONTRIBUTING.md.
FAQs
Lightweight proofreader
We found that @textlint-rule/rousseau demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

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.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.