Update dependency shellcheck to v0.9.0
Created by: renovate[bot]
This PR contains the following updates:
Package | Update | New value | References | Sourcegraph |
---|---|---|---|---|
shellcheck | minor | 0.9.0 | source |
Test plan: CI should pass with updated dependencies. No review required: this is an automated dependency update PR.
Release Notes
koalaman/shellcheck (shellcheck)
v0.9.0
Added
- SC2316: Warn about 'local readonly foo' and similar (thanks, patrickxia!)
- SC2317: Warn about unreachable commands
- SC2318: Warn about backreferences in 'declare x=1 y=$x'
- SC2319/SC2320: Warn when $? refers to echo/printf/[ ]/[[ ]]/test
- SC2321: Suggest removing ((..)) in array\[((idx))]=val
- SC2322: Suggest collapsing double parentheses in arithmetic contexts
- SC2323: Suggest removing wrapping parentheses in a[(x+1)]=val
Fixed
- SC2086: Now uses DFA to make more accurate predictions about values
- SC2086: No longer warns about values declared as integer with declare -i
Changed
- ShellCheck now has a Data Flow Analysis engine to make smarter decisions based on control flow rather than just syntax. Existing checks will gradually start using it, which may cause them to trigger differently (but more accurately).
- Values in directives/shellcheckrc can now be quoted with '' or ""
v0.8.0
Added
-
disable=all
now conveniently disables all warnings -
external-sources=true
directive can be added to .shellcheckrc to make shellcheck behave as if-x
was specified. - Optional
check-extra-masked-returns
for pointing out commands with suppressed exit codes (SC2312). - Optional
require-double-brackets
for recommending [[ ]] (SC2292). - SC2286-SC2288: Warn when command name ends in a symbol like
/.)'"
- SC2289: Warn when command name contains tabs or linefeeds
- SC2291: Warn about repeated unquoted spaces between words in echo
- SC2292: Suggest [[ over [ in Bash/Ksh scripts (optional)
- SC2293/SC2294: Warn when calling
eval
with arrays - SC2295: Warn about "{x#y}" treating $y as a pattern when not quoted
- SC2296-SC2301: Improved warnings for bad parameter expansions
- SC2302/SC2303: Warn about loops over array values when using them as keys
- SC2304-SC2306: Warn about unquoted globs in expr arguments
- SC2307: Warn about insufficient number of arguments to expr
- SC2308: Suggest other approaches for non-standard expr extensions
- SC2313: Warn about
read
with unquoted, array indexed variable
Fixed
- SC2102 about repetitions in ranges no longer triggers on [[ -v arr[xx] ]]
- SC2155 now recognizes
typeset
and local read-onlydeclare
statements - SC2181 now tries to avoid triggering for error handling functions
- SC2290: Warn about misused = in declare & co, which were not caught by SC2270+
- The flag --color=auto no longer outputs color when TERM is "dumb" or unset
Changed
- SC2048: Warning about $* now also applies to ${array[*]}
- SC2181 now only triggers on single condition tests like
[ $? = 0 ]
. - Quote warnings are now emitted for declaration utilities in sh
- Leading
_
can now be used to suppress warnings about unused variables - TTY output now includes warning level in text as well as color
Removed
- SC1004: Literal backslash+linefeed in '' was found to be usually correct
v0.7.2
Added
-
disable
directives can now be a range, e.g.disable=SC3000-SC4000
- SC1143: Warn about line continuations in comments
- SC2259/SC2260: Warn when redirections override pipes
- SC2261: Warn about multiple competing redirections
- SC2262/SC2263: Warn about aliases declared and used in the same parsing unit
- SC2264: Warn about wrapper functions that blatantly recurse
- SC2265/SC2266: Warn when using & or | with test statements
- SC2267: Warn when using xargs -i instead of -I
- SC2268: Warn about unnecessary x-comparisons like
[ x$var = xval ]
Fixed
- SC1072/SC1073 now respond to disable annotations, though ignoring parse errors is still purely cosmetic and does not allow ShellCheck to continue.
- Improved error reporting for trailing tokens after ]/]] and compound commands
-
#!/usr/bin/env -S shell
is now handled correctly - Here docs with \r are now parsed correctly and give better warnings
Changed
- Assignments are now parsed to spec, without leniency for leading $ or spaces
- POSIX/dash unsupported feature warnings now have individual SC3xxx codes
- SC1090: A leading
$x/
or$(x)/
is now treated as./
when locating files - SC2154: Variables appearing in -z/-n tests are no longer considered unassigned
- SC2270-SC2285: Improved warnings about misused
=
, e.g.${var}=42
Configuration
-
If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.