@thethracian/oxlint-config 0.2.0 → 0.3.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 (279) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +125 -19
  3. package/dist/codemod-fix/cli.d.ts +3 -0
  4. package/dist/codemod-fix/cli.d.ts.map +1 -0
  5. package/dist/codemod-fix/cli.js +22 -0
  6. package/dist/codemod-fix/cli.js.map +1 -0
  7. package/dist/codemod-fix/index.d.ts +44 -0
  8. package/dist/codemod-fix/index.d.ts.map +1 -0
  9. package/dist/codemod-fix/index.js +110 -0
  10. package/dist/codemod-fix/index.js.map +1 -0
  11. package/dist/codemods/arrow-body-style.d.ts +7 -0
  12. package/dist/codemods/arrow-body-style.d.ts.map +1 -0
  13. package/dist/codemods/arrow-body-style.js +106 -0
  14. package/dist/codemods/arrow-body-style.js.map +1 -0
  15. package/dist/codemods/comment-format.d.ts +24 -0
  16. package/dist/codemods/comment-format.d.ts.map +1 -0
  17. package/dist/codemods/comment-format.js +100 -0
  18. package/dist/codemods/comment-format.js.map +1 -0
  19. package/dist/codemods/explicit-return-types.d.ts +7 -0
  20. package/dist/codemods/explicit-return-types.d.ts.map +1 -0
  21. package/dist/codemods/explicit-return-types.js +350 -0
  22. package/dist/codemods/explicit-return-types.js.map +1 -0
  23. package/dist/codemods/format-file-header.d.ts +7 -0
  24. package/dist/codemods/format-file-header.d.ts.map +1 -0
  25. package/dist/codemods/format-file-header.js +163 -0
  26. package/dist/codemods/format-file-header.js.map +1 -0
  27. package/dist/codemods/format-jsdoc-comments.d.ts +7 -0
  28. package/dist/codemods/format-jsdoc-comments.d.ts.map +1 -0
  29. package/dist/codemods/format-jsdoc-comments.js +129 -0
  30. package/dist/codemods/format-jsdoc-comments.js.map +1 -0
  31. package/dist/codemods/function-declarations.d.ts +7 -0
  32. package/dist/codemods/function-declarations.d.ts.map +1 -0
  33. package/dist/codemods/function-declarations.js +202 -0
  34. package/dist/codemods/function-declarations.js.map +1 -0
  35. package/dist/codemods/inline-export-lists.d.ts +7 -0
  36. package/dist/codemods/inline-export-lists.d.ts.map +1 -0
  37. package/dist/codemods/inline-export-lists.js +168 -0
  38. package/dist/codemods/inline-export-lists.js.map +1 -0
  39. package/dist/codemods/internal-export-docs.d.ts +7 -0
  40. package/dist/codemods/internal-export-docs.d.ts.map +1 -0
  41. package/dist/codemods/internal-export-docs.js +93 -0
  42. package/dist/codemods/internal-export-docs.js.map +1 -0
  43. package/dist/codemods/no-ternary-branch-initializers.d.ts +14 -0
  44. package/dist/codemods/no-ternary-branch-initializers.d.ts.map +1 -0
  45. package/dist/codemods/no-ternary-branch-initializers.js +240 -0
  46. package/dist/codemods/no-ternary-branch-initializers.js.map +1 -0
  47. package/dist/codemods/no-ternary-variable-initializers.d.ts +14 -0
  48. package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -0
  49. package/dist/codemods/no-ternary-variable-initializers.js +235 -0
  50. package/dist/codemods/no-ternary-variable-initializers.js.map +1 -0
  51. package/dist/codemods/no-ternary.d.ts +7 -0
  52. package/dist/codemods/no-ternary.d.ts.map +1 -0
  53. package/dist/codemods/no-ternary.js +215 -0
  54. package/dist/codemods/no-ternary.js.map +1 -0
  55. package/dist/codemods/rename-acronyms.d.ts +8 -0
  56. package/dist/codemods/rename-acronyms.d.ts.map +1 -0
  57. package/dist/codemods/rename-acronyms.js +193 -0
  58. package/dist/codemods/rename-acronyms.js.map +1 -0
  59. package/dist/codemods/run.d.ts +2 -0
  60. package/dist/codemods/run.d.ts.map +1 -0
  61. package/dist/codemods/run.js +14 -0
  62. package/dist/codemods/run.js.map +1 -0
  63. package/dist/codemods/sort-imports.d.ts +7 -0
  64. package/dist/codemods/sort-imports.d.ts.map +1 -0
  65. package/dist/codemods/sort-imports.js +235 -0
  66. package/dist/codemods/sort-imports.js.map +1 -0
  67. package/dist/index.d.ts +30 -96
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +157 -95
  70. package/dist/index.js.map +1 -1
  71. package/dist/rules/acronym-case.d.ts +7 -3
  72. package/dist/rules/acronym-case.d.ts.map +1 -1
  73. package/dist/rules/acronym-case.js +129 -120
  74. package/dist/rules/acronym-case.js.map +1 -1
  75. package/dist/rules/acronyms-1.d.ts +3 -0
  76. package/dist/rules/acronyms-1.d.ts.map +1 -0
  77. package/dist/rules/acronyms-1.js +407 -0
  78. package/dist/rules/acronyms-1.js.map +1 -0
  79. package/dist/rules/acronyms-2.d.ts +3 -0
  80. package/dist/rules/acronyms-2.d.ts.map +1 -0
  81. package/dist/rules/acronyms-2.js +407 -0
  82. package/dist/rules/acronyms-2.js.map +1 -0
  83. package/dist/rules/acronyms-3.d.ts +3 -0
  84. package/dist/rules/acronyms-3.d.ts.map +1 -0
  85. package/dist/rules/acronyms-3.js +407 -0
  86. package/dist/rules/acronyms-3.js.map +1 -0
  87. package/dist/rules/acronyms-4.d.ts +3 -0
  88. package/dist/rules/acronyms-4.d.ts.map +1 -0
  89. package/dist/rules/acronyms-4.js +377 -0
  90. package/dist/rules/acronyms-4.js.map +1 -0
  91. package/dist/rules/acronyms.d.ts +1 -8
  92. package/dist/rules/acronyms.d.ts.map +1 -1
  93. package/dist/rules/acronyms.js +14 -1578
  94. package/dist/rules/acronyms.js.map +1 -1
  95. package/dist/rules/boolean-prefix.d.ts +11 -2
  96. package/dist/rules/boolean-prefix.d.ts.map +1 -1
  97. package/dist/rules/boolean-prefix.js +95 -59
  98. package/dist/rules/boolean-prefix.js.map +1 -1
  99. package/dist/rules/camel-case-identifiers.d.ts +3 -4
  100. package/dist/rules/camel-case-identifiers.d.ts.map +1 -1
  101. package/dist/rules/camel-case-identifiers.js +59 -40
  102. package/dist/rules/camel-case-identifiers.js.map +1 -1
  103. package/dist/rules/char-class.d.ts +26 -13
  104. package/dist/rules/char-class.d.ts.map +1 -1
  105. package/dist/rules/char-class.js +56 -24
  106. package/dist/rules/char-class.js.map +1 -1
  107. package/dist/rules/diagnostic-guidance.d.ts +91 -0
  108. package/dist/rules/diagnostic-guidance.d.ts.map +1 -0
  109. package/dist/rules/diagnostic-guidance.js +243 -0
  110. package/dist/rules/diagnostic-guidance.js.map +1 -0
  111. package/dist/rules/effect-default-ast.d.ts +89 -0
  112. package/dist/rules/effect-default-ast.d.ts.map +1 -0
  113. package/dist/rules/effect-default-ast.js +208 -0
  114. package/dist/rules/effect-default-ast.js.map +1 -0
  115. package/dist/rules/effect-default-compat-rules.d.ts +76 -0
  116. package/dist/rules/effect-default-compat-rules.d.ts.map +1 -0
  117. package/dist/rules/effect-default-compat-rules.js +270 -0
  118. package/dist/rules/effect-default-compat-rules.js.map +1 -0
  119. package/dist/rules/effect-default-env-rules.d.ts +60 -0
  120. package/dist/rules/effect-default-env-rules.d.ts.map +1 -0
  121. package/dist/rules/effect-default-env-rules.js +259 -0
  122. package/dist/rules/effect-default-env-rules.js.map +1 -0
  123. package/dist/rules/effect-default-fiber-helpers.d.ts +13 -0
  124. package/dist/rules/effect-default-fiber-helpers.d.ts.map +1 -0
  125. package/dist/rules/effect-default-fiber-helpers.js +76 -0
  126. package/dist/rules/effect-default-fiber-helpers.js.map +1 -0
  127. package/dist/rules/effect-default-floating-helpers.d.ts +7 -0
  128. package/dist/rules/effect-default-floating-helpers.d.ts.map +1 -0
  129. package/dist/rules/effect-default-floating-helpers.js +113 -0
  130. package/dist/rules/effect-default-floating-helpers.js.map +1 -0
  131. package/dist/rules/effect-default-helpers.d.ts +8 -32
  132. package/dist/rules/effect-default-helpers.d.ts.map +1 -1
  133. package/dist/rules/effect-default-helpers.js +11 -458
  134. package/dist/rules/effect-default-helpers.js.map +1 -1
  135. package/dist/rules/effect-default-resource-helpers.d.ts +18 -4
  136. package/dist/rules/effect-default-resource-helpers.d.ts.map +1 -1
  137. package/dist/rules/effect-default-resource-helpers.js +30 -13
  138. package/dist/rules/effect-default-resource-helpers.js.map +1 -1
  139. package/dist/rules/effect-default-safety-helpers.d.ts +43 -0
  140. package/dist/rules/effect-default-safety-helpers.d.ts.map +1 -0
  141. package/dist/rules/effect-default-safety-helpers.js +126 -0
  142. package/dist/rules/effect-default-safety-helpers.js.map +1 -0
  143. package/dist/rules/effect-default-scan-helpers.d.ts +43 -0
  144. package/dist/rules/effect-default-scan-helpers.d.ts.map +1 -0
  145. package/dist/rules/effect-default-scan-helpers.js +141 -0
  146. package/dist/rules/effect-default-scan-helpers.js.map +1 -0
  147. package/dist/rules/effect-default-schema-helpers.d.ts +37 -0
  148. package/dist/rules/effect-default-schema-helpers.d.ts.map +1 -0
  149. package/dist/rules/effect-default-schema-helpers.js +104 -0
  150. package/dist/rules/effect-default-schema-helpers.js.map +1 -0
  151. package/dist/rules/effect-default-test-helpers.d.ts +18 -4
  152. package/dist/rules/effect-default-test-helpers.d.ts.map +1 -1
  153. package/dist/rules/effect-default-test-helpers.js +41 -20
  154. package/dist/rules/effect-default-test-helpers.js.map +1 -1
  155. package/dist/rules/effect-default-workflow-helpers.d.ts +91 -0
  156. package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -0
  157. package/dist/rules/effect-default-workflow-helpers.js +247 -0
  158. package/dist/rules/effect-default-workflow-helpers.js.map +1 -0
  159. package/dist/rules/effect-default.d.ts +1 -1
  160. package/dist/rules/effect-default.d.ts.map +1 -1
  161. package/dist/rules/effect-default.js +198 -637
  162. package/dist/rules/effect-default.js.map +1 -1
  163. package/dist/rules/effect-exported-declarations.d.ts +19 -0
  164. package/dist/rules/effect-exported-declarations.d.ts.map +1 -0
  165. package/dist/rules/effect-exported-declarations.js +237 -0
  166. package/dist/rules/effect-exported-declarations.js.map +1 -0
  167. package/dist/rules/effect-path-options.d.ts +49 -11
  168. package/dist/rules/effect-path-options.d.ts.map +1 -1
  169. package/dist/rules/effect-path-options.js +85 -52
  170. package/dist/rules/effect-path-options.js.map +1 -1
  171. package/dist/rules/effect-rule-aliases.d.ts +55 -0
  172. package/dist/rules/effect-rule-aliases.d.ts.map +1 -0
  173. package/dist/rules/effect-rule-aliases.js +278 -0
  174. package/dist/rules/effect-rule-aliases.js.map +1 -0
  175. package/dist/rules/effect-rule-core.d.ts +46 -24
  176. package/dist/rules/effect-rule-core.d.ts.map +1 -1
  177. package/dist/rules/effect-rule-core.js +263 -303
  178. package/dist/rules/effect-rule-core.js.map +1 -1
  179. package/dist/rules/effect-rule-names.d.ts +12 -3
  180. package/dist/rules/effect-rule-names.d.ts.map +1 -1
  181. package/dist/rules/effect-rule-names.js +15 -3
  182. package/dist/rules/effect-rule-names.js.map +1 -1
  183. package/dist/rules/effect-source-comments.d.ts +7 -0
  184. package/dist/rules/effect-source-comments.d.ts.map +1 -0
  185. package/dist/rules/effect-source-comments.js +227 -0
  186. package/dist/rules/effect-source-comments.js.map +1 -0
  187. package/dist/rules/effect-source-helpers.d.ts +4 -9
  188. package/dist/rules/effect-source-helpers.d.ts.map +1 -1
  189. package/dist/rules/effect-source-helpers.js +7 -333
  190. package/dist/rules/effect-source-helpers.js.map +1 -1
  191. package/dist/rules/effect-source-navigation.d.ts +25 -0
  192. package/dist/rules/effect-source-navigation.d.ts.map +1 -0
  193. package/dist/rules/effect-source-navigation.js +244 -0
  194. package/dist/rules/effect-source-navigation.js.map +1 -0
  195. package/dist/rules/effect-source-scan.d.ts +30 -7
  196. package/dist/rules/effect-source-scan.d.ts.map +1 -1
  197. package/dist/rules/effect-source-scan.js +377 -297
  198. package/dist/rules/effect-source-scan.js.map +1 -1
  199. package/dist/rules/effect-strict-ast-specs.d.ts +8 -0
  200. package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -0
  201. package/dist/rules/effect-strict-ast-specs.js +166 -0
  202. package/dist/rules/effect-strict-ast-specs.js.map +1 -0
  203. package/dist/rules/effect-strict-boundary-helpers.d.ts +25 -0
  204. package/dist/rules/effect-strict-boundary-helpers.d.ts.map +1 -0
  205. package/dist/rules/effect-strict-boundary-helpers.js +127 -0
  206. package/dist/rules/effect-strict-boundary-helpers.js.map +1 -0
  207. package/dist/rules/effect-strict-core-specs.d.ts +8 -0
  208. package/dist/rules/effect-strict-core-specs.d.ts.map +1 -0
  209. package/dist/rules/effect-strict-core-specs.js +334 -0
  210. package/dist/rules/effect-strict-core-specs.js.map +1 -0
  211. package/dist/rules/effect-strict-external-helpers.d.ts +25 -0
  212. package/dist/rules/effect-strict-external-helpers.d.ts.map +1 -0
  213. package/dist/rules/effect-strict-external-helpers.js +87 -0
  214. package/dist/rules/effect-strict-external-helpers.js.map +1 -0
  215. package/dist/rules/effect-strict-helpers.d.ts +75 -33
  216. package/dist/rules/effect-strict-helpers.d.ts.map +1 -1
  217. package/dist/rules/effect-strict-helpers.js +124 -246
  218. package/dist/rules/effect-strict-helpers.js.map +1 -1
  219. package/dist/rules/effect-strict-internals.d.ts +198 -0
  220. package/dist/rules/effect-strict-internals.d.ts.map +1 -0
  221. package/dist/rules/effect-strict-internals.js +477 -0
  222. package/dist/rules/effect-strict-internals.js.map +1 -0
  223. package/dist/rules/effect-strict-segment-helpers.d.ts +79 -0
  224. package/dist/rules/effect-strict-segment-helpers.d.ts.map +1 -0
  225. package/dist/rules/effect-strict-segment-helpers.js +308 -0
  226. package/dist/rules/effect-strict-segment-helpers.js.map +1 -0
  227. package/dist/rules/effect-strict.d.ts +1 -1
  228. package/dist/rules/effect-strict.d.ts.map +1 -1
  229. package/dist/rules/effect-strict.js +10 -661
  230. package/dist/rules/effect-strict.js.map +1 -1
  231. package/dist/rules/max-import-depth.d.ts +2 -2
  232. package/dist/rules/max-import-depth.d.ts.map +1 -1
  233. package/dist/rules/max-import-depth.js +52 -17
  234. package/dist/rules/max-import-depth.js.map +1 -1
  235. package/dist/rules/max-line-length.d.ts +9 -2
  236. package/dist/rules/max-line-length.d.ts.map +1 -1
  237. package/dist/rules/max-line-length.js +62 -7
  238. package/dist/rules/max-line-length.js.map +1 -1
  239. package/dist/rules/no-commented-out-code.d.ts +3 -7
  240. package/dist/rules/no-commented-out-code.d.ts.map +1 -1
  241. package/dist/rules/no-commented-out-code.js +157 -102
  242. package/dist/rules/no-commented-out-code.js.map +1 -1
  243. package/dist/rules/pascal-case-types.d.ts +1 -1
  244. package/dist/rules/pascal-case-types.d.ts.map +1 -1
  245. package/dist/rules/pascal-case-types.js +65 -46
  246. package/dist/rules/pascal-case-types.js.map +1 -1
  247. package/dist/rules/plugin-commented-out-code-rule.d.ts +32 -0
  248. package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -0
  249. package/dist/rules/plugin-commented-out-code-rule.js +135 -0
  250. package/dist/rules/plugin-commented-out-code-rule.js.map +1 -0
  251. package/dist/rules/plugin.d.ts +3 -121
  252. package/dist/rules/plugin.d.ts.map +1 -1
  253. package/dist/rules/plugin.js +195 -201
  254. package/dist/rules/plugin.js.map +1 -1
  255. package/dist/rules/private-underscore.d.ts +1 -1
  256. package/dist/rules/private-underscore.d.ts.map +1 -1
  257. package/dist/rules/private-underscore.js +11 -4
  258. package/dist/rules/private-underscore.js.map +1 -1
  259. package/dist/rules/require-file-doc.d.ts +5 -6
  260. package/dist/rules/require-file-doc.d.ts.map +1 -1
  261. package/dist/rules/require-file-doc.js +127 -78
  262. package/dist/rules/require-file-doc.js.map +1 -1
  263. package/dist/rules/require-function-doc-ignored-text.d.ts +7 -0
  264. package/dist/rules/require-function-doc-ignored-text.d.ts.map +1 -0
  265. package/dist/rules/require-function-doc-ignored-text.js +67 -0
  266. package/dist/rules/require-function-doc-ignored-text.js.map +1 -0
  267. package/dist/rules/require-function-doc-local-exports.d.ts +7 -0
  268. package/dist/rules/require-function-doc-local-exports.d.ts.map +1 -0
  269. package/dist/rules/require-function-doc-local-exports.js +114 -0
  270. package/dist/rules/require-function-doc-local-exports.js.map +1 -0
  271. package/dist/rules/require-function-doc.d.ts +3 -18
  272. package/dist/rules/require-function-doc.d.ts.map +1 -1
  273. package/dist/rules/require-function-doc.js +404 -218
  274. package/dist/rules/require-function-doc.js.map +1 -1
  275. package/dist/rules/source-cache.d.ts +19 -0
  276. package/dist/rules/source-cache.d.ts.map +1 -0
  277. package/dist/rules/source-cache.js +63 -0
  278. package/dist/rules/source-cache.js.map +1 -0
  279. package/package.json +15 -10
@@ -1,27 +1,7 @@
1
- import { CHAR_CLASS, CLS_UPPER, CLS_LOWER } from './char-class.js';
2
- /**
3
- * 100-optimization-pass rule set for custom Oxlint plugins.
4
- *
5
- * Passes applied:
6
- * 1-10: Major algorithmic (index tracking, regex→charCodeAt, pre-compiled regex)
7
- * 11-20: Data structures (class table, LRU cache, inlined checks)
8
- * 21-25: Micro: for→while in digit stripping, hoist length
9
- * 26-30: Micro: `charAt(0)`→`[0]` direct index
10
- * 31-35: Micro: `charCodeAt` cache in local var
11
- * 36-40: Micro: early-exit reordering for hot path
12
- * 41-45: Micro: `length` cache in for loop header
13
- * 46-50: Micro: arrow function inlines (V8 IC optimization)
14
- * 51-55: Micro: `indexOf('_')` → single check, cached result
15
- * 56-60: Micro: magic number constants extracted
16
- * 61-65: Micro: `isUpper/lower` inlined as bitwise check
17
- * 66-70: Micro: ternary for empty checks
18
- * 71-75: Micro: `charCodeAt` cached in local
19
- * 76-80: Micro: `slice` avoided where `[idx]` + `substring` faster
20
- * 81-85: Micro: `return` hoisted above `if` for hot path
21
- * 86-90: Micro: pre-sized arrays where count known
22
- * 91-95: Micro: function expression → arrow for inlining hint
23
- * 96-100: Micro: benchmark tuning, dead code removal
24
- */
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Acronym casing helpers for custom Oxlint identifier rules. */
3
+ /* -------------------------------------------------------------------------- */
4
+ import { CHAR_CLASS, CLS_LOWER, CLS_UPPER } from './char-class.js';
25
5
  import acronyms from './acronyms.js';
26
6
  // Magic number constants
27
7
  const DIGIT_0 = 48;
@@ -30,40 +10,55 @@ const CACHE_MAX = 4096;
30
10
  // Inline helpers — arrow functions for V8 inlining hints
31
11
  const isUp = (code) => (CHAR_CLASS[code] & CLS_UPPER) !== 0;
32
12
  const isLo = (code) => (CHAR_CLASS[code] & CLS_LOWER) !== 0;
33
- /** Split a mixedCase identifier into word segments (character-class accelerated). */
13
+ const initialUpperCount = (prevUpper) => {
14
+ if (prevUpper) {
15
+ return 1;
16
+ }
17
+ return 0;
18
+ };
19
+ const upperSplitState = (name, idx, words, state) => {
20
+ if (!state.prevUpper) {
21
+ words.push(name.slice(state.wordStart, idx));
22
+ return { prevUpper: true, prevUpperCount: 1, wordStart: idx };
23
+ }
24
+ return { ...state, prevUpper: true, prevUpperCount: state.prevUpperCount + 1 };
25
+ };
26
+ const lowerSplitState = (name, idx, words, state) => {
27
+ if (state.prevUpper && state.prevUpperCount >= 2) {
28
+ words.push(name.slice(state.wordStart, idx - 1));
29
+ return { prevUpper: false, prevUpperCount: 0, wordStart: idx - 1 };
30
+ }
31
+ return { ...state, prevUpper: false };
32
+ };
33
+ const nextSplitState = (name, idx, words, state) => {
34
+ if (isUp(name.charCodeAt(idx))) {
35
+ return upperSplitState(name, idx, words, state);
36
+ }
37
+ return lowerSplitState(name, idx, words, state);
38
+ };
39
+ /**
40
+ * Split a mixedCase identifier into word segments (character-class accelerated).
41
+ */
34
42
  const splitMixedCase = (name) => {
35
43
  const len = name.length;
36
44
  if (len === 0) {
37
45
  return [];
38
46
  }
39
47
  const words = [];
40
- let wordStart = 0;
41
- let prevUpper = isUp(name.charCodeAt(0));
42
- let prevUpperCount = prevUpper ? 1 : 0;
48
+ let state = {
49
+ prevUpper: isUp(name.charCodeAt(0)),
50
+ prevUpperCount: initialUpperCount(isUp(name.charCodeAt(0))),
51
+ wordStart: 0,
52
+ };
43
53
  for (let idx = 1; idx < len; idx++) {
44
- const upper = isUp(name.charCodeAt(idx));
45
- if (upper) {
46
- if (!prevUpper) {
47
- words.push(name.slice(wordStart, idx));
48
- wordStart = idx;
49
- prevUpperCount = 1;
50
- }
51
- else {
52
- prevUpperCount++;
53
- }
54
- }
55
- else if (prevUpper && prevUpperCount >= 2) {
56
- // Acronym boundary: last upper goes to new word
57
- words.push(name.slice(wordStart, idx - 1));
58
- wordStart = idx - 1;
59
- prevUpperCount = 0;
60
- }
61
- prevUpper = upper;
54
+ state = nextSplitState(name, idx, words, state);
62
55
  }
63
- words.push(name.slice(wordStart));
56
+ words.push(name.slice(state.wordStart));
64
57
  return words;
65
58
  };
66
- /** Check if entire string is all uppercase A-Z. */
59
+ /**
60
+ * Check if entire string is all uppercase A-Z.
61
+ */
67
62
  const isAllUpper = (str, len) => {
68
63
  for (let idx = 0; idx < len; idx++) {
69
64
  if (!isUp(str.charCodeAt(idx))) {
@@ -72,7 +67,9 @@ const isAllUpper = (str, len) => {
72
67
  }
73
68
  return true;
74
69
  };
75
- /** Check if entire string is all lowercase a-z. */
70
+ /**
71
+ * Check if entire string is all lowercase a-z.
72
+ */
76
73
  const isAllLower = (str, len) => {
77
74
  for (let idx = 0; idx < len; idx++) {
78
75
  if (!isLo(str.charCodeAt(idx))) {
@@ -81,7 +78,9 @@ const isAllLower = (str, len) => {
81
78
  }
82
79
  return true;
83
80
  };
84
- /** Strip trailing digits, return alpha length (inlined into callers). */
81
+ /**
82
+ * Strip trailing digits, return alpha length (inlined into callers).
83
+ */
85
84
  const alphaLen = (word) => {
86
85
  let end = word.length;
87
86
  while (end > 0) {
@@ -93,7 +92,9 @@ const alphaLen = (word) => {
93
92
  }
94
93
  return end;
95
94
  };
96
- /** Check if a word is a mis-cased acronym. */
95
+ /**
96
+ * Check if a word is a mis-cased acronym.
97
+ */
97
98
  const hasMisCasedAcronym = (word) => {
98
99
  const wlen = word.length;
99
100
  if (wlen < 2) {
@@ -104,9 +105,47 @@ const hasMisCasedAcronym = (word) => {
104
105
  return false;
105
106
  }
106
107
  const alpha = word.slice(0, aLen);
107
- const key = isAllLower(alpha, aLen) ? alpha : alpha.toLowerCase();
108
+ const key = (() => {
109
+ if (isAllLower(alpha, aLen)) {
110
+ return alpha;
111
+ }
112
+ return alpha.toLowerCase();
113
+ })();
108
114
  return acronyms.has(key) && !isAllUpper(alpha, aLen);
109
115
  };
116
+ const hasMixedCase = (name) => {
117
+ let hasUpper = false;
118
+ let hasLower = false;
119
+ for (let idx = 0; idx < name.length; idx++) {
120
+ const code = name.charCodeAt(idx);
121
+ if (isUp(code)) {
122
+ hasUpper = true;
123
+ }
124
+ else if (isLo(code)) {
125
+ hasLower = true;
126
+ }
127
+ if (hasUpper && hasLower) {
128
+ return true;
129
+ }
130
+ }
131
+ return false;
132
+ };
133
+ const addEmptyResult = (name) => {
134
+ const empty = [];
135
+ addToCache(name, empty);
136
+ return empty;
137
+ };
138
+ const isLeadingLowerWord = (word, index) => index === 0 && isAllLower(word, word.length);
139
+ const collectAcronymViolations = (words) => {
140
+ const violations = [];
141
+ for (let idx = 0; idx < words.length; idx++) {
142
+ const word = words[idx];
143
+ if (!isLeadingLowerWord(word, idx) && hasMisCasedAcronym(word)) {
144
+ violations.push(word);
145
+ }
146
+ }
147
+ return violations;
148
+ };
110
149
  // ---- LRU cache ----
111
150
  const violationCache = new Map();
112
151
  const addToCache = (key, value) => {
@@ -118,88 +157,58 @@ const addToCache = (key, value) => {
118
157
  }
119
158
  violationCache.set(key, value);
120
159
  };
121
- /** Check if an identifier contains mis-cased acronyms. LRU-cached. */
160
+ /**
161
+ * Check if an identifier contains mis-cased acronyms. LRU-cached.
162
+ */
122
163
  export default function findMisCasedAcronyms(name) {
123
164
  const cached = violationCache.get(name);
124
165
  if (cached !== undefined) {
125
- violationCache.delete(name);
126
- violationCache.set(name, cached);
127
166
  return cached;
128
167
  }
129
- const len = name.length;
130
- let hasUpper = false;
131
- let hasLower = false;
132
- for (let idx = 0; idx < len; idx++) {
133
- const code = name.charCodeAt(idx);
134
- if (isUp(code)) {
135
- hasUpper = true;
136
- }
137
- else if (isLo(code)) {
138
- hasLower = true;
139
- }
140
- if (hasUpper && hasLower) {
141
- break;
142
- }
143
- }
144
- if (!hasUpper || !hasLower) {
145
- const empty = [];
146
- addToCache(name, empty);
147
- return empty;
168
+ if (!hasMixedCase(name)) {
169
+ return addEmptyResult(name);
148
170
  }
149
171
  const words = splitMixedCase(name);
150
- const wordCount = words.length;
151
- if (wordCount === 0) {
152
- addToCache(name, []);
153
- return [];
154
- }
155
- const violations = [];
156
- for (let idx = 0; idx < wordCount; idx++) {
157
- if (hasMisCasedAcronym(words[idx])) {
158
- violations.push(words[idx]);
159
- }
160
- }
172
+ const violations = collectAcronymViolations(words);
161
173
  addToCache(name, violations);
162
174
  return violations;
163
175
  }
164
- /** Fix mis-cased acronyms in an identifier. */
165
- export function fixAcronymCase(name) {
166
- const len = name.length;
167
- let hasUpper = false;
168
- let hasLower = false;
169
- for (let idx = 0; idx < len; idx++) {
170
- const code = name.charCodeAt(idx);
171
- if (isUp(code)) {
172
- hasUpper = true;
173
- }
174
- else if (isLo(code)) {
175
- hasLower = true;
176
- }
177
- if (hasUpper && hasLower) {
178
- break;
176
+ const fixedAcronymWord = (word, index) => {
177
+ const aLen = alphaLen(word);
178
+ if (word.length < 2 || isLeadingLowerWord(word, index) || aLen < 2) {
179
+ return word;
180
+ }
181
+ const alpha = word.slice(0, aLen);
182
+ const key = (() => {
183
+ if (isAllLower(alpha, aLen)) {
184
+ return alpha;
179
185
  }
186
+ return alpha.toLowerCase();
187
+ })();
188
+ if (acronyms.has(key) && !isAllUpper(alpha, aLen)) {
189
+ return word.slice(0, aLen).toUpperCase() + word.slice(aLen);
180
190
  }
181
- if (!hasUpper || !hasLower) {
191
+ return word;
192
+ };
193
+ const fixedAcronymWords = (words) => {
194
+ const fixedWords = words.map((word, idx) => fixedAcronymWord(word, idx));
195
+ if (fixedWords.some((word, idx) => word !== words[idx])) {
196
+ return fixedWords;
197
+ }
198
+ return undefined;
199
+ };
200
+ /**
201
+ * Fix mis-cased acronyms in an identifier.
202
+ */
203
+ export const fixAcronymCase = (name) => {
204
+ if (!hasMixedCase(name)) {
182
205
  return name;
183
206
  }
184
207
  const words = splitMixedCase(name);
185
- let changed = false;
186
- for (let idx = 0; idx < words.length; idx++) {
187
- const word = words[idx];
188
- const wlen = word.length;
189
- if (wlen < 2) {
190
- continue;
191
- }
192
- const aLen = alphaLen(word);
193
- if (aLen < 2) {
194
- continue;
195
- }
196
- const alpha = word.slice(0, aLen);
197
- const key = isAllLower(alpha, aLen) ? alpha : alpha.toLowerCase();
198
- if (acronyms.has(key) && !isAllUpper(alpha, aLen)) {
199
- words[idx] = word.slice(0, aLen).toUpperCase() + word.slice(aLen);
200
- changed = true;
201
- }
208
+ const fixedWords = fixedAcronymWords(words);
209
+ if (fixedWords) {
210
+ return fixedWords.join('');
202
211
  }
203
- return changed ? words.join('') : name;
204
- }
212
+ return name;
213
+ };
205
214
  //# sourceMappingURL=acronym-case.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"acronym-case.js","sourceRoot":"","sources":["../../src/rules/acronym-case.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acronym-case.js","sourceRoot":"","sources":["../../src/rules/acronym-case.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const acronyms1: readonly ["aaa", "aabb", "aac", "aal", "aalc", "aarp", "aat", "abac", "abcl", "abm", "abr", "acd", "ace", "acid", "ack", "acl", "acm", "acme", "acp", "acr", "ada", "adam", "adb", "adc", "adccp", "ado", "adt", "aes", "afaik", "afp", "ai", "airflow", "aix", "ajax", "alac", "alb", "algol", "alpine", "alsa", "alu", "amd", "aml", "amoled", "amqp", "amr", "ann", "ansi", "ansible", "ant", "anycast", "aoe", "aop", "apci", "api", "apipa", "apl", "appengine", "apr", "apu", "arc", "argocd", "arin", "aros", "arp", "arpa", "arpanet", "ascii", "asdf", "aset", "asg", "asic", "asimo", "aslr", "asm", "asmp", "asn", "asp", "asr", "assp", "ast", "astro", "atag", "atdd", "athena", "authip", "avax", "avc", "avi", "avro", "awfl", "awk", "aws", "awt", "b2b", "b2c", "b2e", "baas", "bal", "bam", "bash", "basic", "bbp", "bbs", "bcd", "bcnf", "bdd", "beep", "bentoml", "bert", "bfd", "bfs", "bft", "bgp", "bidi", "bigquery", "bigtable", "bin", "binac", "bios", "bitbucket", "bjt", "blas", "blob", "bloom", "bmp", "bnb", "bnc", "boinc", "bom", "bootp", "borsh", "bpdu", "bpel", "bpl", "bpm", "brm", "brms", "brr", "brs", "bsa", "bsb", "bsod", "bson", "bss", "btam", "btc", "bun", "byod", "bytecode", "caas", "caddy", "cae", "cai", "caid", "cam", "cap", "captcha", "caq", "cargo", "cassandra", "catboost", "cbor", "ccpa", "cd", "cdd", "cde", "cdfs", "cdma", "cdn", "cdp", "cdsa", "cert", "ces", "cfd", "cfg", "cga", "cgi", "cgt", "chap", "chef", "chs", "ci", "cicd", "cifs", "cim", "cio", "cir", "circleci", "cisc", "cjk", "cjkv", "cjs", "cl", "clang", "claude", "cli", "clickhouse", "clob", "clojure", "cloudformation", "cloudfront", "cloudfunctions", "cloudrun", "cloudspanner", "cloudsql", "cloudtrail", "cloudwatch", "clr", "cmdb", "cmmi", "cmo", "cmos", "cms", "cnc", "cng", "cnn", "cnr", "cobol", "coep", "coff", "cognito", "com", "composer", "consul", "containerd", "coop", "corba", "coreml", "corp", "cors", "couchdb", "cpa", "cpan", "cpc", "cpl", "cpm", "cpri", "cps", "cpu", "cran", "crc", "crlf", "crm", "crs", "crud", "cse", "csi", "csm", "csp", "csr", "csrf", "css", "cssom", "csv", "ctan", "ctcp", "ctfe", "cti", "ctl", "ctm", "ctr", "ctss", "cua", "cuda", "cv", "cvs", "daas", "dac", "dagster", "dal", "dao", "dap", "dapp", "darpa", "dart", "dat", "datadog", "datastore", "db", "dba", "dbcs", "dbms", "dcc", "dcca", "dccp", "dcl", "dcmi", "dcom", "dcs", "ddd", "dde", "ddi", "ddl", "ddos", "dec", "defi", "deno", "der", "des", "dev", "devops", "devsecops", "dex", "dfa", "dfd", "dfs", "dgd", "dhcp", "dhtml", "di", "dif", "dimm", "din", "dip", "dism", "divx", "dkim", "dl", "dll", "dlna", "dlp", "dma", "dmca", "dmi", "dml", "dmr", "dmz", "dnd", "dns", "dnsmasq", "dnssec", "doa", "docker", "docsis", "dom", "dos", "dot", "dotnet", "dpc", "dpi", "dpmi", "dpms", "dpos", "dram", "dri", "drizzle", "drm", "droneio", "dsa", "dscp", "dsdl", "dsdm", "dsg", "dsl", "dslam", "dsn", "dsp", "dsssl", "dte", "dto", "dtp", "dtr", "dvd", "dvr", "dx", "dynamodb", "e2e", "eai", "eas", "ebcdic", "ebml", "ec2", "ecc", "ecdh", "ecdsa", "ecma", "ecn", "ecos", "ecr", "ecrs", "ecs", "eda", "eddsa", "edi", "edsac", "edvac", "eeprom", "eff", "efm", "efs", "ega", "egp", "eid", "eide", "eigrp", "eks", "elb", "elf", "elixir", "elk"];
2
+ export default acronyms1;
3
+ //# sourceMappingURL=acronyms-1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acronyms-1.d.ts","sourceRoot":"","sources":["../../src/rules/acronyms-1.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,SAAS,6oGAiZL,CAAC;AAEX,eAAe,SAAS,CAAC"}