pickier 0.1.28 → 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ast.d.ts +13 -0
- package/dist/bin/cli.js +554 -436
- package/dist/plugins/eslint.d.ts +2 -0
- package/dist/plugins/general.d.ts +2 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/lockfile.d.ts +22 -0
- package/dist/plugins/markdown.d.ts +2 -0
- package/dist/plugins/node.d.ts +2 -0
- package/dist/plugins/perfectionist.d.ts +6 -0
- package/dist/plugins/pickier.d.ts +2 -0
- package/dist/plugins/publint.d.ts +10 -0
- package/dist/plugins/quality.d.ts +2 -0
- package/dist/plugins/regexp.d.ts +2 -0
- package/dist/plugins/shell.d.ts +2 -0
- package/dist/plugins/spell.d.ts +3 -0
- package/dist/plugins/style.d.ts +2 -0
- package/dist/plugins/ts.d.ts +2 -0
- package/dist/plugins/unused-imports.d.ts +6 -0
- package/dist/plugins/utils.d.ts +4 -0
- package/dist/rules/general/_template-tracking.d.ts +31 -0
- package/dist/rules/general/array-callback-return.d.ts +2 -0
- package/dist/rules/general/constructor-super.d.ts +2 -0
- package/dist/rules/general/for-direction.d.ts +2 -0
- package/dist/rules/general/getter-return.d.ts +2 -0
- package/dist/rules/general/no-async-promise-executor.d.ts +2 -0
- package/dist/rules/general/no-compare-neg-zero.d.ts +2 -0
- package/dist/rules/general/no-cond-assign.d.ts +2 -0
- package/dist/rules/general/no-const-assign.d.ts +2 -0
- package/dist/rules/general/no-constant-condition.d.ts +2 -0
- package/dist/rules/general/no-constructor-return.d.ts +2 -0
- package/dist/rules/general/no-dupe-class-members.d.ts +2 -0
- package/dist/rules/general/no-dupe-keys.d.ts +2 -0
- package/dist/rules/general/no-duplicate-case.d.ts +2 -0
- package/dist/rules/general/no-empty-pattern.d.ts +2 -0
- package/dist/rules/general/no-fallthrough.d.ts +2 -0
- package/dist/rules/general/no-irregular-whitespace.d.ts +2 -0
- package/dist/rules/general/no-loss-of-precision.d.ts +2 -0
- package/dist/rules/general/no-new.d.ts +13 -0
- package/dist/rules/general/no-promise-executor-return.d.ts +2 -0
- package/dist/rules/general/no-redeclare.d.ts +2 -0
- package/dist/rules/general/no-regex-spaces.d.ts +10 -0
- package/dist/rules/general/no-self-assign.d.ts +2 -0
- package/dist/rules/general/no-self-compare.d.ts +2 -0
- package/dist/rules/general/no-sparse-arrays.d.ts +2 -0
- package/dist/rules/general/no-undef.d.ts +2 -0
- package/dist/rules/general/no-unreachable.d.ts +2 -0
- package/dist/rules/general/no-unsafe-negation.d.ts +2 -0
- package/dist/rules/general/no-unused-vars.d.ts +2 -0
- package/dist/rules/general/no-useless-catch.d.ts +2 -0
- package/dist/rules/general/prefer-const.d.ts +2 -0
- package/dist/rules/general/prefer-object-spread.d.ts +2 -0
- package/dist/rules/general/prefer-template.d.ts +2 -0
- package/dist/rules/general/use-isnan.d.ts +2 -0
- package/dist/rules/general/valid-typeof.d.ts +2 -0
- package/dist/rules/imports/first.d.ts +2 -0
- package/dist/rules/imports/import-dedupe.d.ts +2 -0
- package/dist/rules/imports/named.d.ts +2 -0
- package/dist/rules/imports/no-cycle.d.ts +2 -0
- package/dist/rules/imports/no-duplicate-imports.d.ts +2 -0
- package/dist/rules/imports/no-import-dist.d.ts +2 -0
- package/dist/rules/imports/no-import-node-modules-by-path.d.ts +2 -0
- package/dist/rules/imports/no-unresolved.d.ts +2 -0
- package/dist/rules/lockfile/parser.d.ts +79 -0
- package/dist/rules/lockfile/validate-host.d.ts +18 -0
- package/dist/rules/lockfile/validate-https.d.ts +14 -0
- package/dist/rules/lockfile/validate-integrity.d.ts +19 -0
- package/dist/rules/lockfile/validate-package-names.d.ts +23 -0
- package/dist/rules/lockfile/validate-scheme.d.ts +17 -0
- package/dist/rules/markdown/_fence-tracking.d.ts +32 -0
- package/dist/rules/markdown/_shared.d.ts +9 -0
- package/dist/rules/markdown/blanks-around-fences.d.ts +5 -0
- package/dist/rules/markdown/blanks-around-headings.d.ts +5 -0
- package/dist/rules/markdown/blanks-around-lists.d.ts +5 -0
- package/dist/rules/markdown/blanks-around-tables.d.ts +5 -0
- package/dist/rules/markdown/code-block-style.d.ts +5 -0
- package/dist/rules/markdown/code-fence-style.d.ts +5 -0
- package/dist/rules/markdown/commands-show-output.d.ts +5 -0
- package/dist/rules/markdown/descriptive-link-text.d.ts +5 -0
- package/dist/rules/markdown/emphasis-style.d.ts +5 -0
- package/dist/rules/markdown/fenced-code-language.d.ts +5 -0
- package/dist/rules/markdown/first-line-heading.d.ts +5 -0
- package/dist/rules/markdown/heading-increment.d.ts +5 -0
- package/dist/rules/markdown/heading-start-left.d.ts +5 -0
- package/dist/rules/markdown/heading-style.d.ts +5 -0
- package/dist/rules/markdown/hr-style.d.ts +5 -0
- package/dist/rules/markdown/line-length.d.ts +5 -0
- package/dist/rules/markdown/link-fragments.d.ts +5 -0
- package/dist/rules/markdown/link-image-reference-definitions.d.ts +5 -0
- package/dist/rules/markdown/link-image-style.d.ts +5 -0
- package/dist/rules/markdown/list-indent.d.ts +5 -0
- package/dist/rules/markdown/list-marker-space.d.ts +5 -0
- package/dist/rules/markdown/no-alt-text.d.ts +5 -0
- package/dist/rules/markdown/no-bare-urls.d.ts +5 -0
- package/dist/rules/markdown/no-blanks-blockquote.d.ts +5 -0
- package/dist/rules/markdown/no-duplicate-heading.d.ts +10 -0
- package/dist/rules/markdown/no-emphasis-as-heading.d.ts +9 -0
- package/dist/rules/markdown/no-empty-links.d.ts +5 -0
- package/dist/rules/markdown/no-hard-tabs.d.ts +5 -0
- package/dist/rules/markdown/no-inline-html.d.ts +5 -0
- package/dist/rules/markdown/no-missing-space-atx.d.ts +5 -0
- package/dist/rules/markdown/no-missing-space-closed-atx.d.ts +5 -0
- package/dist/rules/markdown/no-multiple-blanks.d.ts +5 -0
- package/dist/rules/markdown/no-multiple-space-atx.d.ts +5 -0
- package/dist/rules/markdown/no-multiple-space-blockquote.d.ts +5 -0
- package/dist/rules/markdown/no-multiple-space-closed-atx.d.ts +5 -0
- package/dist/rules/markdown/no-reversed-links.d.ts +5 -0
- package/dist/rules/markdown/no-space-in-code.d.ts +5 -0
- package/dist/rules/markdown/no-space-in-emphasis.d.ts +5 -0
- package/dist/rules/markdown/no-space-in-links.d.ts +5 -0
- package/dist/rules/markdown/no-trailing-punctuation.d.ts +5 -0
- package/dist/rules/markdown/no-trailing-spaces.d.ts +5 -0
- package/dist/rules/markdown/ol-prefix.d.ts +5 -0
- package/dist/rules/markdown/proper-names.d.ts +5 -0
- package/dist/rules/markdown/reference-links-images.d.ts +14 -0
- package/dist/rules/markdown/required-headings.d.ts +5 -0
- package/dist/rules/markdown/single-title.d.ts +5 -0
- package/dist/rules/markdown/single-trailing-newline.d.ts +5 -0
- package/dist/rules/markdown/strong-style.d.ts +5 -0
- package/dist/rules/markdown/table-column-count.d.ts +5 -0
- package/dist/rules/markdown/table-column-style.d.ts +5 -0
- package/dist/rules/markdown/table-pipe-style.d.ts +5 -0
- package/dist/rules/markdown/ul-indent.d.ts +14 -0
- package/dist/rules/markdown/ul-style.d.ts +5 -0
- package/dist/rules/node/prefer-global-buffer.d.ts +9 -0
- package/dist/rules/node/prefer-global-process.d.ts +9 -0
- package/dist/rules/quality/complexity.d.ts +2 -0
- package/dist/rules/quality/default-case.d.ts +2 -0
- package/dist/rules/quality/eqeqeq.d.ts +2 -0
- package/dist/rules/quality/max-depth.d.ts +2 -0
- package/dist/rules/quality/max-lines-per-function.d.ts +2 -0
- package/dist/rules/quality/no-alert.d.ts +2 -0
- package/dist/rules/quality/no-await-in-loop.d.ts +2 -0
- package/dist/rules/quality/no-caller.d.ts +2 -0
- package/dist/rules/quality/no-case-declarations.d.ts +2 -0
- package/dist/rules/quality/no-else-return.d.ts +2 -0
- package/dist/rules/quality/no-empty-function.d.ts +2 -0
- package/dist/rules/quality/no-empty.d.ts +2 -0
- package/dist/rules/quality/no-eval.d.ts +2 -0
- package/dist/rules/quality/no-extend-native.d.ts +2 -0
- package/dist/rules/quality/no-extra-boolean-cast.d.ts +2 -0
- package/dist/rules/quality/no-global-assign.d.ts +2 -0
- package/dist/rules/quality/no-implied-eval.d.ts +2 -0
- package/dist/rules/quality/no-iterator.d.ts +2 -0
- package/dist/rules/quality/no-lonely-if.d.ts +2 -0
- package/dist/rules/quality/no-new-func.d.ts +2 -0
- package/dist/rules/quality/no-new-wrappers.d.ts +2 -0
- package/dist/rules/quality/no-new.d.ts +2 -0
- package/dist/rules/quality/no-octal.d.ts +2 -0
- package/dist/rules/quality/no-param-reassign.d.ts +2 -0
- package/dist/rules/quality/no-proto.d.ts +2 -0
- package/dist/rules/quality/no-return-assign.d.ts +2 -0
- package/dist/rules/quality/no-sequences.d.ts +2 -0
- package/dist/rules/quality/no-shadow.d.ts +2 -0
- package/dist/rules/quality/no-throw-literal.d.ts +2 -0
- package/dist/rules/quality/no-use-before-define.d.ts +2 -0
- package/dist/rules/quality/no-useless-call.d.ts +2 -0
- package/dist/rules/quality/no-useless-concat.d.ts +2 -0
- package/dist/rules/quality/no-useless-escape.d.ts +2 -0
- package/dist/rules/quality/no-useless-rename.d.ts +2 -0
- package/dist/rules/quality/no-useless-return.d.ts +2 -0
- package/dist/rules/quality/no-var.d.ts +2 -0
- package/dist/rules/quality/no-with.d.ts +2 -0
- package/dist/rules/quality/prefer-arrow-callback.d.ts +2 -0
- package/dist/rules/quality/require-await.d.ts +2 -0
- package/dist/rules/regexp/no-super-linear-backtracking.d.ts +2 -0
- package/dist/rules/regexp/no-unused-capturing-group.d.ts +2 -0
- package/dist/rules/regexp/no-useless-lazy.d.ts +9 -0
- package/dist/rules/shell/_shared.d.ts +24 -0
- package/dist/rules/shell/command-substitution.d.ts +6 -0
- package/dist/rules/shell/consistent-case-terminators.d.ts +9 -0
- package/dist/rules/shell/function-style.d.ts +6 -0
- package/dist/rules/shell/heredoc-indent.d.ts +7 -0
- package/dist/rules/shell/indent.d.ts +2 -0
- package/dist/rules/shell/keyword-spacing.d.ts +10 -0
- package/dist/rules/shell/no-broken-redirect.d.ts +7 -0
- package/dist/rules/shell/no-cd-without-check.d.ts +6 -0
- package/dist/rules/shell/no-eval.d.ts +6 -0
- package/dist/rules/shell/no-exit-in-subshell.d.ts +7 -0
- package/dist/rules/shell/no-ls-parsing.d.ts +7 -0
- package/dist/rules/shell/no-trailing-semicolons.d.ts +6 -0
- package/dist/rules/shell/no-trailing-whitespace.d.ts +5 -0
- package/dist/rules/shell/no-useless-cat.d.ts +6 -0
- package/dist/rules/shell/no-variable-in-single-quotes.d.ts +7 -0
- package/dist/rules/shell/operator-spacing.d.ts +11 -0
- package/dist/rules/shell/prefer-double-brackets.d.ts +6 -0
- package/dist/rules/shell/prefer-printf.d.ts +6 -0
- package/dist/rules/shell/quote-variables.d.ts +2 -0
- package/dist/rules/shell/set-options.d.ts +8 -0
- package/dist/rules/shell/shebang.d.ts +2 -0
- package/dist/rules/sort/exports.d.ts +2 -0
- package/dist/rules/sort/heritage-clauses.d.ts +2 -0
- package/dist/rules/sort/imports.d.ts +2 -0
- package/dist/rules/sort/keys.d.ts +2 -0
- package/dist/rules/sort/named-imports.d.ts +2 -0
- package/dist/rules/sort/objects.d.ts +2 -0
- package/dist/rules/sort/tailwind-classes.d.ts +5 -0
- package/dist/rules/style/array-bracket-spacing.d.ts +2 -0
- package/dist/rules/style/arrow-parens.d.ts +2 -0
- package/dist/rules/style/arrow-spacing.d.ts +2 -0
- package/dist/rules/style/block-spacing.d.ts +2 -0
- package/dist/rules/style/brace-style.d.ts +10 -0
- package/dist/rules/style/comma-dangle.d.ts +2 -0
- package/dist/rules/style/comma-spacing.d.ts +2 -0
- package/dist/rules/style/comma-style.d.ts +2 -0
- package/dist/rules/style/computed-property-spacing.d.ts +2 -0
- package/dist/rules/style/consistent-chaining.d.ts +2 -0
- package/dist/rules/style/consistent-list-newline.d.ts +2 -0
- package/dist/rules/style/curly.d.ts +5 -0
- package/dist/rules/style/dot-location.d.ts +2 -0
- package/dist/rules/style/function-call-spacing.d.ts +2 -0
- package/dist/rules/style/generator-star-spacing.d.ts +2 -0
- package/dist/rules/style/if-newline.d.ts +2 -0
- package/dist/rules/style/indent-binary-ops.d.ts +2 -0
- package/dist/rules/style/indent-unindent.d.ts +2 -0
- package/dist/rules/style/key-spacing.d.ts +2 -0
- package/dist/rules/style/keyword-spacing.d.ts +2 -0
- package/dist/rules/style/lines-between-class-members.d.ts +2 -0
- package/dist/rules/style/max-statements-per-line.d.ts +2 -0
- package/dist/rules/style/multiline-ternary.d.ts +2 -0
- package/dist/rules/style/new-parens.d.ts +2 -0
- package/dist/rules/style/no-extra-parens.d.ts +2 -0
- package/dist/rules/style/no-floating-decimal.d.ts +2 -0
- package/dist/rules/style/no-mixed-operators.d.ts +2 -0
- package/dist/rules/style/no-mixed-spaces-and-tabs.d.ts +2 -0
- package/dist/rules/style/no-multi-spaces.d.ts +10 -0
- package/dist/rules/style/no-multiple-empty-lines.d.ts +9 -0
- package/dist/rules/style/no-tabs.d.ts +2 -0
- package/dist/rules/style/no-trailing-spaces.d.ts +9 -0
- package/dist/rules/style/no-whitespace-before-property.d.ts +2 -0
- package/dist/rules/style/object-curly-spacing.d.ts +2 -0
- package/dist/rules/style/operator-linebreak.d.ts +2 -0
- package/dist/rules/style/padded-blocks.d.ts +2 -0
- package/dist/rules/style/quote-props.d.ts +2 -0
- package/dist/rules/style/rest-spread-spacing.d.ts +2 -0
- package/dist/rules/style/semi-spacing.d.ts +2 -0
- package/dist/rules/style/space-before-blocks.d.ts +2 -0
- package/dist/rules/style/space-before-function-paren.d.ts +2 -0
- package/dist/rules/style/space-in-parens.d.ts +2 -0
- package/dist/rules/style/space-infix-ops.d.ts +2 -0
- package/dist/rules/style/space-unary-ops.d.ts +2 -0
- package/dist/rules/style/spaced-comment.d.ts +2 -0
- package/dist/rules/style/switch-colon-spacing.d.ts +2 -0
- package/dist/rules/style/template-curly-spacing.d.ts +2 -0
- package/dist/rules/style/template-tag-spacing.d.ts +2 -0
- package/dist/rules/style/top-level-function.d.ts +6 -0
- package/dist/rules/style/wrap-iife.d.ts +2 -0
- package/dist/rules/style/yield-star-spacing.d.ts +2 -0
- package/dist/rules/ts/member-delimiter-style.d.ts +4 -0
- package/dist/rules/ts/no-explicit-any.d.ts +2 -0
- package/dist/rules/ts/no-floating-promises.d.ts +2 -0
- package/dist/rules/ts/no-misused-promises.d.ts +2 -0
- package/dist/rules/ts/no-require-imports.d.ts +2 -0
- package/dist/rules/ts/no-top-level-await.d.ts +4 -0
- package/dist/rules/ts/no-ts-export-equal.d.ts +2 -0
- package/dist/rules/ts/no-unsafe-assignment.d.ts +2 -0
- package/dist/rules/ts/prefer-nullish-coalescing.d.ts +2 -0
- package/dist/rules/ts/prefer-optional-chain.d.ts +2 -0
- package/dist/rules/ts/type-annotation-spacing.d.ts +2 -0
- package/dist/rules/ts/type-generic-spacing.d.ts +2 -0
- package/dist/rules/ts/type-named-tuple-spacing.d.ts +2 -0
- package/dist/src/index.js +527 -423
- package/dist/utils.d.ts +12 -3
- package/package.json +3 -2
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* MD024 - Multiple headings with the same content
|
|
4
|
+
*
|
|
5
|
+
* Uses "siblings only" mode by default: only flags duplicate headings
|
|
6
|
+
* within the same parent section. This avoids false positives in
|
|
7
|
+
* changelogs and other documents where headings naturally repeat
|
|
8
|
+
* across different sections (e.g., each version has "Features", "Fixes").
|
|
9
|
+
*/
|
|
10
|
+
export declare const noDuplicateHeadingRule: RuleModule;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* MD036 - Emphasis used instead of a heading
|
|
4
|
+
*
|
|
5
|
+
* Flags standalone bold/italic lines that look like headings.
|
|
6
|
+
* Matches markdownlint MD036 behavior: skips lines ending in punctuation
|
|
7
|
+
* (., !, ?, :, ,, ;) since those are sentences/labels, not headings.
|
|
8
|
+
*/
|
|
9
|
+
export declare const noEmphasisAsHeadingRule: RuleModule;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* MD052 - Reference links and images should use a label that is defined
|
|
4
|
+
*
|
|
5
|
+
* Only fires on explicit reference-style link/image syntax where the
|
|
6
|
+
* intent is unambiguous: `[text][label]` or `![alt][label]`.
|
|
7
|
+
*
|
|
8
|
+
* Does NOT fire on bare `[text]` shortcut references, because those collide
|
|
9
|
+
* with too many legitimate non-link uses: array literals, TypeScript tuples,
|
|
10
|
+
* shell test expressions, JSON examples, citation markers, etc.
|
|
11
|
+
*
|
|
12
|
+
* Matches markdownlint MD052 behavior for explicit references only.
|
|
13
|
+
*/
|
|
14
|
+
export declare const referenceLinksImagesRule: RuleModule;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* MD007 - Unordered list indentation
|
|
4
|
+
*
|
|
5
|
+
* Tracks list-nesting context to correctly handle nested lists, including
|
|
6
|
+
* lists nested inside ordered list items (where indentation must align
|
|
7
|
+
* with the content after the ordered marker, e.g. 3 spaces after "1. ").
|
|
8
|
+
*
|
|
9
|
+
* Matches markdownlint MD007 behavior: only top-level unordered lists and
|
|
10
|
+
* their descendants nested under other unordered lists are checked against
|
|
11
|
+
* the fixed indent. Lists nested inside ordered items may use any indent
|
|
12
|
+
* that aligns with the parent's content column.
|
|
13
|
+
*/
|
|
14
|
+
export declare const ulIndentRule: RuleModule;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Enforce using the global `Buffer` instead of `require("buffer").Buffer`.
|
|
4
|
+
* In Node.js, `Buffer` is a global, so requiring it explicitly is unnecessary.
|
|
5
|
+
*
|
|
6
|
+
* Violations:
|
|
7
|
+
* - Using `Buffer` without importing (should use require("buffer").Buffer)
|
|
8
|
+
*/
|
|
9
|
+
export declare const preferGlobalBuffer: RuleModule;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Enforce using the global `process` instead of `require("process")`.
|
|
4
|
+
* In Node.js, `process` is a global, so requiring it explicitly is unnecessary.
|
|
5
|
+
*
|
|
6
|
+
* Violations:
|
|
7
|
+
* - Using `process` without importing (should use require("process"))
|
|
8
|
+
*/
|
|
9
|
+
export declare const preferGlobalProcess: RuleModule;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Disallow lazy quantifiers when they don't affect matching behavior
|
|
4
|
+
*
|
|
5
|
+
* Examples of useless lazy:
|
|
6
|
+
* - /a+?$/ - lazy is useless because $ forces end-of-string
|
|
7
|
+
* - /a*?b/ - lazy might be useless in some contexts
|
|
8
|
+
*/
|
|
9
|
+
export declare const noUselessLazy: RuleModule;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Replace the interiors of shell strings, parameter expansions, command
|
|
3
|
+
* substitutions, and arithmetic expansions with spaces so regex-based rules
|
|
4
|
+
* can operate on "bare shell code" without false positives from characters
|
|
5
|
+
* that appear inside `$'...'`, `'...'`, `"..."`, `` `...` ``, `${...}`,
|
|
6
|
+
* `$(...)`, `$((...))`, or trailing `# ...` comments.
|
|
7
|
+
*
|
|
8
|
+
* The returned string has the same length as the input so that indices
|
|
9
|
+
* produced by matches on the masked line are valid indices in the original.
|
|
10
|
+
*
|
|
11
|
+
* Only *interior* characters are masked to spaces; structural delimiters
|
|
12
|
+
* (`'`, `"`, `` ` ``, `$`, `(`, `)`, `{`, `}`) are preserved so that rules
|
|
13
|
+
* can still reason about whether a token sits next to a string boundary —
|
|
14
|
+
* e.g. `"$var"]` still reports the `"` as the character preceding `]`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function maskShellStrings(line: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Track heredoc start and end within a line-by-line scan. Returns the
|
|
19
|
+
* delimiter recognised at this line, or `null` if this line does not start a
|
|
20
|
+
* heredoc. The caller tracks state by flipping a boolean when
|
|
21
|
+
* `heredocDelimiter` returns non-null, and clearing it when the delimiter
|
|
22
|
+
* matches a subsequent line's trimmed content.
|
|
23
|
+
*/
|
|
24
|
+
export declare function heredocDelimiter(line: string): string | null;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* SC2006: Use $(...) notation instead of legacy backtick `...` command substitution.
|
|
4
|
+
* Backticks are harder to nest and read. $() is the modern POSIX-compliant alternative.
|
|
5
|
+
*/
|
|
6
|
+
export declare const commandSubstitutionRule: RuleModule;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Enforce consistent placement of case statement terminators (;;).
|
|
4
|
+
* Each case branch must end with ;; before the next pattern or the closing
|
|
5
|
+
* `esac`. The rule walks the case body honoring nested block structure so
|
|
6
|
+
* `)` characters inside `for ... done`, `while ... done`, `if ... fi`, and
|
|
7
|
+
* `$(...)` subshells are not mistaken for the next case pattern.
|
|
8
|
+
*/
|
|
9
|
+
export declare const consistentCaseTerminatorsRule: RuleModule;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RuleModule } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Recommend <<- (with tab stripping) for indented heredocs.
|
|
4
|
+
* When a heredoc is inside a function or loop, using << requires the delimiter
|
|
5
|
+
* to be at column 0, which breaks indentation flow.
|
|
6
|
+
*/
|
|
7
|
+
export declare const heredocIndentRule: RuleModule;
|