Growstuff/growstuff

View on GitHub

Showing 3,994 of 4,032 total issues

Not following: .env: openFile: does not exist (No such file or directory)
Open

source .env
Severity: Minor
Found in script/check_elasticsearch.sh by shellcheck

Not following: (error message here)

Reasons include: file not found, no permissions, not included on the command line, not allowing shellcheck to follow files with -x, etc.

Problematic code:

source somefile

Correct code:

# shellcheck disable=SC1091
source somefile

Rationale:

ShellCheck, for whichever reason, is not able to access the source file.

This could be because you did not include it on the command line, did not use shellcheck -x to allow following other files, don't have permissions or a variety of other problems.

Feel free to ignore the error with a [[directive]].

Exceptions:

If you're fine with it, ignore the message with a [[directive]].

Notice

Original content from the ShellCheck https://github.com/koalaman/shellcheck/wiki.

Selector should have depth of applicability no greater than 2, but was 3
Open

    .crop-sci-name {

Selector should have depth of applicability no greater than 2, but was 3
Open

    .img-card {

Selector should have depth of applicability no greater than 2, but was 3
Open

    .badge-super-late {

Begin pseudo elements with double colons: ::
Open

label.required:after {

Avoid qualifying class selectors with an element.
Open

ul.plantings {

Rule declaration should be followed by an empty line
Open

}

Selector should have depth of applicability no greater than 2, but was 3
Open

    a:hover {

Selector should have depth of applicability no greater than 2, but was 3
Open

    #navbar-search {

Selector should have depth of applicability no greater than 2, but was 3
Open

    a {

Colon after property should be followed by one space
Open

    transition:

Selector should have depth of applicability no greater than 2, but was 3
Open

    span {

Selector should have depth of applicability no greater than 2, but was 3
Open

    a:hover {

Selector should have depth of applicability no greater than 2, but was 3
Open

    .fa-map-marker {

Selector should have depth of applicability no greater than 2, but was 3
Open

    img {

This { is literal. Check expression (missing ;/\n?) or quote it.
Open

      response=$(curl --write-out %{http_code} --silent --output /dev/null $host)
Severity: Minor
Found in script/check_elasticsearch.sh by shellcheck

This {/} is literal. Check expression (missing ;/\n?) or quote it.

Problematic code:

rmf() { rm -f "$@" }

or

eval echo \${foo}

Correct code:

rmf() { rm -f "$@"; }

and

eval "echo \${foo}"

Rationale:

Curly brackets are normally used as syntax in parameter expansion, command grouping and brace expansion.

However, if they don't appear alone at the start of an expression or as part of a parameter or brace expansion, the shell silently treats them as literals. This frequently indicates a bug, so ShellCheck warns about it.

In the example function, the } is literal because it's not at the start of an expression. We fix it by adding a ; before it.

In the example eval, the code works fine. However, we can quiet the warning and follow good practice by adding quotes around the literal data.

ShellCheck does not warn about {}, since this is frequently used with find and rarely indicates a bug.

Exceptions

This error is harmless when the curly brackets are supposed to be literal, in e.g. awk {'print $1'}. However, it's cleaner and less error prone to simply include them inside the quotes: awk '{print $1}'.

Notice

Original content from the ShellCheck https://github.com/koalaman/shellcheck/wiki.

Rule declaration should be preceded by an empty line
Open

      a {

Selector should have depth of applicability no greater than 2, but was 3
Open

  .navbar .nav > li {

Use // comments everywhere
Open

/* override "info" alert boxes to be green, not blue, on Growstuff */

Selector should have depth of applicability no greater than 2, but was 3
Open

    a:hover {
Severity
Category
Status
Source
Language