@@ -29,15 +29,25 @@ check-dependencies:
29
29
command -v shellcheck & > /dev/null || (echo " ERROR, please install shellcheck" >&2 ; exit 1)
30
30
command -v shfmt & > /dev/null || (echo " ERROR, please install shfmt" >&2 ; exit 1)
31
31
command -v jq & > /dev/null || (echo " ERROR, please install jq" >&2 ; exit 1)
32
- command -v kcov & > /dev/null || (echo " ERROR, please install kcov " >&2 ; exit 1)
32
+ command -v kcov & > /dev/null || (echo " ERROR, please install kcov" >&2 ; exit 1)
33
+ command -v mdslw & > /dev/null || (echo " ERROR, please install mdslw" >&2 ; exit 1)
33
34
34
- SHELLCHECK_OPTS := --enable=add-default-case,avoid-nullary-conditions,quote-safe-variables,require-variable-braces
35
- export SHELLCHECK_OPTS
35
+ SHELLCHECK_OPTS := --external-sources --enable=add-default-case,avoid-nullary-conditions,quote-safe-variables,require-variable-braces
36
+ SHFMT_OPTS := --space-redirects --binary-next-line --indent 2
37
+ MDSLW_OPTS := --upstream="prettier --parser=markdown"
36
38
37
39
.PHONY : lint
38
40
lint :
39
- shellcheck ./bin/* ./lib/* ./tests/*
40
- $(MAKE ) check-format
41
+ shellcheck $(SHELLCHECK_OPTS ) ./bin/* ./lib/* ./tests/*
42
+ shfmt --diff $(SHFMT_OPTS ) --language-dialect bash ./bin/* ./lib/*
43
+ shfmt --diff $(SHFMT_OPTS ) --language-dialect bats ./tests/*
44
+ mdslw --mode=check $(MDSLW_OPTS ) .
45
+
46
+ format :
47
+ shfmt --write --simplify $(SHFMT_OPTS ) --language-dialect bash ./bin/* ./lib/*
48
+ shfmt --write --simplify $(SHFMT_OPTS ) --language-dialect bats ./tests/*
49
+ mdslw --mode=format --upstream=" prettier --parser=markdown" .
50
+ shellcheck --format=diff $(SHELLCHECK_OPTS ) bin/* lib/* tests/* | git apply --allow-empty
41
51
42
52
# Run tests under all possible combinations of some shell options.
43
53
.PHONY : test
@@ -122,17 +132,6 @@ coverage: test
122
132
} \
123
133
}' < <(jq < $$(ls -d1 .coverage/bats.*/coverage.json) | sed ' s/,$$ //' )
124
134
125
- format :
126
- shfmt -w -s -bn -i 2 -sr -ln bash ./bin/* ./lib/*
127
- shfmt -w -s -bn -i 2 -sr -ln bats ./tests/*
128
- mdslw --mode=format --upstream=" prettier --parser=markdown" .
129
- shellcheck --format=diff bin/* lib/* tests/* | git apply --allow-empty
130
-
131
- check-format :
132
- shfmt -d -s -bn -i 2 -sr -ln bash ./bin/* ./lib/*
133
- shfmt -d -s -bn -i 2 -sr -ln bats ./tests/*
134
- mdslw --mode=check --upstream=" prettier --parser=markdown" .
135
-
136
135
build :
137
136
./generate_deployable.sh
138
137
0 commit comments