@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.
- package/CHANGELOG.md +7 -0
- package/dist/codemods/arrow-body-style.d.ts.map +1 -1
- package/dist/codemods/arrow-body-style.js +29 -68
- package/dist/codemods/arrow-body-style.js.map +1 -1
- package/dist/codemods/comment-format.d.ts.map +1 -1
- package/dist/codemods/comment-format.js +22 -32
- package/dist/codemods/comment-format.js.map +1 -1
- package/dist/codemods/explicit-return-types.d.ts.map +1 -1
- package/dist/codemods/explicit-return-types.js +58 -167
- package/dist/codemods/explicit-return-types.js.map +1 -1
- package/dist/codemods/format-file-header.d.ts.map +1 -1
- package/dist/codemods/format-file-header.js +33 -72
- package/dist/codemods/format-file-header.js.map +1 -1
- package/dist/codemods/format-jsdoc-comments.d.ts.map +1 -1
- package/dist/codemods/format-jsdoc-comments.js +58 -66
- package/dist/codemods/format-jsdoc-comments.js.map +1 -1
- package/dist/codemods/function-declarations.d.ts.map +1 -1
- package/dist/codemods/function-declarations.js +45 -80
- package/dist/codemods/function-declarations.js.map +1 -1
- package/dist/codemods/inline-export-lists.d.ts.map +1 -1
- package/dist/codemods/inline-export-lists.js +60 -108
- package/dist/codemods/inline-export-lists.js.map +1 -1
- package/dist/codemods/internal-export-docs.d.ts.map +1 -1
- package/dist/codemods/internal-export-docs.js +21 -59
- package/dist/codemods/internal-export-docs.js.map +1 -1
- package/dist/codemods/no-ternary-branch-initializers.d.ts.map +1 -1
- package/dist/codemods/no-ternary-branch-initializers.js +72 -144
- package/dist/codemods/no-ternary-branch-initializers.js.map +1 -1
- package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -1
- package/dist/codemods/no-ternary-variable-initializers.js +69 -152
- package/dist/codemods/no-ternary-variable-initializers.js.map +1 -1
- package/dist/codemods/no-ternary.d.ts.map +1 -1
- package/dist/codemods/no-ternary.js +44 -108
- package/dist/codemods/no-ternary.js.map +1 -1
- package/dist/codemods/rename-acronyms.d.ts.map +1 -1
- package/dist/codemods/rename-acronyms.js +73 -99
- package/dist/codemods/rename-acronyms.js.map +1 -1
- package/dist/codemods/run.d.ts.map +1 -1
- package/dist/codemods/run.js +15 -7
- package/dist/codemods/run.js.map +1 -1
- package/dist/codemods/sort-imports.d.ts.map +1 -1
- package/dist/codemods/sort-imports.js +52 -94
- package/dist/codemods/sort-imports.js.map +1 -1
- package/dist/rules/acronym-case.d.ts.map +1 -1
- package/dist/rules/acronym-case.js +68 -141
- package/dist/rules/acronym-case.js.map +1 -1
- package/dist/rules/acronyms-1.d.ts +1 -1
- package/dist/rules/acronyms-1.d.ts.map +1 -1
- package/dist/rules/acronyms-1.js +2 -402
- package/dist/rules/acronyms-1.js.map +1 -1
- package/dist/rules/acronyms-2.d.ts +1 -1
- package/dist/rules/acronyms-2.d.ts.map +1 -1
- package/dist/rules/acronyms-2.js +2 -402
- package/dist/rules/acronyms-2.js.map +1 -1
- package/dist/rules/acronyms-3.d.ts +1 -1
- package/dist/rules/acronyms-3.d.ts.map +1 -1
- package/dist/rules/acronyms-3.js +2 -402
- package/dist/rules/acronyms-3.js.map +1 -1
- package/dist/rules/acronyms-4.d.ts +1 -1
- package/dist/rules/acronyms-4.d.ts.map +1 -1
- package/dist/rules/acronyms-4.js +2 -372
- package/dist/rules/acronyms-4.js.map +1 -1
- package/dist/rules/acronyms.d.ts.map +1 -1
- package/dist/rules/acronyms.js +3 -6
- package/dist/rules/acronyms.js.map +1 -1
- package/dist/rules/boolean-prefix.d.ts.map +1 -1
- package/dist/rules/boolean-prefix.js +25 -71
- package/dist/rules/boolean-prefix.js.map +1 -1
- package/dist/rules/camel-case-identifiers.d.ts.map +1 -1
- package/dist/rules/camel-case-identifiers.js +15 -54
- package/dist/rules/camel-case-identifiers.js.map +1 -1
- package/dist/rules/char-class.d.ts +1 -1
- package/dist/rules/char-class.d.ts.map +1 -1
- package/dist/rules/char-class.js +16 -16
- package/dist/rules/char-class.js.map +1 -1
- package/dist/rules/diagnostic-guidance.d.ts.map +1 -1
- package/dist/rules/diagnostic-guidance.js +11 -20
- package/dist/rules/diagnostic-guidance.js.map +1 -1
- package/dist/rules/effect-default-ast.d.ts.map +1 -1
- package/dist/rules/effect-default-ast.js +35 -116
- package/dist/rules/effect-default-ast.js.map +1 -1
- package/dist/rules/effect-default-compat-rules.d.ts.map +1 -1
- package/dist/rules/effect-default-compat-rules.js +41 -79
- package/dist/rules/effect-default-compat-rules.js.map +1 -1
- package/dist/rules/effect-default-env-rules.d.ts.map +1 -1
- package/dist/rules/effect-default-env-rules.js +23 -29
- package/dist/rules/effect-default-env-rules.js.map +1 -1
- package/dist/rules/effect-default-fiber-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-fiber-helpers.js +12 -26
- package/dist/rules/effect-default-fiber-helpers.js.map +1 -1
- package/dist/rules/effect-default-floating-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-floating-helpers.js +59 -67
- package/dist/rules/effect-default-floating-helpers.js.map +1 -1
- package/dist/rules/effect-default-resource-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-resource-helpers.js +36 -44
- package/dist/rules/effect-default-resource-helpers.js.map +1 -1
- package/dist/rules/effect-default-safety-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-safety-helpers.js +29 -68
- package/dist/rules/effect-default-safety-helpers.js.map +1 -1
- package/dist/rules/effect-default-scan-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-scan-helpers.js +51 -70
- package/dist/rules/effect-default-scan-helpers.js.map +1 -1
- package/dist/rules/effect-default-schema-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-schema-helpers.js +32 -43
- package/dist/rules/effect-default-schema-helpers.js.map +1 -1
- package/dist/rules/effect-default-test-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-test-helpers.js +13 -25
- package/dist/rules/effect-default-test-helpers.js.map +1 -1
- package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-workflow-helpers.js +53 -113
- package/dist/rules/effect-default-workflow-helpers.js.map +1 -1
- package/dist/rules/effect-exported-declarations.d.ts.map +1 -1
- package/dist/rules/effect-exported-declarations.js +90 -177
- package/dist/rules/effect-exported-declarations.js.map +1 -1
- package/dist/rules/effect-path-options.d.ts.map +1 -1
- package/dist/rules/effect-path-options.js +48 -58
- package/dist/rules/effect-path-options.js.map +1 -1
- package/dist/rules/effect-rule-aliases.d.ts.map +1 -1
- package/dist/rules/effect-rule-aliases.js +43 -101
- package/dist/rules/effect-rule-aliases.js.map +1 -1
- package/dist/rules/effect-rule-core.d.ts.map +1 -1
- package/dist/rules/effect-rule-core.js +42 -78
- package/dist/rules/effect-rule-core.js.map +1 -1
- package/dist/rules/effect-rule-names.d.ts +2 -2
- package/dist/rules/effect-rule-names.d.ts.map +1 -1
- package/dist/rules/effect-rule-names.js +3 -145
- package/dist/rules/effect-rule-names.js.map +1 -1
- package/dist/rules/effect-source-comments.d.ts.map +1 -1
- package/dist/rules/effect-source-comments.js +112 -167
- package/dist/rules/effect-source-comments.js.map +1 -1
- package/dist/rules/effect-source-navigation.d.ts.map +1 -1
- package/dist/rules/effect-source-navigation.js +103 -185
- package/dist/rules/effect-source-navigation.js.map +1 -1
- package/dist/rules/effect-source-regex-scan.d.ts +13 -0
- package/dist/rules/effect-source-regex-scan.d.ts.map +1 -0
- package/dist/rules/effect-source-regex-scan.js +126 -0
- package/dist/rules/effect-source-regex-scan.js.map +1 -0
- package/dist/rules/effect-source-scan.d.ts +1 -12
- package/dist/rules/effect-source-scan.d.ts.map +1 -1
- package/dist/rules/effect-source-scan.js +93 -239
- package/dist/rules/effect-source-scan.js.map +1 -1
- package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -1
- package/dist/rules/effect-strict-ast-specs.js +11 -8
- package/dist/rules/effect-strict-ast-specs.js.map +1 -1
- package/dist/rules/effect-strict-boundary-helpers.d.ts.map +1 -1
- package/dist/rules/effect-strict-boundary-helpers.js +51 -87
- package/dist/rules/effect-strict-boundary-helpers.js.map +1 -1
- package/dist/rules/effect-strict-core-specs.d.ts.map +1 -1
- package/dist/rules/effect-strict-core-specs.js +8 -6
- package/dist/rules/effect-strict-core-specs.js.map +1 -1
- package/dist/rules/effect-strict-external-helpers.d.ts.map +1 -1
- package/dist/rules/effect-strict-external-helpers.js +20 -40
- package/dist/rules/effect-strict-external-helpers.js.map +1 -1
- package/dist/rules/effect-strict-helpers.d.ts.map +1 -1
- package/dist/rules/effect-strict-helpers.js +47 -72
- package/dist/rules/effect-strict-helpers.js.map +1 -1
- package/dist/rules/effect-strict-internals.d.ts.map +1 -1
- package/dist/rules/effect-strict-internals.js +46 -101
- package/dist/rules/effect-strict-internals.js.map +1 -1
- package/dist/rules/effect-strict-segment-helpers.d.ts.map +1 -1
- package/dist/rules/effect-strict-segment-helpers.js +103 -174
- package/dist/rules/effect-strict-segment-helpers.js.map +1 -1
- package/dist/rules/effect-strict.d.ts.map +1 -1
- package/dist/rules/effect-strict.js +3 -2
- package/dist/rules/effect-strict.js.map +1 -1
- package/dist/rules/max-import-depth.d.ts +2 -1
- package/dist/rules/max-import-depth.d.ts.map +1 -1
- package/dist/rules/max-import-depth.js +13 -15
- package/dist/rules/max-import-depth.js.map +1 -1
- package/dist/rules/max-line-length.d.ts.map +1 -1
- package/dist/rules/max-line-length.js +26 -39
- package/dist/rules/max-line-length.js.map +1 -1
- package/dist/rules/no-commented-out-code.d.ts.map +1 -1
- package/dist/rules/no-commented-out-code.js +53 -156
- package/dist/rules/no-commented-out-code.js.map +1 -1
- package/dist/rules/pascal-case-types.d.ts.map +1 -1
- package/dist/rules/pascal-case-types.js +16 -70
- package/dist/rules/pascal-case-types.js.map +1 -1
- package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -1
- package/dist/rules/plugin-commented-out-code-rule.js +50 -77
- package/dist/rules/plugin-commented-out-code-rule.js.map +1 -1
- package/dist/rules/plugin.d.ts.map +1 -1
- package/dist/rules/plugin.js +14 -35
- package/dist/rules/plugin.js.map +1 -1
- package/dist/rules/private-underscore.d.ts +3 -1
- package/dist/rules/private-underscore.d.ts.map +1 -1
- package/dist/rules/private-underscore.js +7 -9
- package/dist/rules/private-underscore.js.map +1 -1
- package/dist/rules/require-file-doc.d.ts.map +1 -1
- package/dist/rules/require-file-doc.js +28 -94
- package/dist/rules/require-file-doc.js.map +1 -1
- package/dist/rules/require-function-doc-ignored-text.d.ts.map +1 -1
- package/dist/rules/require-function-doc-ignored-text.js +6 -9
- package/dist/rules/require-function-doc-ignored-text.js.map +1 -1
- package/dist/rules/require-function-doc-local-exports.d.ts.map +1 -1
- package/dist/rules/require-function-doc-local-exports.js +16 -58
- package/dist/rules/require-function-doc-local-exports.js.map +1 -1
- package/dist/rules/require-function-doc.d.ts.map +1 -1
- package/dist/rules/require-function-doc.js +87 -196
- package/dist/rules/require-function-doc.js.map +1 -1
- package/dist/rules/source-cache.d.ts.map +1 -1
- package/dist/rules/source-cache.js +23 -33
- package/dist/rules/source-cache.js.map +1 -1
- package/package.json +3 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* -------------------------------------------------------------------------- */
|
|
2
2
|
/* Effect workflow body and recursion predicates. */
|
|
3
3
|
/* -------------------------------------------------------------------------- */
|
|
4
|
+
import { Array, Match, Option, pipe } from 'effect';
|
|
4
5
|
import { effectAliasesPattern, effectCallBodies, effectCallPattern, someEffectWorkflowBody, strippedCallSegment, } from './effect-default-scan-helpers.js';
|
|
5
6
|
import { findBalancedCallEnd, findMatchingBrace, findStatementEnd, isInsideCall, stripComments, stripCommentsAndStrings, } from './effect-source-helpers.js';
|
|
6
7
|
import { hasRuntimeCall } from './effect-rule-core.js';
|
|
@@ -17,8 +18,10 @@ export const hasRuntimeInEffect = (source) => someEffectWorkflowBody(source, (bo
|
|
|
17
18
|
*/
|
|
18
19
|
export const hasNestedFlatMap = (source) => {
|
|
19
20
|
const code = stripCommentsAndStrings(source);
|
|
20
|
-
return (
|
|
21
|
-
/Effect\.flatMap\s*\([
|
|
21
|
+
return pipe([
|
|
22
|
+
/Effect\.flatMap\s*\([\s\S]*?=>[\s\S]*?\.pipe\s*\(\s*Effect\.flatMap/s,
|
|
23
|
+
/Effect\.flatMap\s*\([^,]+,\s*(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>[\s\S]*?Effect\.flatMap\s*\(/s,
|
|
24
|
+
], Array.some((pattern) => pattern.test(code)));
|
|
22
25
|
};
|
|
23
26
|
/**
|
|
24
27
|
* Internal helper exported for package-local composition.
|
|
@@ -27,12 +30,7 @@ export const hasNestedFlatMap = (source) => {
|
|
|
27
30
|
*/
|
|
28
31
|
export const hasUnboundedEffectConcurrency = (source) => {
|
|
29
32
|
const code = stripCommentsAndStrings(source);
|
|
30
|
-
|
|
31
|
-
if (/\{[\s\S]*?\bconcurrency\s*:\s*['"]unbounded['"]/.test(strippedCallSegment(source, match.index))) {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return false;
|
|
33
|
+
return pipe(Array.fromIterable(code.matchAll(/\bEffect\.(?:forEach|all)\s*\(/g)), Array.some((match) => /\{[\s\S]*?\bconcurrency\s*:\s*['"]unbounded['"]/.test(strippedCallSegment(source, match.index))));
|
|
36
34
|
};
|
|
37
35
|
/**
|
|
38
36
|
* Internal helper exported for package-local composition.
|
|
@@ -41,12 +39,7 @@ export const hasUnboundedEffectConcurrency = (source) => {
|
|
|
41
39
|
*/
|
|
42
40
|
export const hasUnboundedFlatMapConcurrency = (source) => {
|
|
43
41
|
const code = stripCommentsAndStrings(source);
|
|
44
|
-
|
|
45
|
-
if (/\{[\s\S]*?\bconcurrency\s*:\s*['"]unbounded['"]/.test(strippedCallSegment(source, match.index))) {
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return false;
|
|
42
|
+
return pipe(Array.fromIterable(code.matchAll(/\bEffect\.flatMap\s*\(/g)), Array.some((match) => /\{[\s\S]*?\bconcurrency\s*:\s*['"]unbounded['"]/.test(strippedCallSegment(source, match.index))));
|
|
50
43
|
};
|
|
51
44
|
/**
|
|
52
45
|
* Internal helper exported for package-local composition.
|
|
@@ -55,25 +48,19 @@ export const hasUnboundedFlatMapConcurrency = (source) => {
|
|
|
55
48
|
*/
|
|
56
49
|
export const hasParsedJSONNumberFromString = (source) => {
|
|
57
50
|
const code = stripCommentsAndStrings(source);
|
|
58
|
-
|
|
51
|
+
return pipe(Array.fromIterable(code.matchAll(/\bJSON\.parse\s*\(/g)), Array.some((match) => {
|
|
59
52
|
const statementStart = Math.max(code.lastIndexOf(';', match.index) + 1, code.lastIndexOf('\n', match.index) + 1);
|
|
60
53
|
const statementEnd = findStatementEnd(code, statementStart);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return false;
|
|
54
|
+
return /\b(?:[A-Za-z_$][\w$]*NumberFromString|Schema\.NumberFromString)\b/.test(code.slice(statementStart, statementEnd + 1));
|
|
55
|
+
}));
|
|
66
56
|
};
|
|
67
57
|
const hasEffectInCallbackCall = (source, callPattern) => {
|
|
68
58
|
const code = stripCommentsAndStrings(source);
|
|
69
|
-
|
|
59
|
+
return pipe(Array.fromIterable(code.matchAll(callPattern)), Array.some((match) => {
|
|
70
60
|
const openParenIndex = source.indexOf('(', match.index);
|
|
71
61
|
const callBody = source.slice(openParenIndex + 1, findBalancedCallEnd(source, openParenIndex));
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return false;
|
|
62
|
+
return /(?:=>|function\b)[\s\S]*?\bEffect\./.test(stripCommentsAndStrings(callBody));
|
|
63
|
+
}));
|
|
77
64
|
};
|
|
78
65
|
/**
|
|
79
66
|
* Internal helper exported for package-local composition.
|
|
@@ -94,20 +81,15 @@ export const hasEffectInPromiseCallback = (source) => hasEffectInCallbackCall(so
|
|
|
94
81
|
*/
|
|
95
82
|
export const hasReturnEffectInGen = (source) => {
|
|
96
83
|
const returnEffectPattern = new RegExp(`\\breturn\\s+(?:${effectAliasesPattern(source)})\\.(?!isEffect\\b|serviceFunction\\b)`);
|
|
97
|
-
return effectCallBodies(source, effectCallPattern(source, 'gen')).some((body) => returnEffectPattern.test(stripCommentsAndStrings(body)));
|
|
84
|
+
return pipe(effectCallBodies(source, effectCallPattern(source, 'gen')), Array.some((body) => returnEffectPattern.test(stripCommentsAndStrings(body))));
|
|
98
85
|
};
|
|
99
86
|
const yieldWithoutStarIndex = (source, matchIndex) => {
|
|
100
87
|
const openParenIndex = source.indexOf('(', matchIndex);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const yieldMatch = /(?:^|[^\w$])(yield\s+(?!\*)[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)?)/.exec(stripCommentsAndStrings(body));
|
|
107
|
-
if (yieldMatch?.index === undefined) {
|
|
108
|
-
return undefined;
|
|
109
|
-
}
|
|
110
|
-
return bodyStart + yieldMatch.index + yieldMatch[0].indexOf(yieldMatch[1]);
|
|
88
|
+
return Match.value(openParenIndex).pipe(Match.when(-1, () => undefined), Match.orElse((parenIndex) => {
|
|
89
|
+
const bodyStart = parenIndex + 1;
|
|
90
|
+
const body = source.slice(bodyStart, findBalancedCallEnd(source, parenIndex));
|
|
91
|
+
return pipe(Option.fromNullable(/(?:^|[^\w$])(yield\s+(?!\*)[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)?)/.exec(stripCommentsAndStrings(body))), Option.flatMap((yieldMatch) => pipe(Option.fromNullable(yieldMatch.index), Option.map((index) => bodyStart + index + yieldMatch[0].indexOf(yieldMatch[1])))), Option.getOrUndefined);
|
|
92
|
+
}));
|
|
111
93
|
};
|
|
112
94
|
/**
|
|
113
95
|
* Internal helper exported for package-local composition.
|
|
@@ -116,13 +98,7 @@ const yieldWithoutStarIndex = (source, matchIndex) => {
|
|
|
116
98
|
*/
|
|
117
99
|
export const hasYieldWithoutStarInGen = (source) => {
|
|
118
100
|
const code = stripCommentsAndStrings(source);
|
|
119
|
-
|
|
120
|
-
const index = yieldWithoutStarIndex(source, match.index);
|
|
121
|
-
if (index !== undefined) {
|
|
122
|
-
return index;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return false;
|
|
101
|
+
return pipe(Array.fromIterable(code.matchAll(effectCallPattern(source, 'gen'))), Array.findFirst((match) => yieldWithoutStarIndex(source, match.index) !== undefined), Option.flatMap((match) => Option.fromNullable(yieldWithoutStarIndex(source, match.index))), Option.getOrElse(() => false));
|
|
126
102
|
};
|
|
127
103
|
/**
|
|
128
104
|
* Internal helper exported for package-local composition.
|
|
@@ -135,16 +111,16 @@ export const hasAsyncAwaitInEffect = (source) => someEffectWorkflowBody(source,
|
|
|
135
111
|
*
|
|
136
112
|
* @internal
|
|
137
113
|
*/
|
|
138
|
-
export const hasSyncForPromise = (source) => effectCallBodies(source, effectCallPattern(source, 'sync')).some((body) => {
|
|
114
|
+
export const hasSyncForPromise = (source) => pipe(effectCallBodies(source, effectCallPattern(source, 'sync')), Array.some((body) => {
|
|
139
115
|
const code = stripCommentsAndStrings(body);
|
|
140
116
|
return /^\s*async\b/.test(code) || /\b(?:fetch|Promise\.)\s*\(/.test(code);
|
|
141
|
-
});
|
|
117
|
+
}));
|
|
142
118
|
/**
|
|
143
119
|
* Internal helper exported for package-local composition.
|
|
144
120
|
*
|
|
145
121
|
* @internal
|
|
146
122
|
*/
|
|
147
|
-
export const hasSyncForThrowingOPS = (source) => effectCallBodies(source, effectCallPattern(source, 'sync')).some((body) => /\b(?:throw\b|JSON\.parse\s*\()/.test(stripCommentsAndStrings(body)));
|
|
123
|
+
export const hasSyncForThrowingOPS = (source) => pipe(effectCallBodies(source, effectCallPattern(source, 'sync')), Array.some((body) => /\b(?:throw\b|JSON\.parse\s*\()/.test(stripCommentsAndStrings(body))));
|
|
148
124
|
/**
|
|
149
125
|
* Internal helper exported for package-local composition.
|
|
150
126
|
*
|
|
@@ -153,29 +129,22 @@ export const hasSyncForThrowingOPS = (source) => effectCallBodies(source, effect
|
|
|
153
129
|
export const hasThrowInEffect = (source) => someEffectWorkflowBody(source, (body) => /\bthrow\b/.test(stripCommentsAndStrings(body)));
|
|
154
130
|
const tryPromiseObjectBody = (code, source, start) => {
|
|
155
131
|
const objectEnd = findMatchingBrace(code, start);
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
body: code.slice(start + 1, objectEnd),
|
|
161
|
-
rawBody: source.slice(start + 1, objectEnd),
|
|
162
|
-
};
|
|
132
|
+
return Match.value(objectEnd).pipe(Match.when(-1, () => undefined), Match.orElse((end) => ({
|
|
133
|
+
body: code.slice(start + 1, end),
|
|
134
|
+
rawBody: source.slice(start + 1, end),
|
|
135
|
+
})));
|
|
163
136
|
};
|
|
164
137
|
const catchTailFor = (body, rawBody) => {
|
|
165
138
|
const catchIndex = body.search(/\bcatch\s*:/);
|
|
166
|
-
|
|
167
|
-
return '';
|
|
168
|
-
}
|
|
169
|
-
return stripComments(rawBody.slice(catchIndex));
|
|
139
|
+
return Match.value(catchIndex).pipe(Match.when(-1, () => ''), Match.orElse((index) => stripComments(rawBody.slice(index))));
|
|
170
140
|
};
|
|
171
|
-
const hasUnsafeTryPromiseObjectBody = (body, rawBody) => {
|
|
172
|
-
if (/\btry\s*:/.test(body) && !/\bcatch\s*:/.test(body)) {
|
|
173
|
-
return true;
|
|
174
|
-
}
|
|
141
|
+
const hasUnsafeTryPromiseObjectBody = (body, rawBody) => Match.value(/\btry\s*:/.test(body) && !/\bcatch\s*:/.test(body)).pipe(Match.when(true, () => true), Match.orElse(() => {
|
|
175
142
|
const catchTail = catchTailFor(body, rawBody);
|
|
176
|
-
return (
|
|
177
|
-
/^\s*catch\s*:[\s\S]*?=>\s
|
|
178
|
-
|
|
143
|
+
return pipe([
|
|
144
|
+
/^\s*catch\s*:[\s\S]*?=>\s*(?:new\s+Error\s*\(|['"`])/,
|
|
145
|
+
/^\s*catch\s*:[\s\S]*?=>\s*\(\s*{(?![\s\S]*\b_tag\s*:)/,
|
|
146
|
+
], Array.some((pattern) => pattern.test(catchTail)));
|
|
147
|
+
}));
|
|
179
148
|
/**
|
|
180
149
|
* Internal helper exported for package-local composition.
|
|
181
150
|
*
|
|
@@ -183,61 +152,32 @@ const hasUnsafeTryPromiseObjectBody = (body, rawBody) => {
|
|
|
183
152
|
*/
|
|
184
153
|
export const hasTryPromiseWithoutTypedCatch = (source) => {
|
|
185
154
|
const code = stripCommentsAndStrings(source);
|
|
186
|
-
|
|
187
|
-
return true;
|
|
188
|
-
}
|
|
189
|
-
for (const match of code.matchAll(/Effect\.tryPromise\s*\(\s*{/g)) {
|
|
155
|
+
return Match.value(/\bEffect\.tryPromise\s*\(\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(code)).pipe(Match.when(true, () => true), Match.orElse(() => pipe(Array.fromIterable(code.matchAll(/Effect\.tryPromise\s*\(\s*{/g)), Array.some((match) => {
|
|
190
156
|
const objectStart = code.indexOf('{', match.index);
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
return true;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
return false;
|
|
157
|
+
return pipe(Option.fromNullable(tryPromiseObjectBody(code, source, objectStart)), Option.exists((objectBody) => hasUnsafeTryPromiseObjectBody(objectBody.body, objectBody.rawBody)));
|
|
158
|
+
}))));
|
|
197
159
|
};
|
|
198
160
|
const hasUnsafeRecursiveBody = (name, body) => {
|
|
199
161
|
const code = stripCommentsAndStrings(body);
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
return
|
|
210
|
-
};
|
|
211
|
-
const hasUnsafeRecursiveFunction = (source) => {
|
|
212
|
-
for (const match of source.matchAll(/\bfunction\s+([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*{/g)) {
|
|
213
|
-
const [, name] = match;
|
|
214
|
-
const bodyStart = source.indexOf('{', match.index);
|
|
215
|
-
const bodyEnd = findMatchingBrace(source, bodyStart);
|
|
216
|
-
if (bodyEnd !== -1 && hasUnsafeRecursiveBody(name, source.slice(bodyStart + 1, bodyEnd))) {
|
|
217
|
-
return true;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
return false;
|
|
221
|
-
};
|
|
162
|
+
return Match.value(/\bEffect\.(?:flatMap|forEach|gen)\b/.test(code)).pipe(Match.when(false, () => false), Match.orElse(() => {
|
|
163
|
+
const recursiveCallPattern = new RegExp(`\\b${name}\\s*\\(`, 'g');
|
|
164
|
+
return pipe(Array.fromIterable(code.matchAll(recursiveCallPattern)), Array.some((match) => !isInsideCall(code, match.index, /Effect\.suspend\s*\(/g)));
|
|
165
|
+
}));
|
|
166
|
+
};
|
|
167
|
+
const hasUnsafeRecursiveFunction = (source) => pipe(Array.fromIterable(source.matchAll(/\bfunction\s+([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*{/g)), Array.some((match) => {
|
|
168
|
+
const [, name] = match;
|
|
169
|
+
const bodyStart = source.indexOf('{', match.index);
|
|
170
|
+
const bodyEnd = findMatchingBrace(source, bodyStart);
|
|
171
|
+
return bodyEnd !== -1 && hasUnsafeRecursiveBody(name, source.slice(bodyStart + 1, bodyEnd));
|
|
172
|
+
}));
|
|
222
173
|
const recursiveArrowBody = (source, bodyStart) => {
|
|
223
174
|
const expressionEnd = source.indexOf(';', bodyStart);
|
|
224
|
-
|
|
225
|
-
return source.slice(bodyStart + 1, findMatchingBrace(source, bodyStart));
|
|
226
|
-
}
|
|
227
|
-
if (expressionEnd === -1) {
|
|
228
|
-
return source.slice(bodyStart, source.length);
|
|
229
|
-
}
|
|
230
|
-
return source.slice(bodyStart, expressionEnd);
|
|
231
|
-
};
|
|
232
|
-
const hasUnsafeRecursiveArrow = (source) => {
|
|
233
|
-
for (const match of source.matchAll(/\bconst\s+([A-Za-z_$][\w$]*)\s*=\s*(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>\s*/g)) {
|
|
234
|
-
const [, name] = match;
|
|
235
|
-
if (hasUnsafeRecursiveBody(name, recursiveArrowBody(source, match.index + match[0].length))) {
|
|
236
|
-
return true;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return false;
|
|
175
|
+
return Match.value(source[bodyStart]).pipe(Match.when('{', () => source.slice(bodyStart + 1, findMatchingBrace(source, bodyStart))), Match.orElse(() => Match.value(expressionEnd).pipe(Match.when(-1, () => source.slice(bodyStart, source.length)), Match.orElse((end) => source.slice(bodyStart, end)))));
|
|
240
176
|
};
|
|
177
|
+
const hasUnsafeRecursiveArrow = (source) => pipe(Array.fromIterable(source.matchAll(/\bconst\s+([A-Za-z_$][\w$]*)\s*=\s*(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>\s*/g)), Array.some((match) => {
|
|
178
|
+
const [, name] = match;
|
|
179
|
+
return hasUnsafeRecursiveBody(name, recursiveArrowBody(source, match.index + match[0].length));
|
|
180
|
+
}));
|
|
241
181
|
/**
|
|
242
182
|
* Internal helper exported for package-local composition.
|
|
243
183
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect-default-workflow-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-default-workflow-helpers.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAW,EAAE,CAC5D,sBAAsB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAW,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAW,EAAE;IAC1D,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"effect-default-workflow-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-default-workflow-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect-exported-declarations.d.ts","sourceRoot":"","sources":["../../src/rules/effect-exported-declarations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"effect-exported-declarations.d.ts","sourceRoot":"","sources":["../../src/rules/effect-exported-declarations.ts"],"names":[],"mappings":"AA4LA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,MAAM,EAkB/D,CAAC;AAwDF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,QAAQ,MAAM,KAAG,MAAM,EAalE,CAAC;AAwCF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAAI,QAAQ,MAAM,KAAG,MAAM,EAa1E,CAAC"}
|