@bigbinary/eslint-plugin-neeto 1.5.4 → 1.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +27 -26
  2. package/package.json +17 -12
package/dist/index.js CHANGED
@@ -4,10 +4,7 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global["@bigbinary/eslint-plugin-neeto"] = factory(global.fs, global.path$2, global.ramda, global["@bigbinary/neeto-cist"], global.neetoCommonsConstants));
5
5
  })(this, (function (fs, path$2, ramda, neetoCist, neetoCommonsConstants) { 'use strict';
6
6
 
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- function _interopNamespace(e) {
10
- if (e && e.__esModule) return e;
7
+ function _interopNamespaceDefault(e) {
11
8
  var n = Object.create(null);
12
9
  if (e) {
13
10
  Object.keys(e).forEach(function (k) {
@@ -20,16 +17,14 @@
20
17
  }
21
18
  });
22
19
  }
23
- n["default"] = e;
20
+ n.default = e;
24
21
  return Object.freeze(n);
25
22
  }
26
23
 
27
- var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
28
- var path__default = /*#__PURE__*/_interopDefaultLegacy(path$2);
29
- var neetoCommonsConstants__namespace = /*#__PURE__*/_interopNamespace(neetoCommonsConstants);
24
+ var neetoCommonsConstants__namespace = /*#__PURE__*/_interopNamespaceDefault(neetoCommonsConstants);
30
25
 
31
26
  var absolutePath$1 = function absolutePath(jsPath) {
32
- return path__default["default"].resolve(__dirname, "../../../..", jsPath);
27
+ return path$2.resolve(__dirname, "../../../..", jsPath);
33
28
  };
34
29
  var loadJS$2 = function loadJS(jsPath) {
35
30
  try {
@@ -185,9 +180,9 @@
185
180
  };
186
181
 
187
182
  var absolutePath = function absolutePath(jsPath) {
188
- return path__default["default"].resolve(__dirname, "../../../..", jsPath);
183
+ return path$2.resolve(__dirname, "../../../..", jsPath);
189
184
  };
190
- var srcPath = fs__default["default"].existsSync(absolutePath("src")) ? absolutePath("src") : absolutePath("app/javascript/src");
185
+ var srcPath = fs.existsSync(absolutePath("src")) ? absolutePath("src") : absolutePath("app/javascript/src");
191
186
  var pathToTranslationsDir = "".concat(srcPath, "/translations");
192
187
  var pathToResolveFile$1 = "resolve.js";
193
188
  var pathToJsConfigFile = "jsconfig.json";
@@ -257,11 +252,11 @@
257
252
  }
258
253
  });
259
254
 
260
- var rootOfTheProject = path__default["default"].join(__dirname, "../../../../");
255
+ var rootOfTheProject = path$2.join(__dirname, "../../../../");
261
256
  var pathToResolveFile = "resolve.js";
262
257
  var loadJS = function loadJS(jsPath) {
263
258
  try {
264
- return require(path__default["default"].join(rootOfTheProject, jsPath));
259
+ return require(path$2.join(rootOfTheProject, jsPath));
265
260
  } catch (_unused) {
266
261
  return {};
267
262
  }
@@ -1178,7 +1173,7 @@
1178
1173
  */
1179
1174
  var isInsideApisDirectory = function isInsideApisDirectory(context) {
1180
1175
  var filename = context.getFilename();
1181
- var apisDirectory = path__default["default"].resolve(APIS_DIRECTORY);
1176
+ var apisDirectory = path$2.resolve(APIS_DIRECTORY);
1182
1177
  return filename.startsWith(apisDirectory) && filename !== "".concat(apisDirectory, "/axios.js");
1183
1178
  };
1184
1179
 
@@ -1189,7 +1184,7 @@
1189
1184
  */
1190
1185
  var isInsideComponentsDirectory = function isInsideComponentsDirectory(context) {
1191
1186
  var filename = context.getFilename();
1192
- var componentsDirectory = path__default["default"].resolve(COMPONENTS_DIRECTORY);
1187
+ var componentsDirectory = path$2.resolve(COMPONENTS_DIRECTORY);
1193
1188
  return filename.startsWith(componentsDirectory);
1194
1189
  };
1195
1190
 
@@ -1299,12 +1294,12 @@
1299
1294
  };
1300
1295
  var isExcludedFile = function isExcludedFile(excludedFiles, filename) {
1301
1296
  return excludedFiles.some(function (filePath) {
1302
- return filePath.test(path__default["default"].resolve(filename));
1297
+ return filePath.test(path$2.resolve(filename));
1303
1298
  });
1304
1299
  };
1305
1300
  var parseJsonData = function parseJsonData(filePath) {
1306
1301
  try {
1307
- var jsonData = fs__default["default"].readFileSync(filePath).toString();
1302
+ var jsonData = fs.readFileSync(filePath).toString();
1308
1303
  var parsedJsonData = JSON.parse(removeComments(jsonData));
1309
1304
  return parsedJsonData;
1310
1305
  } catch (_unused) {
@@ -7694,7 +7689,7 @@
7694
7689
 
7695
7690
  // Do not replace this with `isInsideApisDirectory` since this rule should include axios.js
7696
7691
  // `isInsideApisDirectory` returns false for apis/axios.js
7697
- var apisFolder = path__default["default"].resolve((aliases === null || aliases === void 0 ? void 0 : aliases.apis) || APIS_DIRECTORY);
7692
+ var apisFolder = path$2.resolve((aliases === null || aliases === void 0 ? void 0 : aliases.apis) || APIS_DIRECTORY);
7698
7693
  if (context.getFilename().startsWith(apisFolder)) return;
7699
7694
  if (!isPackageImported(context, node, "axios")) return;
7700
7695
  context.report(node, NO_AXIOS_IMPORT_OUTSIDE_APIS_MESSAGE);
@@ -8915,7 +8910,7 @@
8915
8910
  }
8916
8911
  };
8917
8912
 
8918
- function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
8913
+ function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike) { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
8919
8914
  function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
8920
8915
  function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8921
8916
  var getNonRepeatedKeyValueProperties = function getNonRepeatedKeyValueProperties(nodeProperties) {
@@ -10202,7 +10197,7 @@
10202
10197
  var WHITELISTED_FILE_NAMES = ["constants", "utils"];
10203
10198
 
10204
10199
  var getFolderName = function getFolderName(fileName) {
10205
- return path__default["default"].basename(path__default["default"].dirname(fileName));
10200
+ return path$2.basename(path$2.dirname(fileName));
10206
10201
  };
10207
10202
  var filesInsideReactQueryFolderShouldEndWithApi = {
10208
10203
  meta: {
@@ -10239,7 +10234,7 @@
10239
10234
  };
10240
10235
  var isInsideReactQueryDirectory = function isInsideReactQueryDirectory(context) {
10241
10236
  var filename = context.getFilename();
10242
- var reactQueryDirectory = path__default["default"].resolve(REACT_QUERY_DIRECTORY);
10237
+ var reactQueryDirectory = path$2.resolve(REACT_QUERY_DIRECTORY);
10243
10238
  return filename.startsWith(reactQueryDirectory);
10244
10239
  };
10245
10240
  var useReactQueryForManagingRemoteData = {
@@ -10329,7 +10324,7 @@
10329
10324
  }]
10330
10325
  };
10331
10326
 
10332
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
10327
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
10333
10328
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10334
10329
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
10335
10330
  var extractVariableValue = function extractVariableValue(inputValue) {
@@ -11044,7 +11039,7 @@
11044
11039
  var IMAGE_PATH = "images/";
11045
11040
 
11046
11041
  var resolvePath = function resolvePath(relativePath) {
11047
- return path__default["default"].resolve(__dirname, "../../../../", relativePath);
11042
+ return path$2.resolve(__dirname, "../../../../", relativePath);
11048
11043
  };
11049
11044
  var isImportFileSvg = function isImportFileSvg(importPath) {
11050
11045
  return fs.existsSync(resolvePath("app/assets/".concat(importPath, ".svg")));
@@ -11546,8 +11541,14 @@
11546
11541
  }
11547
11542
  };
11548
11543
 
11544
+ var isNotURL = function isNotURL(value) {
11545
+ return !neetoCommonsConstants.VALID_URL_REGEX.test(value);
11546
+ };
11547
+ var isNotEmail = function isNotEmail(value) {
11548
+ return !neetoCommonsConstants.VALID_EMAIL_REGEX.test(value);
11549
+ };
11549
11550
  var isNeetoPresent = function isNeetoPresent(value) {
11550
- return typeof value === "string" && /\bneeto\b(?![-\w])/.test(value);
11551
+ return typeof value === "string" && /\bneeto\b(?![-\w])/.test(value) && isNotURL(value) && isNotEmail(value);
11551
11552
  };
11552
11553
  var reportNeetoInChildren = function reportNeetoInChildren(array, context) {
11553
11554
  array.forEach(function (item) {
@@ -11983,7 +11984,7 @@
11983
11984
  var aliases = context.options[0];
11984
11985
  if (ramda.isEmpty(aliases) || ramda.isNil(aliases)) return;
11985
11986
  var importPath = node.source.value;
11986
- var importFullPath = importPath.startsWith("../") ? path__default["default"].resolve(context.getFilename(), "../", importPath) : importPath;
11987
+ var importFullPath = importPath.startsWith("../") ? path$2.resolve(context.getFilename(), "../", importPath) : importPath;
11987
11988
  var matches = Object.entries(aliases).filter(function (_ref) {
11988
11989
  var _ref2 = _slicedToArray(_ref, 2),
11989
11990
  path = _ref2[1];
@@ -12010,7 +12011,7 @@
12010
12011
  var jsconfigData = null;
12011
12012
  var watcher = null;
12012
12013
  var watchJsConfigFile = function watchJsConfigFile(filePath) {
12013
- return watcher = fs__default["default"].watch(filePath, {
12014
+ return watcher = fs.watch(filePath, {
12014
12015
  persistent: false
12015
12016
  }, function () {
12016
12017
  return jsconfigData = parseJsonData(filePath);
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@bigbinary/eslint-plugin-neeto",
3
- "version": "1.5.4",
3
+ "version": "1.5.6",
4
4
  "main": "dist/index.js",
5
5
  "license": "UNLICENSED",
6
6
  "scripts": {
7
7
  "prepare": "husky install",
8
8
  "test": "npm run build && jest dist/util-tests.spec.js && node dist/rule-tests.js",
9
- "build": "rollup -c rollup.config.js",
10
- "watch": "rollup -c rollup.config.js --watch"
9
+ "build": "rollup --bundleConfigAsCjs -c rollup.config.js",
10
+ "watch": "rollup --bundleConfigAsCjs -c rollup.config.js --watch"
11
11
  },
12
12
  "lint-staged": {
13
13
  "{package.json}": [
@@ -36,20 +36,22 @@
36
36
  "@babel/preset-typescript": "^7.18.6",
37
37
  "@babel/runtime": "^7.19.0",
38
38
  "@bigbinary/babel-preset-neeto": "^1.0.3",
39
- "@bigbinary/eslint-plugin-neeto": "^1.1.9",
39
+ "@bigbinary/eslint-plugin-neeto": "1.5.5",
40
40
  "@bigbinary/neeto-cist": "^1.0.3",
41
- "@bigbinary/neeto-commons-frontend": "^2.1.29",
41
+ "@bigbinary/neeto-commons-frontend": "4.12.3",
42
42
  "@rollup/plugin-alias": "^3.1.9",
43
- "@rollup/plugin-babel": "^5.3.1",
43
+ "@rollup/plugin-babel": "^6.0.4",
44
44
  "@rollup/plugin-commonjs": "^22.0.0",
45
45
  "@rollup/plugin-json": "^4.1.0",
46
- "@rollup/plugin-node-resolve": "^13.3.0",
46
+ "@rollup/plugin-node-resolve": "^15.3.0",
47
47
  "babel-loader": "^8.2.5",
48
48
  "babel-plugin-dynamic-import-node": "^2.3.3",
49
49
  "babel-plugin-istanbul": "^6.1.1",
50
50
  "babel-plugin-js-logger": "1.0.17",
51
51
  "babel-plugin-macros": "3.1.0",
52
+ "babel-plugin-module-resolver": "^5.0.0",
52
53
  "babel-plugin-preval": "^5.1.0",
54
+ "babel-plugin-transform-imports": "^2.0.0",
53
55
  "babel-plugin-transform-react-remove-prop-types": "0.4.24",
54
56
  "babel-preset-react": "6.24.1",
55
57
  "babel-preset-typescript": "^7.0.0-alpha.19",
@@ -65,7 +67,10 @@
65
67
  "eslint-plugin-promise": "6.0.0",
66
68
  "eslint-plugin-react": "7.29.4",
67
69
  "eslint-plugin-react-hooks": "4.5.0",
70
+ "eslint-plugin-security": "^1.7.1",
71
+ "eslint-plugin-sonarjs": "^0.21.0",
68
72
  "eslint-plugin-unused-imports": "2.0.0",
73
+ "eslint-plugin-xss": "^0.1.12",
69
74
  "husky": "7.0.4",
70
75
  "i18next": "21.7.0",
71
76
  "jest": "27.5.1",
@@ -74,7 +79,7 @@
74
79
  "mock-fs": "^5.2.0",
75
80
  "prettier": "2.6.2",
76
81
  "ramda": "0.29.0",
77
- "rollup": "^2.75.7",
82
+ "rollup": "^4.24.0",
78
83
  "rollup-plugin-analyzer": "^4.0.0",
79
84
  "rollup-plugin-cleaner": "^1.0.0",
80
85
  "rollup-plugin-copy": "^3.5.0",
@@ -82,10 +87,10 @@
82
87
  "synckit": "^0.9.0"
83
88
  },
84
89
  "peerDependencies": {
85
- "@bigbinary/neeto-cist": "latest",
86
- "@bigbinary/neeto-commons-frontend": "latest",
87
- "eslint": "^8.18.0",
90
+ "@bigbinary/neeto-cist": "^1.0.3",
91
+ "@bigbinary/neeto-commons-frontend": "4.12.3",
92
+ "eslint": "8.14.0",
88
93
  "i18next": "21.7.0",
89
- "ramda": "^0.29.0"
94
+ "ramda": "0.29.0"
90
95
  }
91
96
  }