🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

eslint-plugin-sort-react-dependency-arrays

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-sort-react-dependency-arrays - npm Package Compare versions

Comparing version

to
0.1.0

65

lib/rules/sort.js

@@ -23,14 +23,3 @@ /**

module.exports = {
meta: {
type: 'suggestion',
fixable: 'code',
docs: {
category: 'Stylistic Issues',
description: 'Sort React dependency arrays',
recommended: false,
url: 'https://github.com/stevensacks/eslint-plugin-sort-react-dependency-arrays'
},
schema: [] // no options
},
create: function(context) {
create(context) {
return {

@@ -41,20 +30,31 @@ CallExpression(node) {

if (dependencies && dependencies.type === 'ArrayExpression' && dependencies.elements.length > 1) {
if (
dependencies &&
dependencies.type === 'ArrayExpression' &&
dependencies.elements.length > 1
) {
const currentDependencies = [...dependencies.elements];
const sortedDependencies = [...dependencies.elements].sort((a, b) => (a.name < b.name ? -1 : 1));
const currentNames = currentDependencies.map(item => item.name);
const sortedNames = sortedDependencies.map(item => item.name);
const currentNames = currentDependencies.map(
(item) => item.name
);
const sortedDependencies = [
...dependencies.elements,
].sort((a, b) => (a.name < b.name ? -1 : 1));
const sortedNames = sortedDependencies.map(
(item) => item.name
);
if (String(currentNames) !== String(sortedNames)) {
context.report({
fix: (fixer) =>
currentDependencies.map(
(dependency, index) =>
fixer.replaceText(
dependency,
sortedNames[index]
)
),
message: 'Sort dependencies',
node,
message: 'Sort dependencies',
fix: function (fixer) {
const fixes = [];
currentDependencies.forEach(
(dep, index) =>
fixes.push(fixer.replaceText(dep, sortedNames[index]))
);
return fixes;
}
});

@@ -64,5 +64,16 @@ }

}
}
},
};
}
},
meta: {
docs: {
category: 'Stylistic Issues',
description: 'Sort React dependency arrays',
recommended: false,
url: 'https://github.com/stevensacks/eslint-plugin-sort-react-dependency-arrays',
},
fixable: 'code',
schema: [],
type: 'suggestion', // no options
},
};
{
"name": "eslint-plugin-sort-react-dependency-arrays",
"description": "ESLint plugin to alphabetically sort React hook dependency arrays",
"version": "0.0.3",
"version": "0.1.0",
"author": "Steven Sacks <stevensacks@gmail.com>",

@@ -6,0 +6,0 @@ "keywords": [

@@ -37,5 +37,5 @@ # eslint-plugin-sort-react-dependency-arrays

"rules": {
"sort-react-dependency-arrays/sort": 2
"sort-react-dependency-arrays/sort": "error"
}
}
```