pickier 0.1.28 → 0.1.29

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 (263) hide show
  1. package/dist/ast.d.ts +13 -0
  2. package/dist/bin/cli.js +507 -302
  3. package/dist/plugins/eslint.d.ts +2 -0
  4. package/dist/plugins/general.d.ts +2 -0
  5. package/dist/plugins/index.d.ts +2 -0
  6. package/dist/plugins/lockfile.d.ts +22 -0
  7. package/dist/plugins/markdown.d.ts +2 -0
  8. package/dist/plugins/node.d.ts +2 -0
  9. package/dist/plugins/perfectionist.d.ts +6 -0
  10. package/dist/plugins/pickier.d.ts +2 -0
  11. package/dist/plugins/publint.d.ts +10 -0
  12. package/dist/plugins/quality.d.ts +2 -0
  13. package/dist/plugins/regexp.d.ts +2 -0
  14. package/dist/plugins/shell.d.ts +2 -0
  15. package/dist/plugins/spell.d.ts +3 -0
  16. package/dist/plugins/style.d.ts +2 -0
  17. package/dist/plugins/ts.d.ts +2 -0
  18. package/dist/plugins/unused-imports.d.ts +6 -0
  19. package/dist/plugins/utils.d.ts +4 -0
  20. package/dist/rules/general/_template-tracking.d.ts +31 -0
  21. package/dist/rules/general/array-callback-return.d.ts +2 -0
  22. package/dist/rules/general/constructor-super.d.ts +2 -0
  23. package/dist/rules/general/for-direction.d.ts +2 -0
  24. package/dist/rules/general/getter-return.d.ts +2 -0
  25. package/dist/rules/general/no-async-promise-executor.d.ts +2 -0
  26. package/dist/rules/general/no-compare-neg-zero.d.ts +2 -0
  27. package/dist/rules/general/no-cond-assign.d.ts +2 -0
  28. package/dist/rules/general/no-const-assign.d.ts +2 -0
  29. package/dist/rules/general/no-constant-condition.d.ts +2 -0
  30. package/dist/rules/general/no-constructor-return.d.ts +2 -0
  31. package/dist/rules/general/no-dupe-class-members.d.ts +2 -0
  32. package/dist/rules/general/no-dupe-keys.d.ts +2 -0
  33. package/dist/rules/general/no-duplicate-case.d.ts +2 -0
  34. package/dist/rules/general/no-empty-pattern.d.ts +2 -0
  35. package/dist/rules/general/no-fallthrough.d.ts +2 -0
  36. package/dist/rules/general/no-irregular-whitespace.d.ts +2 -0
  37. package/dist/rules/general/no-loss-of-precision.d.ts +2 -0
  38. package/dist/rules/general/no-new.d.ts +13 -0
  39. package/dist/rules/general/no-promise-executor-return.d.ts +2 -0
  40. package/dist/rules/general/no-redeclare.d.ts +2 -0
  41. package/dist/rules/general/no-regex-spaces.d.ts +10 -0
  42. package/dist/rules/general/no-self-assign.d.ts +2 -0
  43. package/dist/rules/general/no-self-compare.d.ts +2 -0
  44. package/dist/rules/general/no-sparse-arrays.d.ts +2 -0
  45. package/dist/rules/general/no-undef.d.ts +2 -0
  46. package/dist/rules/general/no-unreachable.d.ts +2 -0
  47. package/dist/rules/general/no-unsafe-negation.d.ts +2 -0
  48. package/dist/rules/general/no-unused-vars.d.ts +2 -0
  49. package/dist/rules/general/no-useless-catch.d.ts +2 -0
  50. package/dist/rules/general/prefer-const.d.ts +2 -0
  51. package/dist/rules/general/prefer-object-spread.d.ts +2 -0
  52. package/dist/rules/general/prefer-template.d.ts +2 -0
  53. package/dist/rules/general/use-isnan.d.ts +2 -0
  54. package/dist/rules/general/valid-typeof.d.ts +2 -0
  55. package/dist/rules/imports/first.d.ts +2 -0
  56. package/dist/rules/imports/import-dedupe.d.ts +2 -0
  57. package/dist/rules/imports/named.d.ts +2 -0
  58. package/dist/rules/imports/no-cycle.d.ts +2 -0
  59. package/dist/rules/imports/no-duplicate-imports.d.ts +2 -0
  60. package/dist/rules/imports/no-import-dist.d.ts +2 -0
  61. package/dist/rules/imports/no-import-node-modules-by-path.d.ts +2 -0
  62. package/dist/rules/imports/no-unresolved.d.ts +2 -0
  63. package/dist/rules/lockfile/parser.d.ts +79 -0
  64. package/dist/rules/lockfile/validate-host.d.ts +18 -0
  65. package/dist/rules/lockfile/validate-https.d.ts +14 -0
  66. package/dist/rules/lockfile/validate-integrity.d.ts +19 -0
  67. package/dist/rules/lockfile/validate-package-names.d.ts +23 -0
  68. package/dist/rules/lockfile/validate-scheme.d.ts +17 -0
  69. package/dist/rules/markdown/_fence-tracking.d.ts +32 -0
  70. package/dist/rules/markdown/_shared.d.ts +9 -0
  71. package/dist/rules/markdown/blanks-around-fences.d.ts +5 -0
  72. package/dist/rules/markdown/blanks-around-headings.d.ts +5 -0
  73. package/dist/rules/markdown/blanks-around-lists.d.ts +5 -0
  74. package/dist/rules/markdown/blanks-around-tables.d.ts +5 -0
  75. package/dist/rules/markdown/code-block-style.d.ts +5 -0
  76. package/dist/rules/markdown/code-fence-style.d.ts +5 -0
  77. package/dist/rules/markdown/commands-show-output.d.ts +5 -0
  78. package/dist/rules/markdown/descriptive-link-text.d.ts +5 -0
  79. package/dist/rules/markdown/emphasis-style.d.ts +5 -0
  80. package/dist/rules/markdown/fenced-code-language.d.ts +5 -0
  81. package/dist/rules/markdown/first-line-heading.d.ts +5 -0
  82. package/dist/rules/markdown/heading-increment.d.ts +5 -0
  83. package/dist/rules/markdown/heading-start-left.d.ts +5 -0
  84. package/dist/rules/markdown/heading-style.d.ts +5 -0
  85. package/dist/rules/markdown/hr-style.d.ts +5 -0
  86. package/dist/rules/markdown/line-length.d.ts +5 -0
  87. package/dist/rules/markdown/link-fragments.d.ts +5 -0
  88. package/dist/rules/markdown/link-image-reference-definitions.d.ts +5 -0
  89. package/dist/rules/markdown/link-image-style.d.ts +5 -0
  90. package/dist/rules/markdown/list-indent.d.ts +5 -0
  91. package/dist/rules/markdown/list-marker-space.d.ts +5 -0
  92. package/dist/rules/markdown/no-alt-text.d.ts +5 -0
  93. package/dist/rules/markdown/no-bare-urls.d.ts +5 -0
  94. package/dist/rules/markdown/no-blanks-blockquote.d.ts +5 -0
  95. package/dist/rules/markdown/no-duplicate-heading.d.ts +10 -0
  96. package/dist/rules/markdown/no-emphasis-as-heading.d.ts +9 -0
  97. package/dist/rules/markdown/no-empty-links.d.ts +5 -0
  98. package/dist/rules/markdown/no-hard-tabs.d.ts +5 -0
  99. package/dist/rules/markdown/no-inline-html.d.ts +5 -0
  100. package/dist/rules/markdown/no-missing-space-atx.d.ts +5 -0
  101. package/dist/rules/markdown/no-missing-space-closed-atx.d.ts +5 -0
  102. package/dist/rules/markdown/no-multiple-blanks.d.ts +5 -0
  103. package/dist/rules/markdown/no-multiple-space-atx.d.ts +5 -0
  104. package/dist/rules/markdown/no-multiple-space-blockquote.d.ts +5 -0
  105. package/dist/rules/markdown/no-multiple-space-closed-atx.d.ts +5 -0
  106. package/dist/rules/markdown/no-reversed-links.d.ts +5 -0
  107. package/dist/rules/markdown/no-space-in-code.d.ts +5 -0
  108. package/dist/rules/markdown/no-space-in-emphasis.d.ts +5 -0
  109. package/dist/rules/markdown/no-space-in-links.d.ts +5 -0
  110. package/dist/rules/markdown/no-trailing-punctuation.d.ts +5 -0
  111. package/dist/rules/markdown/no-trailing-spaces.d.ts +5 -0
  112. package/dist/rules/markdown/ol-prefix.d.ts +5 -0
  113. package/dist/rules/markdown/proper-names.d.ts +5 -0
  114. package/dist/rules/markdown/reference-links-images.d.ts +14 -0
  115. package/dist/rules/markdown/required-headings.d.ts +5 -0
  116. package/dist/rules/markdown/single-title.d.ts +5 -0
  117. package/dist/rules/markdown/single-trailing-newline.d.ts +5 -0
  118. package/dist/rules/markdown/strong-style.d.ts +5 -0
  119. package/dist/rules/markdown/table-column-count.d.ts +5 -0
  120. package/dist/rules/markdown/table-column-style.d.ts +5 -0
  121. package/dist/rules/markdown/table-pipe-style.d.ts +5 -0
  122. package/dist/rules/markdown/ul-indent.d.ts +14 -0
  123. package/dist/rules/markdown/ul-style.d.ts +5 -0
  124. package/dist/rules/node/prefer-global-buffer.d.ts +9 -0
  125. package/dist/rules/node/prefer-global-process.d.ts +9 -0
  126. package/dist/rules/quality/complexity.d.ts +2 -0
  127. package/dist/rules/quality/default-case.d.ts +2 -0
  128. package/dist/rules/quality/eqeqeq.d.ts +2 -0
  129. package/dist/rules/quality/max-depth.d.ts +2 -0
  130. package/dist/rules/quality/max-lines-per-function.d.ts +2 -0
  131. package/dist/rules/quality/no-alert.d.ts +2 -0
  132. package/dist/rules/quality/no-await-in-loop.d.ts +2 -0
  133. package/dist/rules/quality/no-caller.d.ts +2 -0
  134. package/dist/rules/quality/no-case-declarations.d.ts +2 -0
  135. package/dist/rules/quality/no-else-return.d.ts +2 -0
  136. package/dist/rules/quality/no-empty-function.d.ts +2 -0
  137. package/dist/rules/quality/no-empty.d.ts +2 -0
  138. package/dist/rules/quality/no-eval.d.ts +2 -0
  139. package/dist/rules/quality/no-extend-native.d.ts +2 -0
  140. package/dist/rules/quality/no-extra-boolean-cast.d.ts +2 -0
  141. package/dist/rules/quality/no-global-assign.d.ts +2 -0
  142. package/dist/rules/quality/no-implied-eval.d.ts +2 -0
  143. package/dist/rules/quality/no-iterator.d.ts +2 -0
  144. package/dist/rules/quality/no-lonely-if.d.ts +2 -0
  145. package/dist/rules/quality/no-new-func.d.ts +2 -0
  146. package/dist/rules/quality/no-new-wrappers.d.ts +2 -0
  147. package/dist/rules/quality/no-new.d.ts +2 -0
  148. package/dist/rules/quality/no-octal.d.ts +2 -0
  149. package/dist/rules/quality/no-param-reassign.d.ts +2 -0
  150. package/dist/rules/quality/no-proto.d.ts +2 -0
  151. package/dist/rules/quality/no-return-assign.d.ts +2 -0
  152. package/dist/rules/quality/no-sequences.d.ts +2 -0
  153. package/dist/rules/quality/no-shadow.d.ts +2 -0
  154. package/dist/rules/quality/no-throw-literal.d.ts +2 -0
  155. package/dist/rules/quality/no-use-before-define.d.ts +2 -0
  156. package/dist/rules/quality/no-useless-call.d.ts +2 -0
  157. package/dist/rules/quality/no-useless-concat.d.ts +2 -0
  158. package/dist/rules/quality/no-useless-escape.d.ts +2 -0
  159. package/dist/rules/quality/no-useless-rename.d.ts +2 -0
  160. package/dist/rules/quality/no-useless-return.d.ts +2 -0
  161. package/dist/rules/quality/no-var.d.ts +2 -0
  162. package/dist/rules/quality/no-with.d.ts +2 -0
  163. package/dist/rules/quality/prefer-arrow-callback.d.ts +2 -0
  164. package/dist/rules/quality/require-await.d.ts +2 -0
  165. package/dist/rules/regexp/no-super-linear-backtracking.d.ts +2 -0
  166. package/dist/rules/regexp/no-unused-capturing-group.d.ts +2 -0
  167. package/dist/rules/regexp/no-useless-lazy.d.ts +9 -0
  168. package/dist/rules/shell/_shared.d.ts +24 -0
  169. package/dist/rules/shell/command-substitution.d.ts +6 -0
  170. package/dist/rules/shell/consistent-case-terminators.d.ts +9 -0
  171. package/dist/rules/shell/function-style.d.ts +6 -0
  172. package/dist/rules/shell/heredoc-indent.d.ts +7 -0
  173. package/dist/rules/shell/indent.d.ts +2 -0
  174. package/dist/rules/shell/keyword-spacing.d.ts +10 -0
  175. package/dist/rules/shell/no-broken-redirect.d.ts +7 -0
  176. package/dist/rules/shell/no-cd-without-check.d.ts +6 -0
  177. package/dist/rules/shell/no-eval.d.ts +6 -0
  178. package/dist/rules/shell/no-exit-in-subshell.d.ts +7 -0
  179. package/dist/rules/shell/no-ls-parsing.d.ts +7 -0
  180. package/dist/rules/shell/no-trailing-semicolons.d.ts +6 -0
  181. package/dist/rules/shell/no-trailing-whitespace.d.ts +5 -0
  182. package/dist/rules/shell/no-useless-cat.d.ts +6 -0
  183. package/dist/rules/shell/no-variable-in-single-quotes.d.ts +7 -0
  184. package/dist/rules/shell/operator-spacing.d.ts +11 -0
  185. package/dist/rules/shell/prefer-double-brackets.d.ts +6 -0
  186. package/dist/rules/shell/prefer-printf.d.ts +6 -0
  187. package/dist/rules/shell/quote-variables.d.ts +2 -0
  188. package/dist/rules/shell/set-options.d.ts +8 -0
  189. package/dist/rules/shell/shebang.d.ts +2 -0
  190. package/dist/rules/sort/exports.d.ts +2 -0
  191. package/dist/rules/sort/heritage-clauses.d.ts +2 -0
  192. package/dist/rules/sort/imports.d.ts +2 -0
  193. package/dist/rules/sort/keys.d.ts +2 -0
  194. package/dist/rules/sort/named-imports.d.ts +2 -0
  195. package/dist/rules/sort/objects.d.ts +2 -0
  196. package/dist/rules/sort/tailwind-classes.d.ts +5 -0
  197. package/dist/rules/style/array-bracket-spacing.d.ts +2 -0
  198. package/dist/rules/style/arrow-parens.d.ts +2 -0
  199. package/dist/rules/style/arrow-spacing.d.ts +2 -0
  200. package/dist/rules/style/block-spacing.d.ts +2 -0
  201. package/dist/rules/style/brace-style.d.ts +10 -0
  202. package/dist/rules/style/comma-dangle.d.ts +2 -0
  203. package/dist/rules/style/comma-spacing.d.ts +2 -0
  204. package/dist/rules/style/comma-style.d.ts +2 -0
  205. package/dist/rules/style/computed-property-spacing.d.ts +2 -0
  206. package/dist/rules/style/consistent-chaining.d.ts +2 -0
  207. package/dist/rules/style/consistent-list-newline.d.ts +2 -0
  208. package/dist/rules/style/curly.d.ts +5 -0
  209. package/dist/rules/style/dot-location.d.ts +2 -0
  210. package/dist/rules/style/function-call-spacing.d.ts +2 -0
  211. package/dist/rules/style/generator-star-spacing.d.ts +2 -0
  212. package/dist/rules/style/if-newline.d.ts +2 -0
  213. package/dist/rules/style/indent-binary-ops.d.ts +2 -0
  214. package/dist/rules/style/indent-unindent.d.ts +2 -0
  215. package/dist/rules/style/key-spacing.d.ts +2 -0
  216. package/dist/rules/style/keyword-spacing.d.ts +2 -0
  217. package/dist/rules/style/lines-between-class-members.d.ts +2 -0
  218. package/dist/rules/style/max-statements-per-line.d.ts +2 -0
  219. package/dist/rules/style/multiline-ternary.d.ts +2 -0
  220. package/dist/rules/style/new-parens.d.ts +2 -0
  221. package/dist/rules/style/no-extra-parens.d.ts +2 -0
  222. package/dist/rules/style/no-floating-decimal.d.ts +2 -0
  223. package/dist/rules/style/no-mixed-operators.d.ts +2 -0
  224. package/dist/rules/style/no-mixed-spaces-and-tabs.d.ts +2 -0
  225. package/dist/rules/style/no-multi-spaces.d.ts +10 -0
  226. package/dist/rules/style/no-multiple-empty-lines.d.ts +9 -0
  227. package/dist/rules/style/no-tabs.d.ts +2 -0
  228. package/dist/rules/style/no-trailing-spaces.d.ts +9 -0
  229. package/dist/rules/style/no-whitespace-before-property.d.ts +2 -0
  230. package/dist/rules/style/object-curly-spacing.d.ts +2 -0
  231. package/dist/rules/style/operator-linebreak.d.ts +2 -0
  232. package/dist/rules/style/padded-blocks.d.ts +2 -0
  233. package/dist/rules/style/quote-props.d.ts +2 -0
  234. package/dist/rules/style/rest-spread-spacing.d.ts +2 -0
  235. package/dist/rules/style/semi-spacing.d.ts +2 -0
  236. package/dist/rules/style/space-before-blocks.d.ts +2 -0
  237. package/dist/rules/style/space-before-function-paren.d.ts +2 -0
  238. package/dist/rules/style/space-in-parens.d.ts +2 -0
  239. package/dist/rules/style/space-infix-ops.d.ts +2 -0
  240. package/dist/rules/style/space-unary-ops.d.ts +2 -0
  241. package/dist/rules/style/spaced-comment.d.ts +2 -0
  242. package/dist/rules/style/switch-colon-spacing.d.ts +2 -0
  243. package/dist/rules/style/template-curly-spacing.d.ts +2 -0
  244. package/dist/rules/style/template-tag-spacing.d.ts +2 -0
  245. package/dist/rules/style/top-level-function.d.ts +6 -0
  246. package/dist/rules/style/wrap-iife.d.ts +2 -0
  247. package/dist/rules/style/yield-star-spacing.d.ts +2 -0
  248. package/dist/rules/ts/member-delimiter-style.d.ts +4 -0
  249. package/dist/rules/ts/no-explicit-any.d.ts +2 -0
  250. package/dist/rules/ts/no-floating-promises.d.ts +2 -0
  251. package/dist/rules/ts/no-misused-promises.d.ts +2 -0
  252. package/dist/rules/ts/no-require-imports.d.ts +2 -0
  253. package/dist/rules/ts/no-top-level-await.d.ts +4 -0
  254. package/dist/rules/ts/no-ts-export-equal.d.ts +2 -0
  255. package/dist/rules/ts/no-unsafe-assignment.d.ts +2 -0
  256. package/dist/rules/ts/prefer-nullish-coalescing.d.ts +2 -0
  257. package/dist/rules/ts/prefer-optional-chain.d.ts +2 -0
  258. package/dist/rules/ts/type-annotation-spacing.d.ts +2 -0
  259. package/dist/rules/ts/type-generic-spacing.d.ts +2 -0
  260. package/dist/rules/ts/type-named-tuple-spacing.d.ts +2 -0
  261. package/dist/src/index.js +481 -289
  262. package/dist/utils.d.ts +12 -3
  263. package/package.json +2 -2
@@ -0,0 +1,10 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Enforce proper spacing around shell keywords.
4
+ * Flags: `if(`, `then;cmd`, missing space after ; in control flow, etc.
5
+ *
6
+ * String/quote/expansion interiors are ignored via `maskShellStrings`, so
7
+ * ANSI-C escape codes such as `$'\033[0;31m'` are not misread as having a
8
+ * missing space after `;`.
9
+ */
10
+ export declare const keywordSpacingRule: RuleModule;
@@ -0,0 +1,7 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * SC2069: Detect broken redirect ordering.
4
+ * `cmd 2>&1 > file` redirects stderr to original stdout (terminal), not the file.
5
+ * Correct: `cmd > file 2>&1` or `cmd &> file` (bash).
6
+ */
7
+ export declare const noBrokenRedirectRule: RuleModule;
@@ -0,0 +1,6 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * SC2164: Use `cd ... || exit` or `cd ... || return` to handle cd failure.
4
+ * If `cd` fails, subsequent commands run in the wrong directory.
5
+ */
6
+ export declare const noCdWithoutCheckRule: RuleModule;
@@ -0,0 +1,6 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Disallow use of eval in shell scripts.
4
+ * eval is dangerous because it re-parses its arguments, leading to code injection risks.
5
+ */
6
+ export declare const noEvalRule: RuleModule;
@@ -0,0 +1,7 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * SC2033: exit in subshell only exits the subshell, not the script.
4
+ * Code like `(cd dir && exit 1)` won't stop the parent script.
5
+ * Use return in functions, or restructure to avoid subshells.
6
+ */
7
+ export declare const noExitInSubshellRule: RuleModule;
@@ -0,0 +1,7 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * SC2012: Don't parse the output of ls.
4
+ * ls output is not safe for parsing — filenames can contain newlines, spaces, and special chars.
5
+ * Use globs, find, or stat instead.
6
+ */
7
+ export declare const noLsParsingRule: RuleModule;
@@ -0,0 +1,6 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Disallow unnecessary trailing semicolons on simple commands.
4
+ * In shell, semicolons separate commands on the same line but are unnecessary at end of line.
5
+ */
6
+ export declare const noTrailingSemicolonsRule: RuleModule;
@@ -0,0 +1,5 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Disallow trailing whitespace in shell scripts.
4
+ */
5
+ export declare const noTrailingWhitespaceRule: RuleModule;
@@ -0,0 +1,6 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * SC2002: Useless use of cat. Instead of `cat file | cmd`, use `cmd < file` or `cmd file`.
4
+ * Avoids spawning an unnecessary process.
5
+ */
6
+ export declare const noUselessCatRule: RuleModule;
@@ -0,0 +1,7 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * SC2016: Expressions don't expand in single quotes.
4
+ * Detects cases where $var or ${var} appears inside single quotes,
5
+ * which likely indicates the author intended double quotes.
6
+ */
7
+ export declare const noVariableInSingleQuotesRule: RuleModule;
@@ -0,0 +1,11 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Enforce spaces inside test bracket expressions [ ] and [[ ]].
4
+ * Missing spaces cause syntax errors or incorrect behavior.
5
+ *
6
+ * The rule ignores `[` and `]` that appear inside strings (`'...'`, `"..."`,
7
+ * `$'...'`), parameter expansions (`${arr[@]}`, `${arr[0]}`), command
8
+ * substitutions (`$(...)`) and comments, so valid bash such as
9
+ * `${CERTS[@]}` or ANSI-C escapes like `$'\033[0;31m'` are not flagged.
10
+ */
11
+ export declare const operatorSpacingRule: RuleModule;
@@ -0,0 +1,6 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * SC2292: Prefer [[ ]] over [ ] for tests in bash/zsh.
4
+ * [[ ]] is safer: no word splitting, no pathname expansion, supports && || and regex.
5
+ */
6
+ export declare const preferDoubleBracketsRule: RuleModule;
@@ -0,0 +1,6 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * SC2059/SC2086: Prefer printf over echo -e / echo -n.
4
+ * echo behavior varies across shells and platforms; printf is portable and predictable.
5
+ */
6
+ export declare const preferPrintfRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const quoteVariablesRule: RuleModule;
@@ -0,0 +1,8 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Recommend using `set -euo pipefail` for safer script execution.
4
+ * - set -e: Exit on error
5
+ * - set -u: Error on undefined variables
6
+ * - set -o pipefail: Pipe failures propagate
7
+ */
8
+ export declare const setOptionsRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const shebangRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const sortExportsRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const sortHeritageClausesRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const sortImportsRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const sortKeysRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const sortNamedImportsRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const sortObjectsRule: RuleModule;
@@ -0,0 +1,5 @@
1
+ import type { RuleModule } from '../../types';
2
+ // ---------------------------------------------------------------------------
3
+ // Rule implementation
4
+ // ---------------------------------------------------------------------------
5
+ export declare const sortTailwindClassesRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const arrayBracketSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const arrowParensRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const arrowSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const blockSpacingRule: RuleModule;
@@ -0,0 +1,10 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Enforce consistent brace style for blocks.
4
+ * Default: "1tbs" (one true brace style) - opening brace on same line, closing brace on new line.
5
+ *
6
+ * Detects violations like:
7
+ * - Closing brace on same line as next block (else, catch, finally, etc.)
8
+ * - Opening brace on new line instead of same line
9
+ */
10
+ export declare const braceStyle: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const commaDangleRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const commaSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const commaStyleRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const computedPropertySpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const consistentChainingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const consistentListNewlineRule: RuleModule;
@@ -0,0 +1,5 @@
1
+ import type { RuleModule } from '../../types';
2
+ // Additional pass: detect unnecessary braces around a single simple statement in else blocks
3
+ // This is a very light heuristic to satisfy style-edge-cases expectations.
4
+ export declare function _internal_detectUnnecessaryElseBraces(text: string, _filePath: string): Array<{ line: number, column: number, message: string }>;
5
+ export declare const curlyRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const dotLocationRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const functionCallSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const generatorStarSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const ifNewlineRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const indentBinaryOpsRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const indentUnindentRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const keySpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const keywordSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const linesBetweenClassMembersRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const maxStatementsPerLineRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const multilineTernaryRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const newParensRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noExtraParensRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noFloatingDecimalRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noMixedOperatorsRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noMixedSpacesAndTabsRule: RuleModule;
@@ -0,0 +1,10 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Disallow multiple consecutive spaces in code (except for indentation).
4
+ * This rule helps maintain code readability by preventing excessive spacing.
5
+ *
6
+ * Violations:
7
+ * - `const x = 1` (multiple spaces before =)
8
+ * - `foo(a, b)` (multiple spaces after comma)
9
+ */
10
+ export declare const noMultiSpaces: RuleModule;
@@ -0,0 +1,9 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Disallow more than 1 consecutive blank line.
4
+ * Helps maintain consistent vertical spacing in code.
5
+ *
6
+ * Violations:
7
+ * - More than one consecutive empty line
8
+ */
9
+ export declare const noMultipleEmptyLines: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noTabsRule: RuleModule;
@@ -0,0 +1,9 @@
1
+ import type { RuleModule } from '../../types';
2
+ /**
3
+ * Disallow trailing whitespace at the end of lines.
4
+ * Helps keep code clean and avoid unnecessary diffs.
5
+ *
6
+ * Violations:
7
+ * - Lines ending with spaces or tabs
8
+ */
9
+ export declare const noTrailingSpaces: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noWhitespaceBeforePropertyRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const objectCurlySpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const operatorLinebreakRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const paddedBlocksRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const quotePropsRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const restSpreadSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const semiSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const spaceBeforeBlocksRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const spaceBeforeFunctionParenRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const spaceInParensRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const spaceInfixOpsRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const spaceUnaryOpsRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const spacedCommentRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const switchColonSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const templateCurlySpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const templateTagSpacingRule: RuleModule;
@@ -0,0 +1,6 @@
1
+ import type { RuleModule } from '../../types';
2
+ // Heuristic version of `top-level-function`:
3
+ // Top-level functions should be declared with `function` keyword instead of
4
+ // `const foo = () => {}` or `const foo = function() {}` at top level.
5
+ // We detect zero-indentation `const <id> = <fn>` patterns and report.
6
+ export declare const topLevelFunctionRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const wrapIifeRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const yieldStarSpacingRule: RuleModule;
@@ -0,0 +1,4 @@
1
+ import type { RuleModule } from '../../types';
2
+ // Match interface/type members that use commas instead of semicolons or vice versa
3
+ // Default: semicolons in interfaces, commas or semicolons in type literals
4
+ export declare const memberDelimiterStyleRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noExplicitAnyRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noFloatingPromisesRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noMisusedPromisesRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noRequireImportsRule: RuleModule;
@@ -0,0 +1,4 @@
1
+ import type { RuleModule } from '../../types';
2
+ // Heuristic: flag 'await' only when at top level (brace depth 0),
3
+ // outside of comments/strings/templates, and not part of 'for await'.
4
+ export declare const noTopLevelAwaitRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noTsExportEqualRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const noUnsafeAssignmentRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const preferNullishCoalescingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const preferOptionalChainRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const typeAnnotationSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const typeGenericSpacingRule: RuleModule;
@@ -0,0 +1,2 @@
1
+ import type { RuleModule } from '../../types';
2
+ export declare const typeNamedTupleSpacingRule: RuleModule;