@thethracian/oxlint-config 0.1.0 → 0.2.1

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 (68) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +62 -2
  3. package/dist/index.d.ts +34 -11
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +73 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/rules/acronym-case.d.ts.map +1 -1
  8. package/dist/rules/acronym-case.js +0 -2
  9. package/dist/rules/acronym-case.js.map +1 -1
  10. package/dist/rules/effect-default-helpers.d.ts +33 -0
  11. package/dist/rules/effect-default-helpers.d.ts.map +1 -0
  12. package/dist/rules/effect-default-helpers.js +536 -0
  13. package/dist/rules/effect-default-helpers.js.map +1 -0
  14. package/dist/rules/effect-default-resource-helpers.d.ts +5 -0
  15. package/dist/rules/effect-default-resource-helpers.d.ts.map +1 -0
  16. package/dist/rules/effect-default-resource-helpers.js +65 -0
  17. package/dist/rules/effect-default-resource-helpers.js.map +1 -0
  18. package/dist/rules/effect-default-test-helpers.d.ts +5 -0
  19. package/dist/rules/effect-default-test-helpers.d.ts.map +1 -0
  20. package/dist/rules/effect-default-test-helpers.js +46 -0
  21. package/dist/rules/effect-default-test-helpers.js.map +1 -0
  22. package/dist/rules/effect-default.d.ts +3 -0
  23. package/dist/rules/effect-default.d.ts.map +1 -0
  24. package/dist/rules/effect-default.js +882 -0
  25. package/dist/rules/effect-default.js.map +1 -0
  26. package/dist/rules/effect-path-options.d.ts +59 -0
  27. package/dist/rules/effect-path-options.d.ts.map +1 -0
  28. package/dist/rules/effect-path-options.js +114 -0
  29. package/dist/rules/effect-path-options.js.map +1 -0
  30. package/dist/rules/effect-rule-core.d.ts +60 -0
  31. package/dist/rules/effect-rule-core.d.ts.map +1 -0
  32. package/dist/rules/effect-rule-core.js +509 -0
  33. package/dist/rules/effect-rule-core.js.map +1 -0
  34. package/dist/rules/effect-rule-names.d.ts +4 -0
  35. package/dist/rules/effect-rule-names.d.ts.map +1 -0
  36. package/dist/rules/effect-rule-names.js +147 -0
  37. package/dist/rules/effect-rule-names.js.map +1 -0
  38. package/dist/rules/effect-source-helpers.d.ts +10 -0
  39. package/dist/rules/effect-source-helpers.d.ts.map +1 -0
  40. package/dist/rules/effect-source-helpers.js +359 -0
  41. package/dist/rules/effect-source-helpers.js.map +1 -0
  42. package/dist/rules/effect-source-scan.d.ts +8 -0
  43. package/dist/rules/effect-source-scan.d.ts.map +1 -0
  44. package/dist/rules/effect-source-scan.js +364 -0
  45. package/dist/rules/effect-source-scan.js.map +1 -0
  46. package/dist/rules/effect-strict-helpers.d.ts +34 -0
  47. package/dist/rules/effect-strict-helpers.d.ts.map +1 -0
  48. package/dist/rules/effect-strict-helpers.js +500 -0
  49. package/dist/rules/effect-strict-helpers.js.map +1 -0
  50. package/dist/rules/effect-strict.d.ts +3 -0
  51. package/dist/rules/effect-strict.d.ts.map +1 -0
  52. package/dist/rules/effect-strict.js +727 -0
  53. package/dist/rules/effect-strict.js.map +1 -0
  54. package/dist/rules/max-line-length.d.ts.map +1 -1
  55. package/dist/rules/max-line-length.js +25 -7
  56. package/dist/rules/max-line-length.js.map +1 -1
  57. package/dist/rules/plugin.d.ts +2 -121
  58. package/dist/rules/plugin.d.ts.map +1 -1
  59. package/dist/rules/plugin.js +94 -101
  60. package/dist/rules/plugin.js.map +1 -1
  61. package/dist/rules/require-function-doc.d.ts.map +1 -1
  62. package/dist/rules/require-function-doc.js +32 -21
  63. package/dist/rules/require-function-doc.js.map +1 -1
  64. package/dist/rules/source-cache.d.ts +11 -0
  65. package/dist/rules/source-cache.d.ts.map +1 -0
  66. package/dist/rules/source-cache.js +50 -0
  67. package/dist/rules/source-cache.js.map +1 -0
  68. package/package.json +13 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-default-resource-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-default-resource-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ declare function hasForkBeforeTestClockAdjust(source: string): boolean;
2
+ declare function hasRealSleepWithoutTestClock(source: string): boolean;
3
+ declare function hasTestClockWithoutEffectContext(source: string): boolean;
4
+ export { hasForkBeforeTestClockAdjust, hasRealSleepWithoutTestClock, hasTestClockWithoutEffectContext, };
5
+ //# sourceMappingURL=effect-default-test-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-default-test-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/effect-default-test-helpers.ts"],"names":[],"mappings":"AAEA,iBAAS,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgB7D;AAED,iBAAS,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgB7D;AAED,iBAAS,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgBjE;AAED,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,GACjC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { stripCommentsAndStrings } from './effect-source-helpers.js';
2
+ function hasForkBeforeTestClockAdjust(source) {
3
+ const code = stripCommentsAndStrings(source);
4
+ const adjustMatches = [...code.matchAll(/TestClock\.adjust\s*\(/g)];
5
+ if (adjustMatches.length === 0) {
6
+ return false;
7
+ }
8
+ return adjustMatches.every((match) => {
9
+ const adjustIndex = match.index;
10
+ const testStart = Math.max(code.lastIndexOf('it.effect', adjustIndex), code.lastIndexOf('it(', adjustIndex));
11
+ const segment = code.slice(testStart === -1 ? 0 : testStart, adjustIndex);
12
+ return /Effect\.fork(?:Scoped)?\b/.test(segment);
13
+ });
14
+ }
15
+ function hasRealSleepWithoutTestClock(source) {
16
+ const code = stripCommentsAndStrings(source);
17
+ const testStartPattern = /\bit(?:\.effect)?\s*\(/g;
18
+ const testStarts = [...code.matchAll(testStartPattern)].map((match) => match.index);
19
+ for (const sleepMatch of code.matchAll(/Effect\.sleep\s*\(/g)) {
20
+ const previousStarts = testStarts.filter((start) => start < sleepMatch.index);
21
+ const testStart = previousStarts.at(-1) ?? 0;
22
+ const nextTestStart = testStarts.find((start) => start > sleepMatch.index) ?? code.length;
23
+ const testBody = code.slice(testStart, nextTestStart);
24
+ if (!/TestClock\./.test(testBody)) {
25
+ return true;
26
+ }
27
+ }
28
+ return false;
29
+ }
30
+ function hasTestClockWithoutEffectContext(source) {
31
+ const code = stripCommentsAndStrings(source);
32
+ const testStartPattern = /\bit(?:\.effect)?\s*\(/g;
33
+ const testStarts = [...code.matchAll(testStartPattern)].map((match) => match.index);
34
+ for (const clockMatch of code.matchAll(/TestClock\./g)) {
35
+ const previousStarts = testStarts.filter((start) => start < clockMatch.index);
36
+ const testStart = previousStarts.at(-1) ?? 0;
37
+ const nextTestStart = testStarts.find((start) => start > clockMatch.index) ?? code.length;
38
+ const testBody = code.slice(testStart, nextTestStart);
39
+ if (!/(?:it\.effect|TestContext)/.test(testBody)) {
40
+ return true;
41
+ }
42
+ }
43
+ return false;
44
+ }
45
+ export { hasForkBeforeTestClockAdjust, hasRealSleepWithoutTestClock, hasTestClockWithoutEffectContext, };
46
+ //# sourceMappingURL=effect-default-test-helpers.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,3 @@
1
+ declare const effectDefaultRules: Record<string, import("./effect-rule-core.js").SourceRule>;
2
+ export default effectDefaultRules;
3
+ //# sourceMappingURL=effect-default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-default.d.ts","sourceRoot":"","sources":["../../src/rules/effect-default.ts"],"names":[],"mappings":"AA4iCA,QAAA,MAAM,kBAAkB,4DAGtB,CAAC;AAEH,eAAe,kBAAkB,CAAC"}