@thethracian/oxlint-config 0.3.1 → 0.3.2

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 (204) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/codemods/arrow-body-style.d.ts.map +1 -1
  3. package/dist/codemods/arrow-body-style.js +29 -68
  4. package/dist/codemods/arrow-body-style.js.map +1 -1
  5. package/dist/codemods/comment-format.d.ts.map +1 -1
  6. package/dist/codemods/comment-format.js +22 -32
  7. package/dist/codemods/comment-format.js.map +1 -1
  8. package/dist/codemods/explicit-return-types.d.ts.map +1 -1
  9. package/dist/codemods/explicit-return-types.js +58 -167
  10. package/dist/codemods/explicit-return-types.js.map +1 -1
  11. package/dist/codemods/format-file-header.d.ts.map +1 -1
  12. package/dist/codemods/format-file-header.js +33 -72
  13. package/dist/codemods/format-file-header.js.map +1 -1
  14. package/dist/codemods/format-jsdoc-comments.d.ts.map +1 -1
  15. package/dist/codemods/format-jsdoc-comments.js +58 -66
  16. package/dist/codemods/format-jsdoc-comments.js.map +1 -1
  17. package/dist/codemods/function-declarations.d.ts.map +1 -1
  18. package/dist/codemods/function-declarations.js +45 -80
  19. package/dist/codemods/function-declarations.js.map +1 -1
  20. package/dist/codemods/inline-export-lists.d.ts.map +1 -1
  21. package/dist/codemods/inline-export-lists.js +60 -108
  22. package/dist/codemods/inline-export-lists.js.map +1 -1
  23. package/dist/codemods/internal-export-docs.d.ts.map +1 -1
  24. package/dist/codemods/internal-export-docs.js +21 -59
  25. package/dist/codemods/internal-export-docs.js.map +1 -1
  26. package/dist/codemods/no-ternary-branch-initializers.d.ts.map +1 -1
  27. package/dist/codemods/no-ternary-branch-initializers.js +72 -144
  28. package/dist/codemods/no-ternary-branch-initializers.js.map +1 -1
  29. package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -1
  30. package/dist/codemods/no-ternary-variable-initializers.js +69 -152
  31. package/dist/codemods/no-ternary-variable-initializers.js.map +1 -1
  32. package/dist/codemods/no-ternary.d.ts.map +1 -1
  33. package/dist/codemods/no-ternary.js +44 -108
  34. package/dist/codemods/no-ternary.js.map +1 -1
  35. package/dist/codemods/rename-acronyms.d.ts.map +1 -1
  36. package/dist/codemods/rename-acronyms.js +73 -99
  37. package/dist/codemods/rename-acronyms.js.map +1 -1
  38. package/dist/codemods/run.d.ts.map +1 -1
  39. package/dist/codemods/run.js +15 -7
  40. package/dist/codemods/run.js.map +1 -1
  41. package/dist/codemods/sort-imports.d.ts.map +1 -1
  42. package/dist/codemods/sort-imports.js +52 -94
  43. package/dist/codemods/sort-imports.js.map +1 -1
  44. package/dist/rules/acronym-case.d.ts.map +1 -1
  45. package/dist/rules/acronym-case.js +68 -141
  46. package/dist/rules/acronym-case.js.map +1 -1
  47. package/dist/rules/acronyms-1.d.ts +1 -1
  48. package/dist/rules/acronyms-1.d.ts.map +1 -1
  49. package/dist/rules/acronyms-1.js +2 -402
  50. package/dist/rules/acronyms-1.js.map +1 -1
  51. package/dist/rules/acronyms-2.d.ts +1 -1
  52. package/dist/rules/acronyms-2.d.ts.map +1 -1
  53. package/dist/rules/acronyms-2.js +2 -402
  54. package/dist/rules/acronyms-2.js.map +1 -1
  55. package/dist/rules/acronyms-3.d.ts +1 -1
  56. package/dist/rules/acronyms-3.d.ts.map +1 -1
  57. package/dist/rules/acronyms-3.js +2 -402
  58. package/dist/rules/acronyms-3.js.map +1 -1
  59. package/dist/rules/acronyms-4.d.ts +1 -1
  60. package/dist/rules/acronyms-4.d.ts.map +1 -1
  61. package/dist/rules/acronyms-4.js +2 -372
  62. package/dist/rules/acronyms-4.js.map +1 -1
  63. package/dist/rules/acronyms.d.ts.map +1 -1
  64. package/dist/rules/acronyms.js +3 -6
  65. package/dist/rules/acronyms.js.map +1 -1
  66. package/dist/rules/boolean-prefix.d.ts.map +1 -1
  67. package/dist/rules/boolean-prefix.js +25 -71
  68. package/dist/rules/boolean-prefix.js.map +1 -1
  69. package/dist/rules/camel-case-identifiers.d.ts.map +1 -1
  70. package/dist/rules/camel-case-identifiers.js +15 -54
  71. package/dist/rules/camel-case-identifiers.js.map +1 -1
  72. package/dist/rules/char-class.d.ts +1 -1
  73. package/dist/rules/char-class.d.ts.map +1 -1
  74. package/dist/rules/char-class.js +16 -16
  75. package/dist/rules/char-class.js.map +1 -1
  76. package/dist/rules/diagnostic-guidance.d.ts.map +1 -1
  77. package/dist/rules/diagnostic-guidance.js +11 -20
  78. package/dist/rules/diagnostic-guidance.js.map +1 -1
  79. package/dist/rules/effect-default-ast.d.ts.map +1 -1
  80. package/dist/rules/effect-default-ast.js +35 -116
  81. package/dist/rules/effect-default-ast.js.map +1 -1
  82. package/dist/rules/effect-default-compat-rules.d.ts.map +1 -1
  83. package/dist/rules/effect-default-compat-rules.js +41 -79
  84. package/dist/rules/effect-default-compat-rules.js.map +1 -1
  85. package/dist/rules/effect-default-env-rules.d.ts.map +1 -1
  86. package/dist/rules/effect-default-env-rules.js +23 -29
  87. package/dist/rules/effect-default-env-rules.js.map +1 -1
  88. package/dist/rules/effect-default-fiber-helpers.d.ts.map +1 -1
  89. package/dist/rules/effect-default-fiber-helpers.js +12 -26
  90. package/dist/rules/effect-default-fiber-helpers.js.map +1 -1
  91. package/dist/rules/effect-default-floating-helpers.d.ts.map +1 -1
  92. package/dist/rules/effect-default-floating-helpers.js +59 -67
  93. package/dist/rules/effect-default-floating-helpers.js.map +1 -1
  94. package/dist/rules/effect-default-resource-helpers.d.ts.map +1 -1
  95. package/dist/rules/effect-default-resource-helpers.js +36 -44
  96. package/dist/rules/effect-default-resource-helpers.js.map +1 -1
  97. package/dist/rules/effect-default-safety-helpers.d.ts.map +1 -1
  98. package/dist/rules/effect-default-safety-helpers.js +29 -68
  99. package/dist/rules/effect-default-safety-helpers.js.map +1 -1
  100. package/dist/rules/effect-default-scan-helpers.d.ts.map +1 -1
  101. package/dist/rules/effect-default-scan-helpers.js +51 -70
  102. package/dist/rules/effect-default-scan-helpers.js.map +1 -1
  103. package/dist/rules/effect-default-schema-helpers.d.ts.map +1 -1
  104. package/dist/rules/effect-default-schema-helpers.js +32 -43
  105. package/dist/rules/effect-default-schema-helpers.js.map +1 -1
  106. package/dist/rules/effect-default-test-helpers.d.ts.map +1 -1
  107. package/dist/rules/effect-default-test-helpers.js +13 -25
  108. package/dist/rules/effect-default-test-helpers.js.map +1 -1
  109. package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -1
  110. package/dist/rules/effect-default-workflow-helpers.js +53 -113
  111. package/dist/rules/effect-default-workflow-helpers.js.map +1 -1
  112. package/dist/rules/effect-exported-declarations.d.ts.map +1 -1
  113. package/dist/rules/effect-exported-declarations.js +90 -177
  114. package/dist/rules/effect-exported-declarations.js.map +1 -1
  115. package/dist/rules/effect-path-options.d.ts.map +1 -1
  116. package/dist/rules/effect-path-options.js +48 -58
  117. package/dist/rules/effect-path-options.js.map +1 -1
  118. package/dist/rules/effect-rule-aliases.d.ts.map +1 -1
  119. package/dist/rules/effect-rule-aliases.js +43 -101
  120. package/dist/rules/effect-rule-aliases.js.map +1 -1
  121. package/dist/rules/effect-rule-core.d.ts.map +1 -1
  122. package/dist/rules/effect-rule-core.js +42 -78
  123. package/dist/rules/effect-rule-core.js.map +1 -1
  124. package/dist/rules/effect-rule-names.d.ts +2 -2
  125. package/dist/rules/effect-rule-names.d.ts.map +1 -1
  126. package/dist/rules/effect-rule-names.js +3 -145
  127. package/dist/rules/effect-rule-names.js.map +1 -1
  128. package/dist/rules/effect-source-comments.d.ts.map +1 -1
  129. package/dist/rules/effect-source-comments.js +112 -167
  130. package/dist/rules/effect-source-comments.js.map +1 -1
  131. package/dist/rules/effect-source-navigation.d.ts.map +1 -1
  132. package/dist/rules/effect-source-navigation.js +103 -185
  133. package/dist/rules/effect-source-navigation.js.map +1 -1
  134. package/dist/rules/effect-source-regex-scan.d.ts +13 -0
  135. package/dist/rules/effect-source-regex-scan.d.ts.map +1 -0
  136. package/dist/rules/effect-source-regex-scan.js +126 -0
  137. package/dist/rules/effect-source-regex-scan.js.map +1 -0
  138. package/dist/rules/effect-source-scan.d.ts +1 -12
  139. package/dist/rules/effect-source-scan.d.ts.map +1 -1
  140. package/dist/rules/effect-source-scan.js +93 -239
  141. package/dist/rules/effect-source-scan.js.map +1 -1
  142. package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -1
  143. package/dist/rules/effect-strict-ast-specs.js +11 -8
  144. package/dist/rules/effect-strict-ast-specs.js.map +1 -1
  145. package/dist/rules/effect-strict-boundary-helpers.d.ts.map +1 -1
  146. package/dist/rules/effect-strict-boundary-helpers.js +51 -87
  147. package/dist/rules/effect-strict-boundary-helpers.js.map +1 -1
  148. package/dist/rules/effect-strict-core-specs.d.ts.map +1 -1
  149. package/dist/rules/effect-strict-core-specs.js +8 -6
  150. package/dist/rules/effect-strict-core-specs.js.map +1 -1
  151. package/dist/rules/effect-strict-external-helpers.d.ts.map +1 -1
  152. package/dist/rules/effect-strict-external-helpers.js +20 -40
  153. package/dist/rules/effect-strict-external-helpers.js.map +1 -1
  154. package/dist/rules/effect-strict-helpers.d.ts.map +1 -1
  155. package/dist/rules/effect-strict-helpers.js +47 -72
  156. package/dist/rules/effect-strict-helpers.js.map +1 -1
  157. package/dist/rules/effect-strict-internals.d.ts.map +1 -1
  158. package/dist/rules/effect-strict-internals.js +46 -101
  159. package/dist/rules/effect-strict-internals.js.map +1 -1
  160. package/dist/rules/effect-strict-segment-helpers.d.ts.map +1 -1
  161. package/dist/rules/effect-strict-segment-helpers.js +103 -174
  162. package/dist/rules/effect-strict-segment-helpers.js.map +1 -1
  163. package/dist/rules/effect-strict.d.ts.map +1 -1
  164. package/dist/rules/effect-strict.js +3 -2
  165. package/dist/rules/effect-strict.js.map +1 -1
  166. package/dist/rules/max-import-depth.d.ts +2 -1
  167. package/dist/rules/max-import-depth.d.ts.map +1 -1
  168. package/dist/rules/max-import-depth.js +13 -15
  169. package/dist/rules/max-import-depth.js.map +1 -1
  170. package/dist/rules/max-line-length.d.ts.map +1 -1
  171. package/dist/rules/max-line-length.js +26 -39
  172. package/dist/rules/max-line-length.js.map +1 -1
  173. package/dist/rules/no-commented-out-code.d.ts.map +1 -1
  174. package/dist/rules/no-commented-out-code.js +53 -156
  175. package/dist/rules/no-commented-out-code.js.map +1 -1
  176. package/dist/rules/pascal-case-types.d.ts.map +1 -1
  177. package/dist/rules/pascal-case-types.js +16 -70
  178. package/dist/rules/pascal-case-types.js.map +1 -1
  179. package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -1
  180. package/dist/rules/plugin-commented-out-code-rule.js +50 -77
  181. package/dist/rules/plugin-commented-out-code-rule.js.map +1 -1
  182. package/dist/rules/plugin.d.ts.map +1 -1
  183. package/dist/rules/plugin.js +14 -35
  184. package/dist/rules/plugin.js.map +1 -1
  185. package/dist/rules/private-underscore.d.ts +3 -1
  186. package/dist/rules/private-underscore.d.ts.map +1 -1
  187. package/dist/rules/private-underscore.js +7 -9
  188. package/dist/rules/private-underscore.js.map +1 -1
  189. package/dist/rules/require-file-doc.d.ts.map +1 -1
  190. package/dist/rules/require-file-doc.js +28 -94
  191. package/dist/rules/require-file-doc.js.map +1 -1
  192. package/dist/rules/require-function-doc-ignored-text.d.ts.map +1 -1
  193. package/dist/rules/require-function-doc-ignored-text.js +6 -9
  194. package/dist/rules/require-function-doc-ignored-text.js.map +1 -1
  195. package/dist/rules/require-function-doc-local-exports.d.ts.map +1 -1
  196. package/dist/rules/require-function-doc-local-exports.js +16 -58
  197. package/dist/rules/require-function-doc-local-exports.js.map +1 -1
  198. package/dist/rules/require-function-doc.d.ts.map +1 -1
  199. package/dist/rules/require-function-doc.js +87 -196
  200. package/dist/rules/require-function-doc.js.map +1 -1
  201. package/dist/rules/source-cache.d.ts.map +1 -1
  202. package/dist/rules/source-cache.js +23 -33
  203. package/dist/rules/source-cache.js.map +1 -1
  204. package/package.json +3 -1
@@ -1,6 +1,7 @@
1
1
  /* -------------------------------------------------------------------------- */
2
2
  /* Shared scan helpers for always-on Effect lint predicates. */
3
3
  /* -------------------------------------------------------------------------- */
4
+ import { Array, Match, Option, pipe } from 'effect';
4
5
  import { findBalancedCallEnd, findStatementEnd, stripComments, stripCommentsAndStrings, } from './effect-source-helpers.js';
5
6
  import { effectImportAliases } from './effect-rule-core.js';
6
7
  const EFFECT_PATTERN_CACHE_MAX = 256;
@@ -8,12 +9,14 @@ const effectAliasesPatternCache = new Map();
8
9
  const effectCallPatternCache = new Map();
9
10
  const escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, String.raw `\$&`);
10
11
  const setBoundedCacheValue = (cache, key, value) => {
11
- if (cache.size >= EFFECT_PATTERN_CACHE_MAX) {
12
- const firstKey = cache.keys().next().value;
13
- if (firstKey !== undefined) {
14
- cache.delete(firstKey);
15
- }
16
- }
12
+ pipe(Match.value(cache.size), Match.when((size) => size >= EFFECT_PATTERN_CACHE_MAX, () => {
13
+ pipe(Option.fromNullable(cache.keys().next().value), Option.match({
14
+ onNone: () => undefined,
15
+ onSome: (firstKey) => {
16
+ cache.delete(firstKey);
17
+ },
18
+ }));
19
+ }), Match.orElse(() => undefined));
17
20
  cache.set(key, value);
18
21
  return value;
19
22
  };
@@ -24,10 +27,10 @@ const setBoundedCacheValue = (cache, key, value) => {
24
27
  */
25
28
  export const effectAliasesPattern = (source) => {
26
29
  const cachedPattern = effectAliasesPatternCache.get(source);
27
- if (cachedPattern !== undefined) {
28
- return cachedPattern;
29
- }
30
- return setBoundedCacheValue(effectAliasesPatternCache, source, effectImportAliases(source).map(escapeRegExp).join('|'));
30
+ return pipe(Option.fromNullable(cachedPattern), Option.match({
31
+ onNone: () => setBoundedCacheValue(effectAliasesPatternCache, source, pipe(effectImportAliases(source), Array.map(escapeRegExp), Array.join('|'))),
32
+ onSome: (pattern) => pattern,
33
+ }));
31
34
  };
32
35
  /**
33
36
  * Internal helper exported for package-local composition.
@@ -35,17 +38,16 @@ export const effectAliasesPattern = (source) => {
35
38
  * @internal
36
39
  */
37
40
  export const effectCallPattern = (source, methods) => {
38
- let sourceCache = effectCallPatternCache.get(source);
39
- if (sourceCache === undefined) {
40
- sourceCache = setBoundedCacheValue(effectCallPatternCache, source, new Map());
41
- }
41
+ const sourceCache = pipe(Option.fromNullable(effectCallPatternCache.get(source)), Option.getOrElse(() => setBoundedCacheValue(effectCallPatternCache, source, new Map())));
42
42
  const cachedPattern = sourceCache.get(methods);
43
- if (cachedPattern !== undefined) {
44
- return cachedPattern;
45
- }
46
- const pattern = new RegExp(`\\b(?:${effectAliasesPattern(source)})\\.(?:${methods})\\s*\\(`, 'g');
47
- sourceCache.set(methods, pattern);
48
- return pattern;
43
+ return pipe(Option.fromNullable(cachedPattern), Option.match({
44
+ onNone: () => {
45
+ const pattern = new RegExp(`\\b(?:${effectAliasesPattern(source)})\\.(?:${methods})\\s*\\(`, 'g');
46
+ sourceCache.set(methods, pattern);
47
+ return pattern;
48
+ },
49
+ onSome: (pattern) => pattern,
50
+ }));
49
51
  };
50
52
  /**
51
53
  * Internal helper exported for package-local composition.
@@ -54,10 +56,7 @@ export const effectCallPattern = (source, methods) => {
54
56
  */
55
57
  export const localCallSegment = (source, targetIndex) => {
56
58
  const openParenIndex = source.indexOf('(', targetIndex);
57
- if (openParenIndex === -1) {
58
- return source.slice(targetIndex, findStatementEnd(source, targetIndex) + 1);
59
- }
60
- return source.slice(targetIndex, findBalancedCallEnd(source, openParenIndex) + 1);
59
+ return Match.value(openParenIndex).pipe(Match.when((index) => index === -1, () => source.slice(targetIndex, findStatementEnd(source, targetIndex) + 1)), Match.orElse((index) => source.slice(targetIndex, findBalancedCallEnd(source, index) + 1)));
61
60
  };
62
61
  /**
63
62
  * Internal helper exported for package-local composition.
@@ -66,46 +65,33 @@ export const localCallSegment = (source, targetIndex) => {
66
65
  */
67
66
  export const effectCallBodies = (source, callPattern) => {
68
67
  const code = stripCommentsAndStrings(source);
69
- const bodies = [];
70
- for (const match of code.matchAll(callPattern)) {
68
+ return pipe([...code.matchAll(callPattern)], Array.filterMap((match) => {
71
69
  const openParenIndex = source.indexOf('(', match.index);
72
- if (openParenIndex !== -1) {
73
- bodies.push(source.slice(openParenIndex + 1, findBalancedCallEnd(source, openParenIndex)));
74
- }
75
- }
76
- return bodies;
77
- };
78
- const effectGenHasBody = (source, code, predicate) => {
79
- for (const match of code.matchAll(effectCallPattern(source, 'gen'))) {
80
- const openParenIndex = source.indexOf('(', match.index);
81
- if (openParenIndex !== -1 &&
82
- predicate(source.slice(openParenIndex + 1, findBalancedCallEnd(source, openParenIndex)))) {
83
- return true;
84
- }
85
- }
86
- return false;
70
+ return Match.value(openParenIndex).pipe(Match.when((index) => index === -1, () => Option.none()), Match.orElse((index) => Option.some(source.slice(index + 1, findBalancedCallEnd(source, index)))));
71
+ }));
87
72
  };
73
+ const effectGenHasBody = (source, code, predicate) => pipe([...code.matchAll(effectCallPattern(source, 'gen'))], Array.some((match) => {
74
+ const openParenIndex = source.indexOf('(', match.index);
75
+ return Match.value(openParenIndex).pipe(Match.when((index) => index === -1, () => false), Match.orElse((index) => predicate(source.slice(index + 1, findBalancedCallEnd(source, index)))));
76
+ }));
88
77
  const effectFnBodyBounds = (source, openParenIndex) => {
89
78
  const firstCallEnd = findBalancedCallEnd(source, openParenIndex);
90
79
  const nextCallMatch = /^\s*\(/.exec(source.slice(firstCallEnd + 1));
91
- if (nextCallMatch) {
92
- const start = firstCallEnd + 1 + nextCallMatch[0].lastIndexOf('(');
93
- return { end: findBalancedCallEnd(source, start), start };
94
- }
95
- return { end: firstCallEnd, start: openParenIndex };
96
- };
97
- const effectFnHasBody = (source, code, predicate) => {
98
- for (const match of code.matchAll(effectCallPattern(source, 'fn'))) {
99
- const openParenIndex = source.indexOf('(', match.index);
100
- if (openParenIndex !== -1) {
101
- const bounds = effectFnBodyBounds(source, openParenIndex);
102
- if (predicate(source.slice(bounds.start + 1, bounds.end))) {
103
- return true;
104
- }
105
- }
106
- }
107
- return false;
80
+ return pipe(Option.fromNullable(nextCallMatch), Option.match({
81
+ onNone: () => ({ end: firstCallEnd, start: openParenIndex }),
82
+ onSome: (match) => {
83
+ const start = firstCallEnd + 1 + match[0].lastIndexOf('(');
84
+ return { end: findBalancedCallEnd(source, start), start };
85
+ },
86
+ }));
108
87
  };
88
+ const effectFnHasBody = (source, code, predicate) => pipe([...code.matchAll(effectCallPattern(source, 'fn'))], Array.some((match) => {
89
+ const openParenIndex = source.indexOf('(', match.index);
90
+ return Match.value(openParenIndex).pipe(Match.when((index) => index === -1, () => false), Match.orElse((index) => {
91
+ const bounds = effectFnBodyBounds(source, index);
92
+ return predicate(source.slice(bounds.start + 1, bounds.end));
93
+ }));
94
+ }));
109
95
  /**
110
96
  * Internal helper exported for package-local composition.
111
97
  *
@@ -120,18 +106,13 @@ export const someEffectWorkflowBody = (source, predicate) => {
120
106
  *
121
107
  * @internal
122
108
  */
123
- export const enclosingPipeBody = (source, targetIndex) => {
124
- for (const match of source.matchAll(/\.pipe\s*\(/g)) {
125
- const openParenIndex = source.indexOf('(', match.index);
126
- if (openParenIndex !== -1 && openParenIndex <= targetIndex) {
127
- const endIndex = findBalancedCallEnd(source, openParenIndex);
128
- if (targetIndex <= endIndex) {
129
- return source.slice(openParenIndex + 1, endIndex);
130
- }
131
- }
132
- }
133
- return undefined;
134
- };
109
+ export const enclosingPipeBody = (source, targetIndex) => pipe([...source.matchAll(/\.pipe\s*\(/g)], Array.findFirst((match) => {
110
+ const openParenIndex = source.indexOf('(', match.index);
111
+ return Match.value(openParenIndex).pipe(Match.when((index) => index === -1 || index > targetIndex, () => false), Match.orElse((index) => targetIndex <= findBalancedCallEnd(source, index)));
112
+ }), Option.map((match) => {
113
+ const openParenIndex = source.indexOf('(', match.index);
114
+ return source.slice(openParenIndex + 1, findBalancedCallEnd(source, openParenIndex));
115
+ }), Option.getOrUndefined);
135
116
  /**
136
117
  * Internal helper exported for package-local composition.
137
118
  *
@@ -1 +1 @@
1
- {"version":3,"file":"effect-default-scan-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-default-scan-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect-default-scan-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-default-scan-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"effect-default-schema-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/effect-default-schema-helpers.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAAI,QAAQ,MAAM,KAAG,OAGlE,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,OACqB,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAAI,QAAQ,MAAM,KAAG,OAapE,CAAC;AAgDF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,OASzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,QAAQ,MAAM,KAAG,OAkB/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,GAAI,QAAQ,MAAM,KAAG,OAGpE,CAAC"}
1
+ {"version":3,"file":"effect-default-schema-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/effect-default-schema-helpers.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAAI,QAAQ,MAAM,KAAG,OAGlE,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,OACqB,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAAI,QAAQ,MAAM,KAAG,OAYpE,CAAC;AAuEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,OAQzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,QAAQ,MAAM,KAAG,OAsB/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,GAAI,QAAQ,MAAM,KAAG,OAGpE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /* -------------------------------------------------------------------------- */
2
2
  /* Schema boundary predicates for always-on Effect rules. */
3
3
  /* -------------------------------------------------------------------------- */
4
+ import { Array, Match, Option, pipe } from 'effect';
4
5
  import { isInsideCall, stripCommentsAndStrings } from './effect-source-helpers.js';
5
6
  import { localCallSegment, someEffectWorkflowBody } from './effect-default-scan-helpers.js';
6
7
  const SCHEMA_ASSERTION_SCAN_WINDOW = 240;
@@ -23,47 +24,40 @@ export const hasSchemaPromiseDecode = (source) => /Schema\.decode[A-Za-z]*Promis
23
24
  */
24
25
  export const hasExternalJSONWithoutDecodeUnknown = (source) => {
25
26
  const code = stripCommentsAndStrings(source);
26
- for (const match of code.matchAll(/\b(?:response|res)\.json\s*\(\s*\)/g)) {
27
+ return pipe([...code.matchAll(/\b(?:response|res)\.json\s*\(\s*\)/g)], Array.some((match) => {
27
28
  const callSegment = localCallSegment(code, match.index);
28
- if (!isInsideCall(code, match.index, /Schema\.decodeUnknown\s*\(/g) &&
29
- !/Schema\.decodeUnknown/.test(callSegment)) {
30
- return true;
31
- }
32
- }
33
- return false;
29
+ return (!isInsideCall(code, match.index, /Schema\.decodeUnknown\s*\(/g) &&
30
+ !/Schema\.decodeUnknown/.test(callSegment));
31
+ }));
34
32
  };
35
33
  const schemaDecodeLine = (code, index) => {
36
34
  const lineStart = Math.max(code.lastIndexOf(';', index) + 1, code.lastIndexOf('\n', index) + 1);
37
35
  const lineBreakIndex = code.indexOf('\n', index);
38
- let lineEnd = lineBreakIndex;
39
- if (lineEnd === -1) {
40
- lineEnd = code.length;
41
- }
36
+ const lineEnd = Match.value(lineBreakIndex).pipe(Match.when((breakIndex) => breakIndex === -1, () => code.length), Match.orElse((breakIndex) => breakIndex));
42
37
  return code.slice(lineStart, lineEnd);
43
38
  };
44
39
  const schemaAssertionTail = (code, match) => code.slice((match.index ?? 0) + match[0].length, (match.index ?? 0) + match[0].length + SCHEMA_ASSERTION_SCAN_WINDOW);
45
- const hasBindingAssertion = (bindingName, tail) => Boolean(bindingName && new RegExp(`\\b${bindingName}\\s+as\\s+[A-Za-z_$][\\w$]*`).test(tail));
40
+ const hasBindingAssertion = (bindingName, tail) => pipe(Option.fromNullable(bindingName), Option.match({
41
+ onNone: () => false,
42
+ onSome: (name) => new RegExp(`\\b${name}\\s+as\\s+[A-Za-z_$][\\w$]*`).test(tail),
43
+ }));
46
44
  const hasInlineSchemaDecodeCast = (line) => /Schema\.decode[A-Za-z]*\s*\([^)]*\)\s*\([^)]*\)\s+as\s+[A-Za-z_$][\w$]*/.test(line);
47
- const hasCastAfterSchemaDecodeMatch = (code, match) => {
48
- if (match.index === undefined) {
49
- return false;
50
- }
51
- const line = schemaDecodeLine(code, match.index);
52
- if (hasInlineSchemaDecodeCast(line)) {
53
- return true;
54
- }
55
- const bindingName = /\b(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=/.exec(line)?.[1];
45
+ const hasCastAfterSchemaDecodeMatch = (code, match) => pipe(Option.fromNullable(match.index), Option.match({
46
+ onNone: () => false,
47
+ onSome: (index) => {
48
+ const line = schemaDecodeLine(code, index);
49
+ return Match.value(line).pipe(Match.when((schemaLine) => hasInlineSchemaDecodeCast(schemaLine), () => true), Match.orElse((schemaLine) => {
50
+ const bindingName = pipe(Option.fromNullable(/\b(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=/.exec(schemaLine)), Option.flatMapNullable((bindingMatch) => bindingMatch[1]), Option.getOrUndefined);
51
+ return hasBindingAssertion(bindingName, schemaAssertionTail(code, match));
52
+ }));
53
+ },
54
+ }));
55
+ const hasCastAfterSchemaDecodeBinding = (code) => pipe([
56
+ ...code.matchAll(/\b(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*Schema\.decode[A-Za-z]*\s*\([^)]*\)\s*\([^)]*\)/g),
57
+ ], Array.some((match) => {
58
+ const [, bindingName] = match;
56
59
  return hasBindingAssertion(bindingName, schemaAssertionTail(code, match));
57
- };
58
- const hasCastAfterSchemaDecodeBinding = (code) => {
59
- for (const match of code.matchAll(/\b(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*Schema\.decode[A-Za-z]*\s*\([^)]*\)\s*\([^)]*\)/g)) {
60
- const [, bindingName] = match;
61
- if (hasBindingAssertion(bindingName, schemaAssertionTail(code, match))) {
62
- return true;
63
- }
64
- }
65
- return false;
66
- };
60
+ }));
67
61
  /**
68
62
  * Internal helper exported for package-local composition.
69
63
  *
@@ -71,12 +65,7 @@ const hasCastAfterSchemaDecodeBinding = (code) => {
71
65
  */
72
66
  export const hasCastAfterSchemaDecode = (source) => {
73
67
  const code = stripCommentsAndStrings(source);
74
- for (const match of code.matchAll(/Schema\.decode[A-Za-z]*\s*\(/g)) {
75
- if (hasCastAfterSchemaDecodeMatch(code, match)) {
76
- return true;
77
- }
78
- }
79
- return hasCastAfterSchemaDecodeBinding(code);
68
+ return (pipe([...code.matchAll(/Schema\.decode[A-Za-z]*\s*\(/g)], Array.some((match) => hasCastAfterSchemaDecodeMatch(code, match))) || hasCastAfterSchemaDecodeBinding(code));
80
69
  };
81
70
  /**
82
71
  * Internal helper exported for package-local composition.
@@ -85,15 +74,15 @@ export const hasCastAfterSchemaDecode = (source) => {
85
74
  */
86
75
  export const hasUnhandledSchemaEffectDecode = (source) => {
87
76
  const code = stripCommentsAndStrings(source);
88
- for (const match of code.matchAll(/\b(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*Schema\.decodeUnknown\s*\([^)]*\)\s*\([^)]*\)/g)) {
77
+ return (pipe([
78
+ ...code.matchAll(/\b(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*Schema\.decodeUnknown\s*\([^)]*\)\s*\([^)]*\)/g),
79
+ ], Array.some((match) => {
89
80
  const [, bindingName] = match;
90
81
  const tail = code.slice(match.index + match[0].length);
91
82
  const handledPattern = new RegExp(`(?:yield\\*\\s+${bindingName}\\b|return\\s+${bindingName}\\b)`);
92
- if (!handledPattern.test(tail)) {
93
- return true;
94
- }
95
- }
96
- return /Schema\.decodeUnknown\s*\([^)]*\)\s*\([^)]*\)\.pipe\s*\(\s*Effect\.(?:orDie|ignore)\b/.test(code);
83
+ return !handledPattern.test(tail);
84
+ })) ||
85
+ /Schema\.decodeUnknown\s*\([^)]*\)\s*\([^)]*\)\.pipe\s*\(\s*Effect\.(?:orDie|ignore)\b/.test(code));
97
86
  };
98
87
  /**
99
88
  * Internal helper exported for package-local composition.
@@ -1 +1 @@
1
- {"version":3,"file":"effect-default-schema-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-default-schema-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect-default-schema-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-default-schema-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"effect-default-test-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/effect-default-test-helpers.ts"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,OAoB7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,OAY7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAAI,QAAQ,MAAM,KAAG,OAYjE,CAAC"}
1
+ {"version":3,"file":"effect-default-test-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/effect-default-test-helpers.ts"],"names":[],"mappings":"AA6BA;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,OAwB7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,OAW7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAAI,QAAQ,MAAM,KAAG,OAWjE,CAAC"}
@@ -1,13 +1,13 @@
1
1
  /* -------------------------------------------------------------------------- */
2
2
  /* Helpers for Effect test-determinism lint rules. */
3
3
  /* -------------------------------------------------------------------------- */
4
+ import { Array, Match, Option, pipe } from 'effect';
4
5
  import { stripCommentsAndStrings } from './effect-source-helpers.js';
5
6
  const testStartPattern = /\bit(?:\.effect)?\s*\(/g;
6
- const testStartsIn = (code) => [...code.matchAll(testStartPattern)].map((match) => match.index);
7
+ const testStartsIn = (code) => pipe([...code.matchAll(testStartPattern)], Array.map((match) => match.index));
7
8
  const enclosingTestBody = (code, testStarts, index) => {
8
- const previousStarts = testStarts.filter((start) => start < index);
9
- const testStart = previousStarts.at(-1) ?? 0;
10
- const nextTestStart = testStarts.find((start) => start > index) ?? code.length;
9
+ const testStart = pipe(testStarts, Array.filter((start) => start < index), Array.last, Option.getOrElse(() => 0));
10
+ const nextTestStart = pipe(testStarts, Array.findFirst((start) => start > index), Option.getOrElse(() => code.length));
11
11
  return code.slice(testStart, nextTestStart);
12
12
  };
13
13
  /**
@@ -18,19 +18,13 @@ const enclosingTestBody = (code, testStarts, index) => {
18
18
  export const hasForkBeforeTestClockAdjust = (source) => {
19
19
  const code = stripCommentsAndStrings(source);
20
20
  const adjustMatches = [...code.matchAll(/TestClock\.adjust\s*\(/g)];
21
- if (adjustMatches.length === 0) {
22
- return false;
23
- }
24
- return adjustMatches.every((match) => {
21
+ return Match.value(adjustMatches).pipe(Match.when((matches) => matches.length === 0, () => false), Match.orElse((matches) => pipe(matches, Array.every((match) => {
25
22
  const adjustIndex = match.index;
26
23
  const testStart = Math.max(code.lastIndexOf('it.effect', adjustIndex), code.lastIndexOf('it(', adjustIndex));
27
- let segmentStart = testStart;
28
- if (segmentStart === -1) {
29
- segmentStart = 0;
30
- }
24
+ const segmentStart = Math.max(testStart, 0);
31
25
  const segment = code.slice(segmentStart, adjustIndex);
32
26
  return /Effect\.fork(?:Scoped)?\b/.test(segment);
33
- });
27
+ }))));
34
28
  };
35
29
  /**
36
30
  * Internal helper exported for package-local composition.
@@ -40,13 +34,10 @@ export const hasForkBeforeTestClockAdjust = (source) => {
40
34
  export const hasRealSleepWithoutTestClock = (source) => {
41
35
  const code = stripCommentsAndStrings(source);
42
36
  const testStarts = testStartsIn(code);
43
- for (const sleepMatch of code.matchAll(/Effect\.sleep\s*\(/g)) {
37
+ return pipe([...code.matchAll(/Effect\.sleep\s*\(/g)], Array.some((sleepMatch) => {
44
38
  const testBody = enclosingTestBody(code, testStarts, sleepMatch.index);
45
- if (!/TestClock\./.test(testBody)) {
46
- return true;
47
- }
48
- }
49
- return false;
39
+ return !/TestClock\./.test(testBody);
40
+ }));
50
41
  };
51
42
  /**
52
43
  * Internal helper exported for package-local composition.
@@ -56,12 +47,9 @@ export const hasRealSleepWithoutTestClock = (source) => {
56
47
  export const hasTestClockWithoutEffectContext = (source) => {
57
48
  const code = stripCommentsAndStrings(source);
58
49
  const testStarts = testStartsIn(code);
59
- for (const clockMatch of code.matchAll(/TestClock\./g)) {
50
+ return pipe([...code.matchAll(/TestClock\./g)], Array.some((clockMatch) => {
60
51
  const testBody = enclosingTestBody(code, testStarts, clockMatch.index);
61
- if (!/(?:it\.effect|TestContext)/.test(testBody)) {
62
- return true;
63
- }
64
- }
65
- return false;
52
+ return !/(?:it\.effect|TestContext)/.test(testBody);
53
+ }));
66
54
  };
67
55
  //# sourceMappingURL=effect-default-test-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effect-default-test-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-default-test-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect-default-test-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-default-test-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"effect-default-workflow-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/effect-default-workflow-helpers.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,KAAG,OACqB,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,OAQjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GAAI,QAAQ,MAAM,KAAG,OAa9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,QAAQ,MAAM,KAAG,OAa/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GAAI,QAAQ,MAAM,KAAG,OAkB9D,CAAC;AAeF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,OACyB,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,MAAM,KAAG,OACD,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,OAOrD,CAAC;AAmBF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,OAAO,GAAG,MAUnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,KAAG,OAGpD,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,KAAG,OAI/C,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,KAAG,OAGpD,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,OAG/C,CAAC;AAoCJ;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,QAAQ,MAAM,KAAG,OAe/D,CAAC;AAqDF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAAI,QAAQ,MAAM,KAAG,OACK,CAAC"}
1
+ {"version":3,"file":"effect-default-workflow-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/effect-default-workflow-helpers.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,KAAG,OACqB,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,OASjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GAAI,QAAQ,MAAM,KAAG,OAU9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,QAAQ,MAAM,KAAG,OAU/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GAAI,QAAQ,MAAM,KAAG,OAe9D,CAAC;AAiBF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,OACyB,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,MAAM,KAAG,OACD,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,OAQrD,CAAC;AA2BF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,OAAO,GAAG,MAQnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,KAAG,OAGpD,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,KAAG,OAOhD,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,KAAG,OAMpD,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,OAG/C,CAAC;AAwCJ;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,QAAQ,MAAM,KAAG,OAqB/D,CAAC;AAwDF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAAI,QAAQ,MAAM,KAAG,OACK,CAAC"}