@checkdigit/eslint-plugin 5.6.0-PR.57-e757 → 6.0.0-PR.59-ed0a

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.
@@ -1,7 +1,6 @@
1
1
  // src/index.ts
2
2
  import filePathComment from "./file-path-comment.mjs";
3
3
  import noCardNumbers from "./no-card-numbers.mjs";
4
- import noUtil from "./no-util.mjs";
5
4
  import noUuid from "./no-uuid.mjs";
6
5
  import noWallabyComment from "./no-wallaby-comment.mjs";
7
6
  import regexComment from "./regular-expression-comment.mjs";
@@ -13,8 +12,7 @@ var src_default = {
13
12
  "no-uuid": noUuid,
14
13
  "require-strict-assert": requireStrictAssert,
15
14
  "no-wallaby-comment": noWallabyComment,
16
- "regular-expression-comment": regexComment,
17
- "no-util": noUtil
15
+ "regular-expression-comment": regexComment
18
16
  },
19
17
  configs: {
20
18
  all: {
@@ -24,8 +22,7 @@ var src_default = {
24
22
  "@checkdigit/no-uuid": "error",
25
23
  "@checkdigit/require-strict-assert": "error",
26
24
  "@checkdigit/no-wallaby-comment": "error",
27
- "@checkdigit/regular-expression-comment": "error",
28
- "@checkdigit/no-util": "error"
25
+ "@checkdigit/regular-expression-comment": "error"
29
26
  }
30
27
  },
31
28
  recommended: {
@@ -35,8 +32,7 @@ var src_default = {
35
32
  "@checkdigit/no-uuid": "error",
36
33
  "@checkdigit/require-strict-assert": "error",
37
34
  "@checkdigit/no-wallaby-comment": "off",
38
- "@checkdigit/regular-expression-comment": "error",
39
- "@checkdigit/no-util": "error"
35
+ "@checkdigit/regular-expression-comment": "error"
40
36
  }
41
37
  }
42
38
  }
@@ -44,4 +40,4 @@ var src_default = {
44
40
  export {
45
41
  src_default as default
46
42
  };
47
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLE9BQU8scUJBQXFCO0FBQzVCLE9BQU8sbUJBQW1CO0FBQzFCLE9BQU8sWUFBWTtBQUNuQixPQUFPLFlBQVk7QUFDbkIsT0FBTyxzQkFBc0I7QUFDN0IsT0FBTyxrQkFBa0I7QUFDekIsT0FBTyx5QkFBeUI7QUFFaEMsSUFBTyxjQUFRO0FBQUEsRUFDYixPQUFPO0FBQUEsSUFDTCxxQkFBcUI7QUFBQSxJQUNyQixtQkFBbUI7QUFBQSxJQUNuQixXQUFXO0FBQUEsSUFDWCx5QkFBeUI7QUFBQSxJQUN6QixzQkFBc0I7QUFBQSxJQUN0Qiw4QkFBOEI7QUFBQSxJQUM5QixXQUFXO0FBQUEsRUFDYjtBQUFBLEVBQ0EsU0FBUztBQUFBLElBQ1AsS0FBSztBQUFBLE1BQ0gsT0FBTztBQUFBLFFBQ0wsK0JBQStCO0FBQUEsUUFDL0IsaUNBQWlDO0FBQUEsUUFDakMsdUJBQXVCO0FBQUEsUUFDdkIscUNBQXFDO0FBQUEsUUFDckMsa0NBQWtDO0FBQUEsUUFDbEMsMENBQTBDO0FBQUEsUUFDMUMsdUJBQXVCO0FBQUEsTUFDekI7QUFBQSxJQUNGO0FBQUEsSUFDQSxhQUFhO0FBQUEsTUFDWCxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQixpQ0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxRQUMxQyx1QkFBdUI7QUFBQSxNQUN6QjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
43
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLE9BQU8scUJBQXFCO0FBQzVCLE9BQU8sbUJBQW1CO0FBQzFCLE9BQU8sWUFBWTtBQUNuQixPQUFPLHNCQUFzQjtBQUM3QixPQUFPLGtCQUFrQjtBQUN6QixPQUFPLHlCQUF5QjtBQUVoQyxJQUFPLGNBQVE7QUFBQSxFQUNiLE9BQU87QUFBQSxJQUNMLHFCQUFxQjtBQUFBLElBQ3JCLG1CQUFtQjtBQUFBLElBQ25CLFdBQVc7QUFBQSxJQUNYLHlCQUF5QjtBQUFBLElBQ3pCLHNCQUFzQjtBQUFBLElBQ3RCLDhCQUE4QjtBQUFBLEVBQ2hDO0FBQUEsRUFDQSxTQUFTO0FBQUEsSUFDUCxLQUFLO0FBQUEsTUFDSCxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQixpQ0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxNQUM1QztBQUFBLElBQ0Y7QUFBQSxJQUNBLGFBQWE7QUFBQSxNQUNYLE9BQU87QUFBQSxRQUNMLCtCQUErQjtBQUFBLFFBQy9CLGlDQUFpQztBQUFBLFFBQ2pDLHVCQUF1QjtBQUFBLFFBQ3ZCLHFDQUFxQztBQUFBLFFBQ3JDLGtDQUFrQztBQUFBLFFBQ2xDLDBDQUEwQztBQUFBLE1BQzVDO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -107,7 +107,7 @@ var no_card_numbers_default = {
107
107
  if (typeof node.value !== "string" && typeof node.value !== "number") {
108
108
  return;
109
109
  }
110
- const value = `${node.value}`;
110
+ const value = String(node.value);
111
111
  checkForCardNumbers(value, context, node);
112
112
  },
113
113
  TemplateElement(node) {
@@ -122,4 +122,4 @@ var no_card_numbers_default = {
122
122
  export {
123
123
  no_card_numbers_default as default
124
124
  };
125
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLWNhcmQtbnVtYmVycy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFXQSxJQUFNLG9CQUFvQjtBQUMxQixJQUFNLHFCQUFxQjtBQUMzQixJQUFNLGtCQUFrQjtBQUN4QixJQUFNLG1CQUFtQjtBQUFBLEVBQ3ZCO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQ0Y7QUFFQSxTQUFTLFVBQVUsWUFBb0I7QUFDckMsU0FDRSxXQUNHLE1BQU0sRUFBRSxFQUNSLFFBQVEsRUFDUixJQUFJLENBQUMsVUFBVSxTQUFTLE9BQU8sRUFBRSxDQUFDLEVBQ2xDLE9BQU8sQ0FBQyxlQUFlLGNBQWMsVUFBVTtBQUM5QyxRQUFJLFFBQVE7QUFDWixRQUFJLFFBQVEsTUFBTSxHQUFHO0FBQ25CLGVBQVM7QUFFVCxVQUFJLFFBQVEsR0FBRztBQUNiLGdCQUFTLFFBQVEsS0FBTTtBQUFBLE1BQ3pCO0FBQUEsSUFDRjtBQUNBLFdBQU8sZ0JBQWdCO0FBQUEsRUFDekIsR0FBRyxDQUFDLElBQ0osT0FDRjtBQUVKO0FBRUEsU0FBUyxvQkFBb0IsT0FBZSxTQUEyQixNQUFhLEtBQXNCO0FBQ3hHLFFBQU0sVUFBVSxNQUFNLE1BQU0sZUFBZTtBQUMzQyxNQUFJLFlBQVksTUFBTTtBQUNwQjtBQUFBLEVBQ0Y7QUFDQSxRQUFNLGNBQWMsUUFBUTtBQUFBLElBQzFCLENBQUMsVUFDQyxVQUFVLEtBQUssS0FDZixDQUFDLGlCQUFpQixTQUFTLEtBQUs7QUFBQSxJQUVoQyxDQUFDLE1BQU0sV0FBVyxHQUFHLEtBQ3JCLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FDckIsQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUNyQixDQUFDLE1BQU0sV0FBVyxHQUFHLEtBQ3JCLENBQUMsTUFBTSxXQUFXLEdBQUc7QUFBQSxFQUN6QjtBQUNBLE1BQUksWUFBWSxXQUFXLEdBQUc7QUFDNUIsVUFBTSxhQUFhLFlBQVksQ0FBQztBQUNoQyxRQUFJLGVBQWUsUUFBVztBQUM1QixVQUFJLFNBQVMsUUFBVztBQUN0QixnQkFBUSxPQUFPO0FBQUEsVUFDYixXQUFXO0FBQUEsVUFDWCxNQUFNO0FBQUEsWUFDSixRQUFRO0FBQUEsVUFDVjtBQUFBLFVBQ0E7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNILFdBQVcsUUFBUSxRQUFXO0FBQzVCLGdCQUFRLE9BQU87QUFBQSxVQUNiLFdBQVc7QUFBQSxVQUNYLE1BQU07QUFBQSxZQUNKLFFBQVE7QUFBQSxVQUNWO0FBQUEsVUFDQSxLQUFLO0FBQUEsWUFDSCxPQUFPLElBQUk7QUFBQSxZQUNYLEtBQUssSUFBSTtBQUFBLFVBQ1g7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBQUEsSUFDRjtBQUFBLEVBQ0YsV0FBVyxZQUFZLFNBQVMsR0FBRztBQUNqQyxRQUFJLFNBQVMsUUFBVztBQUN0QixjQUFRLE9BQU87QUFBQSxRQUNiLFdBQVc7QUFBQSxRQUNYLE1BQU07QUFBQSxVQUNKLFNBQVMsUUFBUSxLQUFLLElBQUk7QUFBQSxRQUM1QjtBQUFBLFFBQ0E7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNILFdBQVcsUUFBUSxRQUFXO0FBQzVCLGNBQVEsT0FBTztBQUFBLFFBQ2IsV0FBVztBQUFBLFFBQ1gsTUFBTTtBQUFBLFVBQ0osU0FBUyxRQUFRLEtBQUssSUFBSTtBQUFBLFFBQzVCO0FBQUEsUUFDQSxLQUFLO0FBQUEsVUFDSCxPQUFPLElBQUk7QUFBQSxVQUNYLEtBQUssSUFBSTtBQUFBLFFBQ1g7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBRUEsSUFBTywwQkFBUTtBQUFBLEVBQ2IsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLE1BQ2IsS0FBSztBQUFBLElBQ1A7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsaUJBQWlCLEdBQUc7QUFBQSxNQUNyQixDQUFDLGtCQUFrQixHQUFHO0FBQUEsSUFDeEI7QUFBQSxFQUNGO0FBQUEsRUFDQSxPQUFPLFNBQVM7QUFDZCxVQUFNLGFBQWEsUUFBUTtBQUMzQixVQUFNLFdBQVcsV0FBVyxlQUFlO0FBRTNDLGFBQVMsUUFBUSxDQUFDLFlBQVk7QUFDNUIsVUFBSSxRQUFRLFFBQVEsVUFBYSxRQUFRLFFBQVEsTUFBTTtBQUNyRCw0QkFBb0IsUUFBUSxPQUFPLFNBQVMsUUFBVyxRQUFRLEdBQUc7QUFBQSxNQUNwRTtBQUFBLElBQ0YsQ0FBQztBQUNELFdBQU87QUFBQSxNQUNMLFFBQVEsTUFBTTtBQUNaLFlBQUksS0FBSyxVQUFVLFFBQVc7QUFDNUI7QUFBQSxRQUNGO0FBQ0EsWUFBSSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxVQUFVLFVBQVU7QUFDcEU7QUFBQSxRQUNGO0FBQ0EsY0FBTSxRQUFRLEdBQUcsS0FBSyxLQUFLO0FBQzNCLDRCQUFvQixPQUFPLFNBQVMsSUFBSTtBQUFBLE1BQzFDO0FBQUEsTUFDQSxnQkFBZ0IsTUFBTTtBQUNwQixZQUFJLE9BQU8sS0FBSyxNQUFNLFdBQVcsVUFBVTtBQUN6QztBQUFBLFFBQ0Y7QUFDQSw0QkFBb0IsS0FBSyxNQUFNLFFBQVEsU0FBUyxJQUFJO0FBQUEsTUFDdEQ7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
125
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLWNhcmQtbnVtYmVycy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFXQSxJQUFNLG9CQUFvQjtBQUMxQixJQUFNLHFCQUFxQjtBQUMzQixJQUFNLGtCQUFrQjtBQUN4QixJQUFNLG1CQUFtQjtBQUFBLEVBQ3ZCO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQ0Y7QUFFQSxTQUFTLFVBQVUsWUFBb0I7QUFDckMsU0FDRSxXQUNHLE1BQU0sRUFBRSxFQUNSLFFBQVEsRUFDUixJQUFJLENBQUMsVUFBVSxTQUFTLE9BQU8sRUFBRSxDQUFDLEVBQ2xDLE9BQU8sQ0FBQyxlQUFlLGNBQWMsVUFBVTtBQUM5QyxRQUFJLFFBQVE7QUFDWixRQUFJLFFBQVEsTUFBTSxHQUFHO0FBQ25CLGVBQVM7QUFFVCxVQUFJLFFBQVEsR0FBRztBQUNiLGdCQUFTLFFBQVEsS0FBTTtBQUFBLE1BQ3pCO0FBQUEsSUFDRjtBQUNBLFdBQU8sZ0JBQWdCO0FBQUEsRUFDekIsR0FBRyxDQUFDLElBQ0osT0FDRjtBQUVKO0FBRUEsU0FBUyxvQkFBb0IsT0FBZSxTQUEyQixNQUFhLEtBQXNCO0FBQ3hHLFFBQU0sVUFBVSxNQUFNLE1BQU0sZUFBZTtBQUMzQyxNQUFJLFlBQVksTUFBTTtBQUNwQjtBQUFBLEVBQ0Y7QUFDQSxRQUFNLGNBQWMsUUFBUTtBQUFBLElBQzFCLENBQUMsVUFDQyxVQUFVLEtBQUssS0FDZixDQUFDLGlCQUFpQixTQUFTLEtBQUs7QUFBQSxJQUVoQyxDQUFDLE1BQU0sV0FBVyxHQUFHLEtBQ3JCLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FDckIsQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUNyQixDQUFDLE1BQU0sV0FBVyxHQUFHLEtBQ3JCLENBQUMsTUFBTSxXQUFXLEdBQUc7QUFBQSxFQUN6QjtBQUNBLE1BQUksWUFBWSxXQUFXLEdBQUc7QUFDNUIsVUFBTSxhQUFhLFlBQVksQ0FBQztBQUNoQyxRQUFJLGVBQWUsUUFBVztBQUM1QixVQUFJLFNBQVMsUUFBVztBQUN0QixnQkFBUSxPQUFPO0FBQUEsVUFDYixXQUFXO0FBQUEsVUFDWCxNQUFNO0FBQUEsWUFDSixRQUFRO0FBQUEsVUFDVjtBQUFBLFVBQ0E7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNILFdBQVcsUUFBUSxRQUFXO0FBQzVCLGdCQUFRLE9BQU87QUFBQSxVQUNiLFdBQVc7QUFBQSxVQUNYLE1BQU07QUFBQSxZQUNKLFFBQVE7QUFBQSxVQUNWO0FBQUEsVUFDQSxLQUFLO0FBQUEsWUFDSCxPQUFPLElBQUk7QUFBQSxZQUNYLEtBQUssSUFBSTtBQUFBLFVBQ1g7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBQUEsSUFDRjtBQUFBLEVBQ0YsV0FBVyxZQUFZLFNBQVMsR0FBRztBQUNqQyxRQUFJLFNBQVMsUUFBVztBQUN0QixjQUFRLE9BQU87QUFBQSxRQUNiLFdBQVc7QUFBQSxRQUNYLE1BQU07QUFBQSxVQUNKLFNBQVMsUUFBUSxLQUFLLElBQUk7QUFBQSxRQUM1QjtBQUFBLFFBQ0E7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNILFdBQVcsUUFBUSxRQUFXO0FBQzVCLGNBQVEsT0FBTztBQUFBLFFBQ2IsV0FBVztBQUFBLFFBQ1gsTUFBTTtBQUFBLFVBQ0osU0FBUyxRQUFRLEtBQUssSUFBSTtBQUFBLFFBQzVCO0FBQUEsUUFDQSxLQUFLO0FBQUEsVUFDSCxPQUFPLElBQUk7QUFBQSxVQUNYLEtBQUssSUFBSTtBQUFBLFFBQ1g7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBRUEsSUFBTywwQkFBUTtBQUFBLEVBQ2IsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLE1BQ2IsS0FBSztBQUFBLElBQ1A7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsaUJBQWlCLEdBQUc7QUFBQSxNQUNyQixDQUFDLGtCQUFrQixHQUFHO0FBQUEsSUFDeEI7QUFBQSxFQUNGO0FBQUEsRUFDQSxPQUFPLFNBQVM7QUFDZCxVQUFNLGFBQWEsUUFBUTtBQUMzQixVQUFNLFdBQVcsV0FBVyxlQUFlO0FBRTNDLGFBQVMsUUFBUSxDQUFDLFlBQVk7QUFDNUIsVUFBSSxRQUFRLFFBQVEsVUFBYSxRQUFRLFFBQVEsTUFBTTtBQUNyRCw0QkFBb0IsUUFBUSxPQUFPLFNBQVMsUUFBVyxRQUFRLEdBQUc7QUFBQSxNQUNwRTtBQUFBLElBQ0YsQ0FBQztBQUNELFdBQU87QUFBQSxNQUNMLFFBQVEsTUFBTTtBQUNaLFlBQUksS0FBSyxVQUFVLFFBQVc7QUFDNUI7QUFBQSxRQUNGO0FBQ0EsWUFBSSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxVQUFVLFVBQVU7QUFDcEU7QUFBQSxRQUNGO0FBQ0EsY0FBTSxRQUFRLE9BQU8sS0FBSyxLQUFLO0FBQy9CLDRCQUFvQixPQUFPLFNBQVMsSUFBSTtBQUFBLE1BQzFDO0FBQUEsTUFDQSxnQkFBZ0IsTUFBTTtBQUNwQixZQUFJLE9BQU8sS0FBSyxNQUFNLFdBQVcsVUFBVTtBQUN6QztBQUFBLFFBQ0Y7QUFDQSw0QkFBb0IsS0FBSyxNQUFNLFFBQVEsU0FBUyxJQUFJO0FBQUEsTUFDdEQ7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -6,7 +6,6 @@ declare const _default: {
6
6
  'require-strict-assert': import("eslint").Rule.RuleModule;
7
7
  'no-wallaby-comment': import("eslint").Rule.RuleModule;
8
8
  'regular-expression-comment': import("eslint").Rule.RuleModule;
9
- 'no-util': import("eslint").Rule.RuleModule;
10
9
  };
11
10
  configs: {
12
11
  all: {
@@ -17,7 +16,6 @@ declare const _default: {
17
16
  '@checkdigit/require-strict-assert': string;
18
17
  '@checkdigit/no-wallaby-comment': string;
19
18
  '@checkdigit/regular-expression-comment': string;
20
- '@checkdigit/no-util': string;
21
19
  };
22
20
  };
23
21
  recommended: {
@@ -28,7 +26,6 @@ declare const _default: {
28
26
  '@checkdigit/require-strict-assert': string;
29
27
  '@checkdigit/no-wallaby-comment': string;
30
28
  '@checkdigit/regular-expression-comment': string;
31
- '@checkdigit/no-util': string;
32
29
  };
33
30
  };
34
31
  };
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@checkdigit/eslint-plugin","version":"5.6.0-PR.57-e757","description":"Check Digit eslint plugins","prettier":"@checkdigit/prettier-config","type":"module","exports":{".":{"types":"./dist-types/index.d.ts","require":"./dist-cjs/index.cjs","import":"./dist-mjs/index.mjs","default":"./dist-mjs/index.mjs"}},"keywords":["eslint","eslintplugin"],"engines":{"node":">=18"},"repository":{"type":"git","url":"git+https://github.com/checkdigit/eslint-plugin.git"},"author":"Check Digit, LLC","license":"MIT","bugs":{"url":"https://github.com/checkdigit/eslint-plugin/issues"},"homepage":"https://github.com/checkdigit/eslint-plugin#readme","peerDependencies":{"eslint":">=8 <9"},"devDependencies":{"@checkdigit/jest-config":"^3.1.1","@checkdigit/prettier-config":"^5.0.0","@checkdigit/typescript-config":"^6.0.0","@types/eslint":"^8.44.9","@typescript-eslint/eslint-plugin":"^6.15.0","@typescript-eslint/parser":"^6.15.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-plugin":"^5.2.1","eslint-plugin-import":"^2.29.1","eslint-plugin-no-only-tests":"^3.1.0","eslint-plugin-no-secrets":"^0.8.9","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"^0.23.0"},"scripts":{"prepublishOnly":"npm run build:dist-types && npm run build:dist-cjs && npm run build:dist-mjs","build:dist-types":"rimraf dist-types && npx builder --type=types --outDir=dist-types","build:dist-cjs":"rimraf dist-cjs && npx builder --type=commonjs --sourceMap --entryPoint=index.ts --outDir=dist-cjs --outFile=index.cjs && echo \"module.exports = module.exports.default;\" >> dist-cjs/index.cjs && node dist-cjs/index.cjs","build:dist-mjs":"rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs","lint:fix":"eslint --ignore-path .gitignore . --fix","lint":"eslint --max-warnings 0 --ignore-path .gitignore .","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style","ci:compile":"tsc --noEmit","ci:test":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage=false","ci:coverage":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage=true","ci:lint":"npm run lint","ci:style":"npm run prettier"},"jest":{"preset":"@checkdigit/jest-config"},"files":["src","dist-types","dist-cjs","dist-mjs","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-cjs/**/*.test.cjs","!dist-cjs/**/*.spec.cjs","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"]}
1
+ {"name":"@checkdigit/eslint-plugin","version":"6.0.0-PR.59-ed0a","description":"Check Digit eslint plugins","prettier":"@checkdigit/prettier-config","type":"module","exports":{".":{"types":"./dist-types/index.d.ts","import":"./dist-mjs/index.mjs","default":"./dist-mjs/index.mjs"}},"keywords":["eslint","eslintplugin"],"engines":{"node":">=20.11"},"repository":{"type":"git","url":"git+https://github.com/checkdigit/eslint-plugin.git"},"author":"Check Digit, LLC","license":"MIT","bugs":{"url":"https://github.com/checkdigit/eslint-plugin/issues"},"homepage":"https://github.com/checkdigit/eslint-plugin#readme","peerDependencies":{"eslint":">=8 <9"},"sideEffects":false,"devDependencies":{"@checkdigit/jest-config":"^6.0.0","@checkdigit/prettier-config":"^5.3.0","@checkdigit/typescript-config":"^7.0.0","@types/eslint":"^8.56.6","@typescript-eslint/eslint-plugin":"^7.3.1","@typescript-eslint/parser":"^7.3.1","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-plugin":"^5.4.1","eslint-plugin-import":"^2.29.1","eslint-plugin-no-only-tests":"^3.1.0","eslint-plugin-no-secrets":"^0.8.9","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"^0.24.0"},"scripts":{"prepublishOnly":"npm run build:dist-types && npm run build:dist-mjs","build:dist-types":"rimraf dist-types && npx builder --type=types --outDir=dist-types","build:dist-mjs":"rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","lint":"eslint --max-warnings 0 --ignore-path .gitignore .","lint:fix":"eslint --ignore-path .gitignore . --fix","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style","ci:compile":"tsc --noEmit","ci:test":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=false","ci:coverage":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=true","ci:lint":"npm run lint","ci:style":"npm run prettier"},"jest":{"preset":"@checkdigit/jest-config"},"files":["src","dist-types","dist-mjs","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"]}
@@ -3,7 +3,7 @@
3
3
  import type { Rule } from 'eslint';
4
4
 
5
5
  /*
6
- * Copyright (c) 2021-2022 Check Digit, LLC
6
+ * Copyright (c) 2021-2024 Check Digit, LLC
7
7
  *
8
8
  * This code is licensed under the MIT license (see LICENSE.txt for details).
9
9
  */
package/src/index.ts CHANGED
@@ -1,14 +1,13 @@
1
1
  // index.ts
2
2
 
3
3
  /*
4
- * Copyright (c) 2021-2022 Check Digit, LLC
4
+ * Copyright (c) 2021-2024 Check Digit, LLC
5
5
  *
6
6
  * This code is licensed under the MIT license (see LICENSE.txt for details).
7
7
  */
8
8
 
9
9
  import filePathComment from './file-path-comment';
10
10
  import noCardNumbers from './no-card-numbers';
11
- import noUtil from './no-util';
12
11
  import noUuid from './no-uuid';
13
12
  import noWallabyComment from './no-wallaby-comment';
14
13
  import regexComment from './regular-expression-comment';
@@ -22,7 +21,6 @@ export default {
22
21
  'require-strict-assert': requireStrictAssert,
23
22
  'no-wallaby-comment': noWallabyComment,
24
23
  'regular-expression-comment': regexComment,
25
- 'no-util': noUtil,
26
24
  },
27
25
  configs: {
28
26
  all: {
@@ -33,7 +31,6 @@ export default {
33
31
  '@checkdigit/require-strict-assert': 'error',
34
32
  '@checkdigit/no-wallaby-comment': 'error',
35
33
  '@checkdigit/regular-expression-comment': 'error',
36
- '@checkdigit/no-util': 'error',
37
34
  },
38
35
  },
39
36
  recommended: {
@@ -44,7 +41,6 @@ export default {
44
41
  '@checkdigit/require-strict-assert': 'error',
45
42
  '@checkdigit/no-wallaby-comment': 'off',
46
43
  '@checkdigit/regular-expression-comment': 'error',
47
- '@checkdigit/no-util': 'error',
48
44
  },
49
45
  },
50
46
  },
@@ -1,7 +1,7 @@
1
1
  // no-card-numbers.ts
2
2
 
3
3
  /*
4
- * Copyright (c) 2021-2022 Check Digit, LLC
4
+ * Copyright (c) 2021-2024 Check Digit, LLC
5
5
  *
6
6
  * This code is licensed under the MIT license (see LICENSE.txt for details).
7
7
  */
@@ -137,7 +137,7 @@ export default {
137
137
  if (typeof node.value !== 'string' && typeof node.value !== 'number') {
138
138
  return;
139
139
  }
140
- const value = `${node.value}`;
140
+ const value = String(node.value);
141
141
  checkForCardNumbers(value, context, node);
142
142
  },
143
143
  TemplateElement(node) {
package/src/no-uuid.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  // no-uuid.ts
2
2
 
3
3
  /*
4
- * Copyright (c) 2022 Check Digit, LLC
4
+ * Copyright (c) 2022-2024 Check Digit, LLC
5
5
  *
6
6
  * This code is licensed under the MIT license (see LICENSE.txt for details).
7
7
  */
@@ -1,7 +1,7 @@
1
1
  // no-wallaby-comment.ts
2
2
 
3
3
  /*
4
- * Copyright (c) 2022-2023 Check Digit, LLC
4
+ * Copyright (c) 2022-2024 Check Digit, LLC
5
5
  *
6
6
  * This code is licensed under the MIT license (see LICENSE.txt for details).
7
7
  */
@@ -1,7 +1,7 @@
1
1
  // regular-expression-comment.ts
2
2
 
3
3
  /*
4
- * Copyright (c) 2021-2023 Check Digit, LLC
4
+ * Copyright (c) 2021-2024 Check Digit, LLC
5
5
  *
6
6
  * This code is licensed under the MIT license (see LICENSE.txt for details).
7
7
  */
@@ -1,7 +1,7 @@
1
1
  // require-strict-assert.ts
2
2
 
3
3
  /*
4
- * Copyright (c) 2021-2023 Check Digit, LLC
4
+ * Copyright (c) 2021-2024 Check Digit, LLC
5
5
  *
6
6
  * This code is licensed under the MIT license (see LICENSE.txt for details).
7
7
  */
@@ -1,586 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
23
- default: () => src_default
24
- });
25
- module.exports = __toCommonJS(src_exports);
26
-
27
- // src/file-path-comment.ts
28
- var file_path_comment_default = {
29
- meta: {
30
- type: "suggestion",
31
- docs: {
32
- description: "Validate that first line of file is a path to the file",
33
- url: "https://github.com/checkdigit/eslint-plugin"
34
- },
35
- fixable: "code"
36
- },
37
- create(context) {
38
- const firstLine = context.sourceCode.getLines()[0];
39
- const expectedPath = context.filename.split("src/")[1];
40
- if (firstLine === void 0 || expectedPath === void 0) {
41
- return {};
42
- }
43
- if (!firstLine.startsWith("//")) {
44
- if (firstLine.startsWith("/*")) {
45
- context.report({
46
- loc: {
47
- start: {
48
- line: 0,
49
- column: 0
50
- },
51
- end: {
52
- line: 0,
53
- column: 1
54
- }
55
- },
56
- message: "first line cannot be a block comment",
57
- fix(fixer) {
58
- return fixer.insertTextBeforeRange([0, 0], `// ${expectedPath}
59
-
60
- `);
61
- }
62
- });
63
- } else {
64
- context.report({
65
- loc: {
66
- start: {
67
- line: 0,
68
- column: 0
69
- },
70
- end: {
71
- line: 0,
72
- column: 1
73
- }
74
- },
75
- message: "first line is not a comment with the file path",
76
- fix(fixer) {
77
- return fixer.insertTextBeforeRange([0, 0], `// ${expectedPath}
78
-
79
- `);
80
- }
81
- });
82
- }
83
- } else {
84
- const actualComment = firstLine.split("// ")[1];
85
- if (expectedPath !== actualComment) {
86
- context.report({
87
- loc: {
88
- start: {
89
- line: 0,
90
- column: 0
91
- },
92
- end: {
93
- line: 0,
94
- column: 1
95
- }
96
- },
97
- message: "first line is a comment but is not a path to the file",
98
- fix(fixer) {
99
- return fixer.replaceTextRange([0, firstLine.length], `// ${expectedPath}`);
100
- }
101
- });
102
- }
103
- }
104
- return {};
105
- }
106
- };
107
-
108
- // src/no-card-numbers.ts
109
- var CARD_NUMBER_FOUND = "CARD_NUMBER_FOUND";
110
- var CARD_NUMBERS_FOUND = "CARD_NUMBERS_FOUND";
111
- var cardNumberRegex = /\d{15,19}/gmu;
112
- var allowCardNumbers = [
113
- "4111111111111111",
114
- "111111111111111",
115
- "000000000000000",
116
- "0000000000000000",
117
- "00000000000000000",
118
- "000000000000000000",
119
- "0000000000000000000"
120
- ];
121
- function luhnCheck(cardNumber) {
122
- return cardNumber.split("").reverse().map((digit) => parseInt(digit, 10)).reduce((previousValue, currentValue, index) => {
123
- let value = currentValue;
124
- if (index % 2 === 1) {
125
- value *= 2;
126
- if (value > 9) {
127
- value = value % 10 + 1;
128
- }
129
- }
130
- return previousValue + value;
131
- }, 0) % 10 === 0;
132
- }
133
- function checkForCardNumbers(value, context, node, loc) {
134
- const matches = value.match(cardNumberRegex);
135
- if (matches === null) {
136
- return;
137
- }
138
- const cardNumbers = matches.filter(
139
- (match) => luhnCheck(match) && !allowCardNumbers.includes(match) && // any 16-digit number that begins with 0-1 or 7-9 is not a valid card number
140
- !match.startsWith("0") && !match.startsWith("1") && !match.startsWith("7") && !match.startsWith("8") && !match.startsWith("9")
141
- );
142
- if (cardNumbers.length === 1) {
143
- const cardNumber = cardNumbers[0];
144
- if (cardNumber !== void 0) {
145
- if (node !== void 0) {
146
- context.report({
147
- messageId: CARD_NUMBER_FOUND,
148
- data: {
149
- number: cardNumber
150
- },
151
- node
152
- });
153
- } else if (loc !== void 0) {
154
- context.report({
155
- messageId: CARD_NUMBER_FOUND,
156
- data: {
157
- number: cardNumber
158
- },
159
- loc: {
160
- start: loc.start,
161
- end: loc.end
162
- }
163
- });
164
- }
165
- }
166
- } else if (cardNumbers.length > 1) {
167
- if (node !== void 0) {
168
- context.report({
169
- messageId: CARD_NUMBERS_FOUND,
170
- data: {
171
- numbers: matches.join(", ")
172
- },
173
- node
174
- });
175
- } else if (loc !== void 0) {
176
- context.report({
177
- messageId: CARD_NUMBERS_FOUND,
178
- data: {
179
- numbers: matches.join(", ")
180
- },
181
- loc: {
182
- start: loc.start,
183
- end: loc.end
184
- }
185
- });
186
- }
187
- }
188
- }
189
- var no_card_numbers_default = {
190
- meta: {
191
- type: "problem",
192
- docs: {
193
- description: "Detects if a luhn passing card number",
194
- url: "https://github.com/checkdigit/eslint-plugin"
195
- },
196
- messages: {
197
- [CARD_NUMBER_FOUND]: `Valid card number: "{{ number }}"`,
198
- [CARD_NUMBERS_FOUND]: `Multiple valid card numbers found: "{{ numbers }}"`
199
- }
200
- },
201
- create(context) {
202
- const sourceCode = context.sourceCode;
203
- const comments = sourceCode.getAllComments();
204
- comments.forEach((comment) => {
205
- if (comment.loc !== void 0 && comment.loc !== null) {
206
- checkForCardNumbers(comment.value, context, void 0, comment.loc);
207
- }
208
- });
209
- return {
210
- Literal(node) {
211
- if (node.value === void 0) {
212
- return;
213
- }
214
- if (typeof node.value !== "string" && typeof node.value !== "number") {
215
- return;
216
- }
217
- const value = `${node.value}`;
218
- checkForCardNumbers(value, context, node);
219
- },
220
- TemplateElement(node) {
221
- if (typeof node.value.cooked !== "string") {
222
- return;
223
- }
224
- checkForCardNumbers(node.value.cooked, context, node);
225
- }
226
- };
227
- }
228
- };
229
-
230
- // src/no-util.ts
231
- var no_util_default = {
232
- meta: {
233
- type: "problem",
234
- docs: {
235
- description: "Detects if file name is util",
236
- url: "https://github.com/checkdigit/eslint-plugin"
237
- }
238
- },
239
- create(context) {
240
- return {
241
- Program() {
242
- const filename = context.filename;
243
- const utilRegex = /(?:^|[-_/])util(?=[-_./]|$)/iu;
244
- if (utilRegex.test(filename)) {
245
- context.report({
246
- message: `File name '${filename}' contains banned 'util' pattern.`,
247
- loc: {
248
- start: {
249
- line: 0,
250
- column: 0
251
- },
252
- end: {
253
- line: 0,
254
- column: 1
255
- }
256
- }
257
- });
258
- }
259
- }
260
- };
261
- }
262
- };
263
-
264
- // src/no-uuid.ts
265
- var UUID_FOUND = "UUID_FOUND";
266
- var UUIDS_FOUND = "UUIDS_FOUND";
267
- var uuidRegex = /[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}/gmu;
268
- function checkForUuid(value, context, node, loc) {
269
- const matches = value.match(uuidRegex);
270
- if (matches === null) {
271
- return;
272
- }
273
- if (matches.length === 1) {
274
- if (node !== void 0) {
275
- context.report({
276
- messageId: UUID_FOUND,
277
- data: {
278
- uuid: matches[0]
279
- },
280
- node
281
- });
282
- } else if (loc !== void 0) {
283
- context.report({
284
- messageId: UUID_FOUND,
285
- data: {
286
- uuid: matches[0]
287
- },
288
- loc: {
289
- start: loc.start,
290
- end: loc.end
291
- }
292
- });
293
- }
294
- } else if (matches.length > 1) {
295
- if (node !== void 0) {
296
- context.report({
297
- messageId: UUIDS_FOUND,
298
- data: {
299
- uuids: matches.join(", ")
300
- },
301
- node
302
- });
303
- } else if (loc !== void 0) {
304
- context.report({
305
- messageId: UUIDS_FOUND,
306
- data: {
307
- uuids: matches.join(", ")
308
- },
309
- loc: {
310
- start: loc.start,
311
- end: loc.end
312
- }
313
- });
314
- }
315
- }
316
- }
317
- var no_uuid_default = {
318
- meta: {
319
- type: "problem",
320
- docs: {
321
- description: "Detects if a string literal contains a UUID",
322
- url: "https://github.com/checkdigit/eslint-plugin"
323
- },
324
- messages: {
325
- [UUID_FOUND]: `UUID found: "{{ uuid }}"`,
326
- [UUIDS_FOUND]: `Multiple UUIDs found: "{{ uuids }}"`
327
- }
328
- },
329
- create(context) {
330
- const sourceCode = context.sourceCode;
331
- const comments = sourceCode.getAllComments();
332
- comments.forEach((comment) => {
333
- if (comment.loc !== void 0 && comment.loc !== null) {
334
- checkForUuid(comment.value, context, void 0, comment.loc);
335
- }
336
- });
337
- return {
338
- Literal(node) {
339
- if (node.value === void 0) {
340
- return;
341
- }
342
- if (typeof node.value !== "string") {
343
- return;
344
- }
345
- const value = node.value;
346
- checkForUuid(value, context, node);
347
- },
348
- TemplateElement(node) {
349
- if (typeof node.value.cooked !== "string") {
350
- return;
351
- }
352
- checkForUuid(node.value.cooked, context, node);
353
- }
354
- };
355
- }
356
- };
357
-
358
- // src/no-wallaby-comment.ts
359
- var wallabyRegex = /(?<=(?:^|\*\/)\s*)[?]{1,2}|file\.only|file\.skip/gu;
360
- var commentRegex = /\s*(?:\/\/|<!--)\s*(?<comment>\?{1,2}\.?\s*|file\.(?:only|skip))\s*/gu;
361
- function removeWallabyComment(context, sourceCode, start, end) {
362
- context.report({
363
- loc: {
364
- start: sourceCode.getLocFromIndex(start),
365
- end: sourceCode.getLocFromIndex(end)
366
- },
367
- message: "Remove wallaby-specific comments",
368
- fix: (fixer) => fixer.removeRange([start, end])
369
- });
370
- }
371
- function processLineComment(context, sourceCode, comment) {
372
- if (comment.loc) {
373
- const line = sourceCode.getLines()[comment.loc.start.line - 1];
374
- if (line !== void 0) {
375
- let match;
376
- while ((match = commentRegex.exec(line)) !== null) {
377
- const start = sourceCode.getIndexFromLoc({ line: comment.loc.start.line, column: match.index });
378
- const end = sourceCode.getIndexFromLoc({ line: comment.loc.start.line, column: comment.loc.end.column });
379
- removeWallabyComment(context, sourceCode, start, end);
380
- }
381
- }
382
- }
383
- }
384
- function processBlockComment(context, sourceCode, comment) {
385
- const commentValues = comment.value.split("\n");
386
- const blockCommentRegex = /^(?:\s*\*\s*)?(?:file\.only|file\.skip)$/gu;
387
- commentValues.forEach((commentValue) => {
388
- let startLine = comment.loc?.start.line ?? 0;
389
- const endLine = comment.loc?.end.line ?? 0;
390
- let match;
391
- while (comment.loc && (match = wallabyRegex.exec(commentValue)) !== null) {
392
- let start = 0;
393
- let end = 0;
394
- const removeEntireComment = blockCommentRegex.test(comment.value.trim());
395
- if (removeEntireComment) {
396
- start = sourceCode.getIndexFromLoc({ line: comment.loc.start.line, column: comment.loc.start.column });
397
- end = sourceCode.getIndexFromLoc({ line: comment.loc.end.line, column: comment.loc.end.column });
398
- } else {
399
- let lineNumber = 0;
400
- while (startLine <= endLine) {
401
- const line = sourceCode.getLines()[startLine];
402
- if (line !== void 0 && line.includes(match.input)) {
403
- lineNumber = startLine;
404
- break;
405
- }
406
- startLine++;
407
- }
408
- start = sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: comment.loc.start.column });
409
- end = sourceCode.getIndexFromLoc({ line: lineNumber + 2, column: 0 });
410
- }
411
- removeWallabyComment(context, sourceCode, start, end);
412
- }
413
- });
414
- }
415
- var no_wallaby_comment_default = {
416
- meta: {
417
- type: "problem",
418
- docs: {
419
- description: "Detects wallaby-specific temporary comments like // ? or // ?? or // ?. or // ??. or // file.only or // file.skip and fix it",
420
- url: "https://github.com/checkdigit/eslint-plugin"
421
- },
422
- fixable: "code"
423
- },
424
- create(context) {
425
- const sourceCode = context.sourceCode;
426
- const comments = sourceCode.getAllComments();
427
- comments.forEach((comment) => {
428
- if (comment.type === "Line") {
429
- processLineComment(context, sourceCode, comment);
430
- } else {
431
- processBlockComment(context, sourceCode, comment);
432
- }
433
- });
434
- return {};
435
- }
436
- };
437
-
438
- // src/regular-expression-comment.ts
439
- var regular_expression_comment_default = {
440
- meta: {
441
- type: "problem",
442
- docs: {
443
- description: "Require comments for regular expressions before or on the same line",
444
- url: "https://github.com/checkdigit/eslint-plugin"
445
- }
446
- },
447
- create(context) {
448
- const comments = context.sourceCode.getAllComments();
449
- const lines = context.sourceCode.getLines();
450
- return {
451
- Literal(node) {
452
- if (node.loc && node.value instanceof RegExp) {
453
- const regularExpressionLine = node.loc.start.line;
454
- const previousLine = regularExpressionLine - 1;
455
- const previousLineComment = lines[previousLine - 1];
456
- const regularExpressionComment = comments.find((comment) => {
457
- if (!comment.loc) {
458
- return false;
459
- }
460
- const regularExpression = /[a-zA-Z]/gu;
461
- const commentRegularExpressionLine = /^\s*(?:\/{2,}|\/\*+)/gu;
462
- const hasComment = regularExpression.test(comment.value.trim());
463
- if (comment.type === "Line" || comment.loc.start.line === comment.loc.end.line) {
464
- return comment.loc.end.line === previousLine && previousLineComment !== void 0 && commentRegularExpressionLine.test(previousLineComment) && hasComment || comment.loc.end.line === regularExpressionLine && hasComment;
465
- }
466
- return comment.loc.end.line === previousLine && hasComment || comment.loc.end.line === regularExpressionLine && hasComment;
467
- });
468
- if (!regularExpressionComment) {
469
- context.report({
470
- node,
471
- message: "Missing comment for regular expression"
472
- });
473
- }
474
- }
475
- }
476
- };
477
- }
478
- };
479
-
480
- // src/require-strict-assert.ts
481
- var NODE_ASSERT_STRICT = "node:assert/strict";
482
- var NODE_ASSERT = "node:assert";
483
- var require_strict_assert_default = {
484
- meta: {
485
- type: "problem",
486
- docs: {
487
- description: "Require importing strict version of node:assert and using non-strict assert functions.",
488
- url: "https://github.com/checkdigit/eslint-plugin"
489
- },
490
- fixable: "code"
491
- },
492
- create(context) {
493
- const nodeValues = {};
494
- return {
495
- Literal(node) {
496
- if (typeof node.value === "string" && node.parent.type === "ImportDeclaration" && node.parent.specifiers.length > 0) {
497
- const importSpecifier = node.parent.specifiers[0];
498
- if (importSpecifier) {
499
- nodeValues[importSpecifier.local.name] = node.value;
500
- }
501
- if (node.value === NODE_ASSERT || node.value === NODE_ASSERT_STRICT) {
502
- const importDeclaration = node.parent;
503
- const defaultSpecifier = importDeclaration.specifiers.find(
504
- (specifier) => specifier.type === "ImportDefaultSpecifier" || specifier.type === "ImportNamespaceSpecifier"
505
- );
506
- if (defaultSpecifier !== void 0) {
507
- const importDeclarationRange = importDeclaration.range ?? [0, 0];
508
- let rangeToReplace = defaultSpecifier.range ?? importDeclarationRange;
509
- let correctedText = `{ strict as ${defaultSpecifier.local.name} }`;
510
- if (node.value === NODE_ASSERT_STRICT && defaultSpecifier.range && importDeclaration.source.range) {
511
- rangeToReplace = [defaultSpecifier.range[0], importDeclaration.source.range[1]];
512
- correctedText = `{ strict as ${defaultSpecifier.local.name} } from '${NODE_ASSERT}'`;
513
- }
514
- context.report({
515
- node: importDeclaration,
516
- message: "Invalid form of strict assertion mode",
517
- fix: (fixer) => fixer.replaceTextRange(rangeToReplace, correctedText)
518
- });
519
- }
520
- }
521
- }
522
- },
523
- CallExpression(node) {
524
- const callee = node.callee;
525
- if (callee.type === "MemberExpression" && callee.object.type === "Identifier" && callee.object.name !== "" && callee.property.type === "Identifier" && callee.property.name !== "" && (callee.property.name.includes("strict") || callee.property.name.includes("Strict"))) {
526
- const nodeValue = nodeValues[callee.object.name];
527
- if (nodeValue === NODE_ASSERT || nodeValue === NODE_ASSERT_STRICT) {
528
- let nonStrictFunctionName = "";
529
- const strictFunctionName = callee.property.name;
530
- if (strictFunctionName === "strict") {
531
- nonStrictFunctionName = `${callee.object.name}.equal`;
532
- } else {
533
- const functionName = strictFunctionName.includes("strict") ? strictFunctionName.split("strict").join("") : strictFunctionName.split("Strict").join("");
534
- const fixedFunctionName = `${functionName.charAt(0).toLowerCase()}${functionName.slice(1)}`;
535
- nonStrictFunctionName = `${callee.object.name}.${fixedFunctionName}`;
536
- }
537
- context.report({
538
- node,
539
- message: "strict method not required when in strict assertion mode.",
540
- fix: (fixer) => fixer.replaceText(callee, nonStrictFunctionName)
541
- });
542
- }
543
- }
544
- }
545
- };
546
- }
547
- };
548
-
549
- // src/index.ts
550
- var src_default = {
551
- rules: {
552
- "file-path-comment": file_path_comment_default,
553
- "no-card-numbers": no_card_numbers_default,
554
- "no-uuid": no_uuid_default,
555
- "require-strict-assert": require_strict_assert_default,
556
- "no-wallaby-comment": no_wallaby_comment_default,
557
- "regular-expression-comment": regular_expression_comment_default,
558
- "no-util": no_util_default
559
- },
560
- configs: {
561
- all: {
562
- rules: {
563
- "@checkdigit/no-card-numbers": "error",
564
- "@checkdigit/file-path-comment": "error",
565
- "@checkdigit/no-uuid": "error",
566
- "@checkdigit/require-strict-assert": "error",
567
- "@checkdigit/no-wallaby-comment": "error",
568
- "@checkdigit/regular-expression-comment": "error",
569
- "@checkdigit/no-util": "error"
570
- }
571
- },
572
- recommended: {
573
- rules: {
574
- "@checkdigit/no-card-numbers": "error",
575
- "@checkdigit/file-path-comment": "off",
576
- "@checkdigit/no-uuid": "error",
577
- "@checkdigit/require-strict-assert": "error",
578
- "@checkdigit/no-wallaby-comment": "off",
579
- "@checkdigit/regular-expression-comment": "error",
580
- "@checkdigit/no-util": "error"
581
- }
582
- }
583
- }
584
- };
585
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9maWxlLXBhdGgtY29tbWVudC50cyIsICIuLi9zcmMvbm8tY2FyZC1udW1iZXJzLnRzIiwgIi4uL3NyYy9uby11dGlsLnRzIiwgIi4uL3NyYy9uby11dWlkLnRzIiwgIi4uL3NyYy9uby13YWxsYWJ5LWNvbW1lbnQudHMiLCAiLi4vc3JjL3JlZ3VsYXItZXhwcmVzc2lvbi1jb21tZW50LnRzIiwgIi4uL3NyYy9yZXF1aXJlLXN0cmljdC1hc3NlcnQudHMiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ1VBLElBQU8sNEJBQVE7QUFBQSxFQUNiLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxNQUNiLEtBQUs7QUFBQSxJQUNQO0FBQUEsSUFDQSxTQUFTO0FBQUEsRUFDWDtBQUFBLEVBQ0EsT0FBTyxTQUFTO0FBQ2QsVUFBTSxZQUFZLFFBQVEsV0FBVyxTQUFTLEVBQUUsQ0FBQztBQUNqRCxVQUFNLGVBQWUsUUFBUSxTQUFTLE1BQU0sTUFBTSxFQUFFLENBQUM7QUFFckQsUUFBSSxjQUFjLFVBQWEsaUJBQWlCLFFBQVc7QUFDekQsYUFBTyxDQUFDO0FBQUEsSUFDVjtBQUVBLFFBQUksQ0FBQyxVQUFVLFdBQVcsSUFBSSxHQUFHO0FBQy9CLFVBQUksVUFBVSxXQUFXLElBQUksR0FBRztBQUM5QixnQkFBUSxPQUFPO0FBQUEsVUFDYixLQUFLO0FBQUEsWUFDSCxPQUFPO0FBQUEsY0FDTCxNQUFNO0FBQUEsY0FDTixRQUFRO0FBQUEsWUFDVjtBQUFBLFlBQ0EsS0FBSztBQUFBLGNBQ0gsTUFBTTtBQUFBLGNBQ04sUUFBUTtBQUFBLFlBQ1Y7QUFBQSxVQUNGO0FBQUEsVUFDQSxTQUFTO0FBQUEsVUFDVCxJQUFJLE9BQXVCO0FBQ3pCLG1CQUFPLE1BQU0sc0JBQXNCLENBQUMsR0FB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
586
- module.exports = module.exports.default;
@@ -1,114 +0,0 @@
1
- {
2
- "inputs": {
3
- "src/file-path-comment.ts": {
4
- "bytes": 2234,
5
- "imports": [],
6
- "format": "esm"
7
- },
8
- "src/no-card-numbers.ts": {
9
- "bytes": 3898,
10
- "imports": [],
11
- "format": "esm"
12
- },
13
- "src/no-util.ts": {
14
- "bytes": 948,
15
- "imports": [],
16
- "format": "esm"
17
- },
18
- "src/no-uuid.ts": {
19
- "bytes": 2590,
20
- "imports": [],
21
- "format": "esm"
22
- },
23
- "src/no-wallaby-comment.ts": {
24
- "bytes": 3488,
25
- "imports": [],
26
- "format": "esm"
27
- },
28
- "src/regular-expression-comment.ts": {
29
- "bytes": 2357,
30
- "imports": [],
31
- "format": "esm"
32
- },
33
- "src/require-strict-assert.ts": {
34
- "bytes": 3759,
35
- "imports": [],
36
- "format": "esm"
37
- },
38
- "src/index.ts": {
39
- "bytes": 1572,
40
- "imports": [
41
- {
42
- "path": "src/file-path-comment.ts",
43
- "kind": "import-statement",
44
- "original": "./file-path-comment"
45
- },
46
- {
47
- "path": "src/no-card-numbers.ts",
48
- "kind": "import-statement",
49
- "original": "./no-card-numbers"
50
- },
51
- {
52
- "path": "src/no-util.ts",
53
- "kind": "import-statement",
54
- "original": "./no-util"
55
- },
56
- {
57
- "path": "src/no-uuid.ts",
58
- "kind": "import-statement",
59
- "original": "./no-uuid"
60
- },
61
- {
62
- "path": "src/no-wallaby-comment.ts",
63
- "kind": "import-statement",
64
- "original": "./no-wallaby-comment"
65
- },
66
- {
67
- "path": "src/regular-expression-comment.ts",
68
- "kind": "import-statement",
69
- "original": "./regular-expression-comment"
70
- },
71
- {
72
- "path": "src/require-strict-assert.ts",
73
- "kind": "import-statement",
74
- "original": "./require-strict-assert"
75
- }
76
- ],
77
- "format": "esm"
78
- }
79
- },
80
- "outputs": {
81
- "dist-cjs/index.cjs": {
82
- "imports": [],
83
- "exports": [],
84
- "entryPoint": "src/index.ts",
85
- "inputs": {
86
- "src/index.ts": {
87
- "bytesInOutput": 1293
88
- },
89
- "src/file-path-comment.ts": {
90
- "bytesInOutput": 1961
91
- },
92
- "src/no-card-numbers.ts": {
93
- "bytesInOutput": 3353
94
- },
95
- "src/no-util.ts": {
96
- "bytesInOutput": 744
97
- },
98
- "src/no-uuid.ts": {
99
- "bytesInOutput": 2251
100
- },
101
- "src/no-wallaby-comment.ts": {
102
- "bytesInOutput": 3053
103
- },
104
- "src/regular-expression-comment.ts": {
105
- "bytesInOutput": 1698
106
- },
107
- "src/require-strict-assert.ts": {
108
- "bytesInOutput": 3362
109
- }
110
- },
111
- "bytes": 33938
112
- }
113
- }
114
- }
@@ -1,37 +0,0 @@
1
- // src/no-util.ts
2
- var no_util_default = {
3
- meta: {
4
- type: "problem",
5
- docs: {
6
- description: "Detects if file name is util",
7
- url: "https://github.com/checkdigit/eslint-plugin"
8
- }
9
- },
10
- create(context) {
11
- return {
12
- Program() {
13
- const filename = context.filename;
14
- const utilRegex = /(?:^|[-_/])util(?=[-_./]|$)/iu;
15
- if (utilRegex.test(filename)) {
16
- context.report({
17
- message: `File name '${filename}' contains banned 'util' pattern.`,
18
- loc: {
19
- start: {
20
- line: 0,
21
- column: 0
22
- },
23
- end: {
24
- line: 0,
25
- column: 1
26
- }
27
- }
28
- });
29
- }
30
- }
31
- };
32
- }
33
- };
34
- export {
35
- no_util_default as default
36
- };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXV0aWwudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBU0EsSUFBTyxrQkFBUTtBQUFBLEVBQ2IsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLE1BQ2IsS0FBSztBQUFBLElBQ1A7QUFBQSxFQUNGO0FBQUEsRUFDQSxPQUFPLFNBQVM7QUFDZCxXQUFPO0FBQUEsTUFDTCxVQUFVO0FBQ1IsY0FBTSxXQUFXLFFBQVE7QUFDekIsY0FBTSxZQUFZO0FBQ2xCLFlBQUksVUFBVSxLQUFLLFFBQVEsR0FBRztBQUM1QixrQkFBUSxPQUFPO0FBQUEsWUFDYixTQUFTLGNBQWMsUUFBUTtBQUFBLFlBQy9CLEtBQUs7QUFBQSxjQUNILE9BQU87QUFBQSxnQkFDTCxNQUFNO0FBQUEsZ0JBQ04sUUFBUTtBQUFBLGNBQ1Y7QUFBQSxjQUNBLEtBQUs7QUFBQSxnQkFDSCxNQUFNO0FBQUEsZ0JBQ04sUUFBUTtBQUFBLGNBQ1Y7QUFBQSxZQUNGO0FBQUEsVUFDRixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,3 +0,0 @@
1
- import type { Rule } from 'eslint';
2
- declare const _default: Rule.RuleModule;
3
- export default _default;
package/src/no-util.ts DELETED
@@ -1,41 +0,0 @@
1
- // no-util.ts
2
-
3
- /*
4
- * Copyright (c) 2021-2024 Check Digit, LLC
5
- *
6
- * This code is licensed under the MIT license (see LICENSE.txt for details).
7
- */
8
-
9
- import type { Rule } from 'eslint';
10
- export default {
11
- meta: {
12
- type: 'problem',
13
- docs: {
14
- description: 'Detects if file name is util',
15
- url: 'https://github.com/checkdigit/eslint-plugin',
16
- },
17
- },
18
- create(context) {
19
- return {
20
- Program() {
21
- const filename = context.filename;
22
- const utilRegex = /(?:^|[-_/])util(?=[-_./]|$)/iu;
23
- if (utilRegex.test(filename)) {
24
- context.report({
25
- message: `File name '${filename}' contains banned 'util' pattern.`,
26
- loc: {
27
- start: {
28
- line: 0,
29
- column: 0,
30
- },
31
- end: {
32
- line: 0,
33
- column: 1,
34
- },
35
- },
36
- });
37
- }
38
- },
39
- };
40
- },
41
- } as Rule.RuleModule;