Skip to content

Commit 57b5ea0

Browse files
committed
Add 'module-type' option determining how README is linted
1 parent 2f409b0 commit 57b5ea0

File tree

4 files changed

+17
-4
lines changed

4 files changed

+17
-4
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ Many variables have default values and are therefore optional.
9595
| `comment-prefix` | `.` | The character which follows `//` to signify documentation to transcribe. |
9696
| `opening-delimiter` | `` ```javascript `` | The opening delimiter of doctest blocks in the source files. |
9797
| `closing-delimiter` | `` ``` `` | The closing delimiter of doctest blocks in the source files. |
98+
| `module-type` | `commonjs` | The module system doctest should use (`amd`, `commonjs`, or `esm`). |
9899
| `version-tag-prefix` | `v` | The prefix of annotated version tags (`version-tag-prefix =` for no prefix). |
99100

100101
### Custom scripts
@@ -122,7 +123,7 @@ Runs [`doctest`↗︎][] with suitable `--module`, `--prefix`,
122123
`--opening-delimiter`, and `--closing-delimiter` values.
123124

124125
Configurable via [variables][] (`source-files`, `comment-prefix`,
125-
`opening-delimiter`, `closing-delimiter`).
126+
`opening-delimiter`, `closing-delimiter`, `module-type`).
126127

127128
### `generate-readme`
128129

@@ -190,7 +191,8 @@ undefined link references or unused link definitions.
190191
Uses [`eslint`↗︎][] and [`eslint-plugin-markdown`↗︎][] to assert that the readme,
191192
when built, will not contain examples which violate the project's style guide.
192193

193-
Configurable via [variables][] (`opening-delimiter`, `closing-delimiter`).
194+
Configurable via [variables][] (`opening-delimiter`, `closing-delimiter`
195+
`module-type`).
194196

195197
### `prepublish`
196198

bin/doctest

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ set -f ; shopt -u nullglob
1414
prefix="$(get comment-prefix)"
1515
opening="$(get opening-delimiter)"
1616
closing="$(get closing-delimiter)"
17+
module="$(get module-type)"
1718

1819
node_modules/.bin/doctest \
19-
--module commonjs \
20+
--module "$module" \
2021
--prefix "$prefix" \
2122
--opening-delimiter "$opening" \
2223
--closing-delimiter "$closing" \

bin/lint-readme

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ fi
1515

1616
opening="$(get opening-delimiter)"
1717
closing="$(get closing-delimiter)"
18+
module="$(get module-type)"
1819

1920
# https://github.com/davidchambers/doctest/blob/0.16.0/lib/doctest.js#L173-L209
2021
# displays the algorithm upon which this function is based. Differences:
@@ -68,4 +69,12 @@ node_modules/.bin/remark \
6869
cp README.md README.md.temp
6970
rewrite <README.md.temp >README.md
7071

71-
node_modules/.bin/eslint -- README.md
72+
if [[ $module == esm ]] ; then
73+
source=module
74+
else
75+
source=script
76+
fi
77+
78+
node_modules/.bin/eslint \
79+
--parser-options "sourceType:$source" \
80+
-- README.md

functions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ get() {
3232
printf '```javascript' ;;
3333
closing-delimiter) # shellcheck disable=SC2016
3434
printf '```' ;;
35+
module-type) printf 'commonjs' ;;
3536
version-tag-prefix) printf 'v' ;;
3637
*)
3738
echo "'$1' not defined in $config" >&2

0 commit comments

Comments
 (0)