Socket
Socket
Sign inDemoInstall

eslint-plugin-spellcheck

Package Overview
Dependencies
91
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.19 to 0.0.20

2

package.json
{
"name": "eslint-plugin-spellcheck",
"version": "0.0.19",
"version": "0.0.20",
"description": "ESLint rules to spell check js files",

@@ -5,0 +5,0 @@ "main": "index.js",

# eslint-plugin-spellcheck
[eslint](http://eslint.org) plugin to spell check words on identifiers, Strings and comments of javascript files.
[![dependencies Status](https://david-dm.org/aotaduy/eslint-plugin-spellcheck/status.svg)](https://david-dm.org/aotaduy/eslint-plugin-spellcheck)
[![Build Status](https://travis-ci.org/aotaduy/eslint-plugin-spellcheck.svg?branch=master)](https://travis-ci.org/aotaduy/eslint-plugin-spellcheck)
[![Build CI](https://github.com/aotaduy/eslint-plugin-spellcheck/actions/workflows/node.js.yml/badge.svg)](https://github.com/aotaduy/eslint-plugin-spellcheck/actions/workflows/node.js.yml)
## Usage in a project

@@ -81,2 +80,5 @@

"enableUpperCaseUnderscoreCheck": <<Boolean>>, default: false
Exclude checking uppercase words separated by an underscore. e.g., `SEARCH_CONDITIONS_LIMIT`
"templates": <<Boolean>>, default: true

@@ -83,0 +85,0 @@ Check Spelling inside ES6 templates you should enable parser options for ES6 features for this to work

@@ -76,2 +76,6 @@ // Native modules

},
enableUpperCaseUnderscoreCheck: {
type: 'boolean',
default: false
},
templates: {

@@ -115,3 +119,2 @@ type: 'boolean',

]
},

@@ -169,7 +172,7 @@

function checkSpelling(aNode, value, spellingType) {
if(!hasToSkip(value)) {
if (!hasToSkip(value)) {
// Regular expression matches regexp metacharacters, and any special char
var regexp = /(\\[sSwdDB0nfrtv])|\\[0-7][0-7][0-7]|\\x[0-9A-F][0-9A-F]|\\u[0-9A-F][0-9A-F][0-9A-F][0-9A-F]|[^0-9a-zA-Z '’]/g,
nodeWords = value.replace(regexp, ' ')
.replace(/([A-Z])/g, ' $1').split(' '),
.replace(/([A-Z])/g, ' $1').split(' '),
errors;

@@ -179,18 +182,18 @@ errors = nodeWords

.filter(isSpellingError)
.filter(function(aWord) {
// Split words by numbers for special cases such as test12anything78variable and to include 2nd and 3rd ordinals
// also for Proper names we convert to lower case in second pass.
.filter(function (aWord) {
// Split words by numbers for special cases such as test12anything78variable and to include 2nd and 3rd ordinals
// also for Proper names we convert to lower case in second pass.
var splitByNumberWords = aWord.replace(/[0-9']/g, ' ').replace(/([A-Z])/g, ' $1').toLowerCase().split(' ');
return splitByNumberWords.some(isSpellingError);
})
.forEach(function(aWord) {
.forEach(function (aWord) {
context.report(
aNode,
'You have a misspelled word: {{word}} on {{spellingType}}', {
word: aWord,
spellingType: spellingType
});
word: aWord,
spellingType: spellingType
});
});
}
}
}

@@ -205,16 +208,28 @@ function isInImportDeclaration(aNode) {

function underscoreParser(aNode, value, spellingType) {
if (!options.enableUpperCaseUnderscoreCheck) {
checkSpelling(aNode, value, spellingType);
} else {
const splitValues = value.split('_');
splitValues.forEach((word) => {
checkSpelling(aNode, word.toLowerCase(), spellingType);
})
}
}
function checkComment(aNode) {
if(options.comments) {
checkSpelling(aNode, aNode.value, 'Comment');
if (options.comments) {
underscoreParser(aNode, aNode.value, 'Comment');
}
}
function checkLiteral(aNode){
if(options.strings && typeof aNode.value === 'string' && !isInImportDeclaration(aNode)) {
checkSpelling(aNode, aNode.value, 'String');
function checkLiteral(aNode) {
if (options.strings && typeof aNode.value === 'string' && !isInImportDeclaration(aNode)) {
underscoreParser(aNode, aNode.value, 'String');
}
}
function checkTemplateElement(aNode){
if(options.templates && typeof aNode.value.raw === 'string' && !isInImportDeclaration(aNode)) {
checkSpelling(aNode, aNode.value.raw, 'Template');
function checkTemplateElement(aNode) {
if (options.templates && typeof aNode.value.raw === 'string' && !isInImportDeclaration(aNode)) {
underscoreParser(aNode, aNode.value.raw, 'Template');
}

@@ -224,4 +239,4 @@ }

function checkIdentifier(aNode) {
if(options.identifiers) {
checkSpelling(aNode, aNode.name, 'Identifier');
if (options.identifiers) {
underscoreParser(aNode, aNode.name, 'Identifier');
}

@@ -228,0 +243,0 @@ }

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc