Socket
Socket
Sign inDemoInstall

eslint-plugin-module-resolver

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-module-resolver - npm Package Compare versions

Comparing version 0.17.0 to 1.0.0

dist/helpers/create-fixer.js

69

dist/rules/use-alias.js

@@ -27,2 +27,4 @@ "use strict";

var createFixer = require('../helpers/create-fixer');
var values = Object.values || function (obj) {

@@ -45,4 +47,3 @@ return Object.keys(obj).map(function (e) {

},
fixable: null,
// or "code" or "whitespace"
fixable: 'code',
schema: [{

@@ -125,3 +126,3 @@ type: 'object',

var hasError = function hasError(val) {
if (!val) return; // template literals will have undefined val
if (!val) return false; // template literals will have undefined val

@@ -137,6 +138,9 @@ var ignoreDepth = options.ignoreDepth,

allowDepthMoreOrLessThanEquality: allowDepthMoreOrLessThanEquality
})) return; // Error if projectRoot option specified but cannot be resolved.
})) return false; // Error if projectRoot option specified but cannot be resolved.
if (projectRoot && !projectRootAbsolutePath) {
return true;
return {
suggestFix: false,
message: 'Invalid project root specified'
};
}

@@ -157,12 +161,36 @@

});
return isAliased && pathExists && val.match(/\.\.\//); // matches, exists, and starts with ../
var error = isAliased && pathExists && val.match(/\.\.\//); // matches, exists, and starts with ../,
return error && {
suggestFix: true,
message: 'Do not use relative path for aliased modules'
};
};
var reportError = function reportError(_ref) {
var node = _ref.node,
source = _ref.source,
error = _ref.error;
context.report({
node: node,
message: error.message,
loc: source.loc,
fix: error.suggestFix && createFixer({
alias: alias,
filePath: filePath,
cwd: cwd,
node: node
})
});
};
return {
ImportDeclaration: function ImportDeclaration(node) {
if (hasError(node.source.value)) {
context.report({
var error = hasError(node.source.value);
if (error) {
reportError({
node: node,
message: 'Do not use relative path for aliased modules',
loc: node.source.loc
source: node.source,
error: error
});

@@ -175,8 +203,23 @@ }

if (val === 'Import' || val === 'require') {
hasError(node.arguments[0].value) && context.report({
var error = hasError(node.arguments[0].value);
error && reportError({
node: node,
message: 'Do not use relative path for aliased modules',
loc: node.arguments[0].loc
source: node.arguments[0],
error: error
});
}
},
ImportExpression: function ImportExpression(node) {
// dynamic import was erroneously using visitorKey for
// call expressions https://github.com/babel/babel/pull/10828
// adding ImportExpression for new versions of @babel/eslint-parser
var error = hasError(node.source.value);
if (error) {
reportError({
node: node,
source: node.source,
error: error
});
}
}

@@ -183,0 +226,0 @@ };

12

package.json
{
"name": "eslint-plugin-module-resolver",
"version": "0.17.0",
"version": "1.0.0",
"description": "Warn when using relative paths to modules aliased",

@@ -20,2 +20,3 @@ "repository": "HeroProtagonist/eslint-plugin-module-resolver",

"test:coverage": "jest --coverage",
"test:inspect": "node --inspect node_modules/.bin/jest --runInBand",
"prebuild": "yarn clean",

@@ -46,7 +47,8 @@ "build": "babel lib --out-dir dist",

"@babel/core": "^7.7.7",
"@babel/eslint-parser": "^7.11.0",
"@babel/eslint-plugin": "^7.11.0",
"@babel/preset-env": "^7.7.7",
"babel-core": "^6.26.3",
"babel-eslint": "^10.0.3",
"codecov": "^3.6.4",
"eslint": "^6.8.0",
"eslint": "^7.6.0",
"eslint-config-prettier": "^6.9.0",

@@ -59,5 +61,5 @@ "eslint-config-standard": "^14.1.0",

"husky": "^4.2.1",
"jest": "^25.1.0",
"jest": "^26.2.2",
"lint-staged": "^10.0.7",
"prettier": "^1.19.1",
"prettier": "^2.0.5",
"regenerator-runtime": "^0.13.3",

@@ -64,0 +66,0 @@ "rimraf": "^3.0.0"

@@ -5,3 +5,3 @@ # eslint-plugin-module-resolver

[![npm downloads](https://img.shields.io/npm/dm/eslint-plugin-module-resolver.svg)](https://www.npmjs.com/package/eslint-plugin-module-resolver)
[![Build Status](https://travis-ci.com/HeroProtagonist/eslint-plugin-module-resolver.svg?branch=master)](https://travis-ci.com/HeroProtagonist/eslint-plugin-module-resolver)
[![CircleCI](https://circleci.com/gh/HeroProtagonist/eslint-plugin-module-resolver.svg?style=shield)](https://app.circleci.com/pipelines/github/HeroProtagonist/eslint-plugin-module-resolver)
[![codecov](https://codecov.io/gh/HeroProtagonist/eslint-plugin-module-resolver/branch/master/graph/badge.svg)](https://codecov.io/gh/HeroProtagonist/eslint-plugin-module-resolver)

@@ -8,0 +8,0 @@

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc