@codeperfect/eslint-plugin 2.4.0 → 2.5.0

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 (131) hide show
  1. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  2. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -1
  3. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +4 -2
  4. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
  5. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +2 -4
  6. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -1
  7. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +4 -134
  8. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts +14 -0
  9. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts.map +1 -0
  10. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.js +154 -0
  11. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +1 -1
  12. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +10 -12
  13. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
  14. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +4 -11
  15. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts +14 -0
  16. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts.map +1 -0
  17. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.js +187 -0
  18. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts +26 -0
  19. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts.map +1 -0
  20. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.js +95 -0
  21. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts +32 -0
  22. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts.map +1 -0
  23. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.js +78 -0
  24. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts +18 -0
  25. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts.map +1 -0
  26. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.js +45 -0
  27. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts +34 -0
  28. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts.map +1 -0
  29. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.js +44 -0
  30. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts +59 -0
  31. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts.map +1 -0
  32. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.js +133 -0
  33. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.d.ts +28 -0
  34. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.d.ts.map +1 -0
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.js +106 -0
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +21 -21
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -1
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +24 -587
  39. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts +58 -0
  40. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts.map +1 -0
  41. package/dist/domain/core/no-multiple-declarators/rule-utilities.js +204 -0
  42. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  43. package/dist/domain/core/no-multiple-declarators/rule.js +9 -211
  44. package/dist/domain/core/no-multiple-declarators/types.js +2 -2
  45. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts +57 -0
  46. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -0
  47. package/dist/domain/core/prefer-interface-types/rule-utilities.js +105 -0
  48. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
  49. package/dist/domain/core/prefer-interface-types/rule.js +2 -104
  50. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts +25 -0
  51. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts.map +1 -0
  52. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.js +64 -0
  53. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts +2 -24
  54. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  55. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +3 -65
  56. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +2 -2
  57. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +2 -2
  58. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  59. package/dist/domain/docs/no-interface-member-docs/rule.js +3 -2
  60. package/dist/domain/docs/require-example-language/examples-collect.d.ts +15 -0
  61. package/dist/domain/docs/require-example-language/examples-collect.d.ts.map +1 -0
  62. package/dist/domain/docs/require-example-language/examples-collect.js +113 -0
  63. package/dist/domain/docs/require-example-language/examples.d.ts +24 -13
  64. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  65. package/dist/domain/docs/require-example-language/examples.js +2 -111
  66. package/dist/domain/docs/require-example-language/fixes.js +4 -4
  67. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
  68. package/dist/domain/docs/require-example-language/rule.js +9 -8
  69. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
  70. package/dist/domain/docs/require-example-language/types.js +1 -1
  71. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  72. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +8 -8
  73. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
  74. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +10 -9
  75. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
  76. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +2 -5
  77. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +14 -16
  78. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +6 -4
  79. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  80. package/dist/domain/testing/aaa/analyzer.super.js +10 -8
  81. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
  82. package/dist/domain/testing/assert-actual-expected-names/rule.js +21 -23
  83. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
  84. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +1 -1
  85. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
  86. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +2 -160
  87. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts +41 -0
  88. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts.map +1 -0
  89. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.js +161 -0
  90. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
  91. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +2 -2
  92. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts +81 -0
  93. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts.map +1 -0
  94. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.js +181 -0
  95. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
  96. package/dist/domain/testing/enforce-aaa-structure/rule.js +28 -217
  97. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts +29 -0
  98. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts.map +1 -0
  99. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.js +200 -0
  100. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts +12 -0
  101. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts.map +1 -0
  102. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.js +151 -0
  103. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts +16 -0
  104. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts.map +1 -0
  105. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.js +109 -0
  106. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +1 -1
  107. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +18 -450
  108. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -1
  109. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +7 -4
  110. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
  111. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +7 -4
  112. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +2 -2
  113. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts +18 -0
  114. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts.map +1 -0
  115. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.js +162 -0
  116. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -1
  117. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +5 -4
  118. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts +29 -0
  119. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts.map +1 -0
  120. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.js +100 -0
  121. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
  122. package/dist/domain/testing/prefer-vi-mocked-import/match.js +5 -246
  123. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
  124. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +18 -20
  125. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  126. package/dist/domain/testing/require-act-result-capture/rule.js +47 -21
  127. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
  128. package/dist/domain/testing/require-test-companion/rule.js +2 -4
  129. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
  130. package/dist/domain/testing/single-act-statement/rule.js +20 -22
  131. package/package.json +35 -38
@@ -2,27 +2,25 @@ import { analyzeTestBlock } from "../aaa/analyzer.analysis.js";
2
2
  import { countActStatements, getActTopLevelStatements, } from "../aaa/analyzer.analysis.helpers.js";
3
3
  /** Requires the Act phase to contain a single top-level statement. */
4
4
  const singleActStatementRule = {
5
- create(context) {
6
- return {
7
- CallExpression(node) {
8
- const analysis = analyzeTestBlock(context, node);
9
- if (analysis === void 0) {
10
- return;
11
- }
12
- const actStatementCount = countActStatements(analysis);
13
- if (actStatementCount <= 1) {
14
- return;
15
- }
16
- const actStatements = getActTopLevelStatements(analysis);
17
- const firstExcessActStatement = actStatements.at(1)?.node;
18
- context.report({
19
- data: { count: String(actStatementCount) },
20
- messageId: "multipleActStatements",
21
- node: firstExcessActStatement ?? analysis.callExpression,
22
- });
23
- },
24
- };
25
- },
5
+ create: (context) => ({
6
+ CallExpression(node) {
7
+ const analysis = analyzeTestBlock(context, node);
8
+ if (analysis === void 0) {
9
+ return;
10
+ }
11
+ const actStatementCount = countActStatements(analysis);
12
+ if (actStatementCount <= 1) {
13
+ return;
14
+ }
15
+ const actStatements = getActTopLevelStatements(analysis);
16
+ const firstExcessActStatement = actStatements.at(1)?.node;
17
+ context.report({
18
+ data: { count: String(actStatementCount) },
19
+ messageId: "multipleActStatements",
20
+ node: firstExcessActStatement ?? analysis.callExpression,
21
+ });
22
+ },
23
+ }),
26
24
  meta: {
27
25
  docs: {
28
26
  description: "Require the // Act section to contain a single top-level statement or declaration.",
@@ -37,4 +35,4 @@ const singleActStatementRule = {
37
35
  },
38
36
  };
39
37
  export { singleActStatementRule };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9zaW5nbGUtYWN0LXN0YXRlbWVudC9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsd0JBQXdCLEdBQ3pCLE1BQU0sa0NBQWtDLENBQUM7QUFFMUMsc0VBQXNFO0FBQ3RFLE1BQU0sc0JBQXNCLEdBQW9CO0lBQzlDLE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixPQUFPO1lBQ0wsY0FBYyxDQUFDLElBQUk7Z0JBQ2pCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakQsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsT0FBTztnQkFDVCxDQUFDO2dCQUVELE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZELElBQUksaUJBQWlCLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQzNCLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCxNQUFNLGFBQWEsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekQsTUFBTSx1QkFBdUIsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztnQkFFMUQsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDYixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7b0JBQzFDLFNBQVMsRUFBRSx1QkFBdUI7b0JBQ2xDLElBQUksRUFBRSx1QkFBdUIsSUFBSSxRQUFRLENBQUMsY0FBYztpQkFDekQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUMwQixDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1Qsb0ZBQW9GO1lBQ3RGLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsRUFBRSx1RkFBdUY7U0FDN0Y7UUFDRCxRQUFRLEVBQUU7WUFDUixxQkFBcUIsRUFDbkIscUdBQXFHO1NBQ3hHO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsWUFBWTtLQUNuQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgYW5hbHl6ZVRlc3RCbG9jayB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXNcIjtcbmltcG9ydCB7XG4gIGNvdW50QWN0U3RhdGVtZW50cyxcbiAgZ2V0QWN0VG9wTGV2ZWxTdGF0ZW1lbnRzLFxufSBmcm9tIFwiLi4vYWFhL2FuYWx5emVyLmFuYWx5c2lzLmhlbHBlcnNcIjtcblxuLyoqIFJlcXVpcmVzIHRoZSBBY3QgcGhhc2UgdG8gY29udGFpbiBhIHNpbmdsZSB0b3AtbGV2ZWwgc3RhdGVtZW50LiAqL1xuY29uc3Qgc2luZ2xlQWN0U3RhdGVtZW50UnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbmFseXNpcyA9IGFuYWx5emVUZXN0QmxvY2soY29udGV4dCwgbm9kZSk7XG4gICAgICAgIGlmIChhbmFseXNpcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0U3RhdGVtZW50Q291bnQgPSBjb3VudEFjdFN0YXRlbWVudHMoYW5hbHlzaXMpO1xuICAgICAgICBpZiAoYWN0U3RhdGVtZW50Q291bnQgPD0gMSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFjdFN0YXRlbWVudHMgPSBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMoYW5hbHlzaXMpO1xuICAgICAgICBjb25zdCBmaXJzdEV4Y2Vzc0FjdFN0YXRlbWVudCA9IGFjdFN0YXRlbWVudHMuYXQoMSk/Lm5vZGU7XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGRhdGE6IHsgY291bnQ6IFN0cmluZyhhY3RTdGF0ZW1lbnRDb3VudCkgfSxcbiAgICAgICAgICBtZXNzYWdlSWQ6IFwibXVsdGlwbGVBY3RTdGF0ZW1lbnRzXCIsXG4gICAgICAgICAgbm9kZTogZmlyc3RFeGNlc3NBY3RTdGF0ZW1lbnQgPz8gYW5hbHlzaXMuY2FsbEV4cHJlc3Npb24sXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBSdWxlLlJ1bGVMaXN0ZW5lcjtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlcXVpcmUgdGhlIC8vIEFjdCBzZWN0aW9uIHRvIGNvbnRhaW4gYSBzaW5nbGUgdG9wLWxldmVsIHN0YXRlbWVudCBvciBkZWNsYXJhdGlvbi5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL3NpbmdsZS1hY3Qtc3RhdGVtZW50Lm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbXVsdGlwbGVBY3RTdGF0ZW1lbnRzOlxuICAgICAgICBcIlJlZHVjZSB0aGUgLy8gQWN0IHNlY3Rpb24gdG8gYSBzaW5nbGUgdG9wLWxldmVsIHN0YXRlbWVudCBvciB2YXJpYWJsZSBkZWNsYXJhdGlvbjsgZm91bmQge3tjb3VudH19LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUgfTtcbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9zaW5nbGUtYWN0LXN0YXRlbWVudC9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsd0JBQXdCLEdBQ3pCLE1BQU0sa0NBQWtDLENBQUM7QUFFMUMsc0VBQXNFO0FBQ3RFLE1BQU0sc0JBQXNCLEdBQW9CO0lBQzlDLE1BQU0sRUFBRSxDQUFDLE9BQXlCLEVBQXFCLEVBQUUsQ0FDdkQsQ0FBQztRQUNDLGNBQWMsQ0FBQyxJQUFJO1lBQ2pCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPO1lBQ1QsQ0FBQztZQUVELE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkQsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLGFBQWEsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDO1lBRTFELE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO2dCQUMxQyxTQUFTLEVBQUUsdUJBQXVCO2dCQUNsQyxJQUFJLEVBQUUsdUJBQXVCLElBQUksUUFBUSxDQUFDLGNBQWM7YUFDekQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUNGLENBQTZCO0lBQ2hDLElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxvRkFBb0Y7WUFDdEYsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLHVGQUF1RjtTQUM3RjtRQUNELFFBQVEsRUFBRTtZQUNSLHFCQUFxQixFQUNuQixxR0FBcUc7U0FDeEc7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxZQUFZO0tBQ25CO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBhbmFseXplVGVzdEJsb2NrIH0gZnJvbSBcIi4uL2FhYS9hbmFseXplci5hbmFseXNpc1wiO1xuaW1wb3J0IHtcbiAgY291bnRBY3RTdGF0ZW1lbnRzLFxuICBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMsXG59IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVyc1wiO1xuXG4vKiogUmVxdWlyZXMgdGhlIEFjdCBwaGFzZSB0byBjb250YWluIGEgc2luZ2xlIHRvcC1sZXZlbCBzdGF0ZW1lbnQuICovXG5jb25zdCBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PlxuICAgICh7XG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZVRlc3RCbG9jayhjb250ZXh0LCBub2RlKTtcbiAgICAgICAgaWYgKGFuYWx5c2lzID09PSB2b2lkIDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhY3RTdGF0ZW1lbnRDb3VudCA9IGNvdW50QWN0U3RhdGVtZW50cyhhbmFseXNpcyk7XG4gICAgICAgIGlmIChhY3RTdGF0ZW1lbnRDb3VudCA8PSAxKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0U3RhdGVtZW50cyA9IGdldEFjdFRvcExldmVsU3RhdGVtZW50cyhhbmFseXNpcyk7XG4gICAgICAgIGNvbnN0IGZpcnN0RXhjZXNzQWN0U3RhdGVtZW50ID0gYWN0U3RhdGVtZW50cy5hdCgxKT8ubm9kZTtcblxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgZGF0YTogeyBjb3VudDogU3RyaW5nKGFjdFN0YXRlbWVudENvdW50KSB9LFxuICAgICAgICAgIG1lc3NhZ2VJZDogXCJtdWx0aXBsZUFjdFN0YXRlbWVudHNcIixcbiAgICAgICAgICBub2RlOiBmaXJzdEV4Y2Vzc0FjdFN0YXRlbWVudCA/PyBhbmFseXNpcy5jYWxsRXhwcmVzc2lvbixcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pIHNhdGlzZmllcyBSdWxlLlJ1bGVMaXN0ZW5lcixcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlcXVpcmUgdGhlIC8vIEFjdCBzZWN0aW9uIHRvIGNvbnRhaW4gYSBzaW5nbGUgdG9wLWxldmVsIHN0YXRlbWVudCBvciBkZWNsYXJhdGlvbi5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL3NpbmdsZS1hY3Qtc3RhdGVtZW50Lm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbXVsdGlwbGVBY3RTdGF0ZW1lbnRzOlxuICAgICAgICBcIlJlZHVjZSB0aGUgLy8gQWN0IHNlY3Rpb24gdG8gYSBzaW5nbGUgdG9wLWxldmVsIHN0YXRlbWVudCBvciB2YXJpYWJsZSBkZWNsYXJhdGlvbjsgZm91bmQge3tjb3VudH19LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUgfTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-plugin",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "description": "Custom ESLint rules for TypeScript repositories",
5
5
  "keywords": [
6
6
  "eslint",
@@ -45,7 +45,7 @@
45
45
  "\n • ---------- compilation ---------- •": "",
46
46
  "pack": "npm pack --pack-destination dist",
47
47
  "compile": "tsc --build --force ./tsconfig.build.json",
48
- "resolve-paths": "tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
48
+ "resolve-paths": "npx --yes tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
49
49
  "\n# ---------------- LINTING ---------------- #": "",
50
50
  "\n • ------------ checking ------------ •": "",
51
51
  "eslint": "npx --yes eslint --max-warnings=0",
@@ -63,7 +63,7 @@
63
63
  "\n# ---------------- TESTING ---------------- #": "",
64
64
  "e2e": "npx --yes vitest run --config vitest.config.e2e.ts",
65
65
  "mutation": "npx --yes stryker run",
66
- "test:all": "npm run test --if-present && npm run e2e --if-present && npm run mutation --if-present",
66
+ "test:all": "npm run test && npm run e2e && npm run mutation",
67
67
  "typecheck": "tsc --noEmit",
68
68
  "typecheck:spec": "tsc -p tsconfig.spec.json --noEmit",
69
69
  "validate": "npm run lint && npm run typecheck && npm run typecheck:spec && npm run test:all && npm run build --if-present && npm run pack --if-present",
@@ -76,60 +76,57 @@
76
76
  "docs:clean": "npx --yes rimraf docs/api"
77
77
  },
78
78
  "dependencies": {
79
- "@typescript-eslint/utils": "^8.60.0",
80
- "minimatch": "^10.2.5"
79
+ "@typescript-eslint/utils": "^8.67.0",
80
+ "minimatch": "^10.2.6"
81
81
  },
82
82
  "peerDependencies": {
83
- "eslint": ">=10.4.1"
83
+ "eslint": ">=10.9.0"
84
84
  },
85
85
  "devDependencies": {
86
86
  "@codeperfect/commitlint-config-emoji": "^1.0.0",
87
- "@codeperfect/eslint-config": "^1.11.0",
88
- "@commitlint/cz-commitlint": "^21.0.2",
87
+ "@codeperfect/eslint-config": "^1.13.0",
88
+ "@commitlint/cz-commitlint": "^21.2.2",
89
89
  "@eslint-community/eslint-plugin-eslint-comments": "^4.7.2",
90
90
  "@eslint/js": "^10.0.1",
91
- "@stryker-mutator/core": "^9.6.1",
92
- "@stryker-mutator/typescript-checker": "^9.6.1",
93
- "@stryker-mutator/vitest-runner": "^9.6.1",
91
+ "@stryker-mutator/core": "^10.0.0",
92
+ "@stryker-mutator/typescript-checker": "^10.0.0",
93
+ "@stryker-mutator/vitest-runner": "^10.0.0",
94
94
  "@stylistic/eslint-plugin": "^5.10.0",
95
95
  "@types/lodash-es": "^4.17.12",
96
- "@types/node": "^25.9.1",
96
+ "@types/node": "^26.2.0",
97
97
  "@types/signale": "^1.4.7",
98
- "@typescript-eslint/rule-tester": "^8.60.0",
99
- "@vitest/coverage-v8": "^4.1.7",
100
- "@vitest/eslint-plugin": "^1.6.19",
101
- "chalk": "^5.6.2",
102
- "eslint": "^10.4.1",
98
+ "@typescript-eslint/rule-tester": "^8.67.0",
99
+ "@vitest/coverage-v8": "^4.1.11",
100
+ "@vitest/eslint-plugin": "^1.6.27",
101
+ "chalk": "^6.0.0",
102
+ "eslint": "^10.9.0",
103
103
  "eslint-config-prettier": "^10.1.8",
104
- "eslint-import-resolver-typescript": "^4.4.4",
105
- "eslint-plugin-boundaries": "^6.0.2",
106
- "eslint-plugin-eslint-plugin": "^7.3.3",
107
- "eslint-plugin-import-x": "^4.16.2",
104
+ "eslint-import-resolver-typescript": "^4.4.5",
105
+ "eslint-plugin-boundaries": "^7.2.0",
106
+ "eslint-plugin-eslint-plugin": "^7.6.2",
107
+ "eslint-plugin-import-x": "^4.17.1",
108
108
  "eslint-plugin-jasmine": "^4.2.2",
109
- "eslint-plugin-jest": "^29.15.2",
110
- "eslint-plugin-jsdoc": "^63.0.0",
111
- "eslint-plugin-perfectionist": "^5.9.0",
109
+ "eslint-plugin-jest": "^29.16.1",
110
+ "eslint-plugin-jsdoc": "^64.2.1",
111
+ "eslint-plugin-perfectionist": "^5.10.1",
112
112
  "eslint-plugin-prettier": "^5.5.6",
113
- "eslint-plugin-rxjs-x": "^1.0.2",
114
- "eslint-plugin-unicorn": "^64.0.0",
115
- "globals": "^17.6.0",
113
+ "eslint-plugin-rxjs-x": "^1.0.5",
114
+ "eslint-plugin-unicorn": "^73.0.0",
115
+ "globals": "^17.11.0",
116
116
  "husky": "^9.1.7",
117
117
  "jiti": "^2.7.0",
118
- "lint-staged": "^17.0.7",
118
+ "lint-staged": "^17.3.0",
119
119
  "lodash-es": "^4.18.1",
120
120
  "patch-package": "^8.0.1",
121
- "prettier": "^3.8.3",
121
+ "prettier": "^3.9.6",
122
122
  "rimraf": "^6.1.3",
123
- "semantic-release": "^25.0.3",
124
- "tsc-alias": "^1.8.17",
125
- "typedoc": "^0.28.19",
126
- "typedoc-plugin-markdown": "^4.11.0",
123
+ "semantic-release": "^25.0.9",
124
+ "tsc-alias": "^1.9.2",
125
+ "typedoc": "^0.28.20",
126
+ "typedoc-plugin-markdown": "^4.12.0",
127
127
  "typescript": "^6.0.3",
128
- "typescript-eslint": "^8.60.0",
129
- "vitest": "^4.1.7"
130
- },
131
- "engines": {
132
- "node": ">=24.0.0"
128
+ "typescript-eslint": "^8.67.0",
129
+ "vitest": "^4.1.11"
133
130
  },
134
131
  "publishConfig": {
135
132
  "access": "public"