Gathering detailed insights and metrics for remark-lint-list-item-indent
Gathering detailed insights and metrics for remark-lint-list-item-indent
Gathering detailed insights and metrics for remark-lint-list-item-indent
Gathering detailed insights and metrics for remark-lint-list-item-indent
remark-lint-list-item-bullet-indent
remark-lint rule to warn when list item bullets are indented
remark-lint-list-item-content-indent
remark-lint rule to warn when the content of a list item has mixed indentation
remark-lint-checkbox-content-indent
remark-lint rule to warn when too much whitespace follows list item checkboxes
plugins to check (lint) markdown code style
npm install remark-lint-list-item-indent
Typescript
Module System
Node Version
NPM Version
98.7
Supply Chain
99.5
Quality
80.2
Maintenance
100
Vulnerability
100
License
remark-lint-no-unused-definitions@4.0.2
Updated on Apr 10, 2025
remark-lint-fenced-code-flag@4.2.0
Updated on Apr 09, 2025
remark-lint-no-undefined-references@5.0.2
Updated on Apr 09, 2025
10.0.1
Updated on Jan 27, 2025
remark-lint-table-cell-padding@5.1.0
Updated on Jan 27, 2025
remark-lint-table-pipe-alignment@4.1.0
Updated on Jan 27, 2025
JavaScript (100%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
988 Stars
629 Commits
135 Forks
19 Watchers
1 Branches
55 Contributors
Updated on Jul 16, 2025
Latest Version
4.0.1
Package Id
remark-lint-list-item-indent@4.0.1
Unpacked Size
28.53 kB
Size
6.06 kB
File Count
5
NPM Version
11.0.0
Node Version
23.1.0
Published on
Jan 27, 2025
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
remark-lint
rule to warn when the whitespace after list item markers violate
a given style.
This package checks the style of whitespace after list item markers.
You can use this package to check that the style of whitespace after list item markers and before content is consistent.
This plugin is included in the following presets:
Preset | Options |
---|---|
remark-preset-lint-markdown-style-guide | 'mixed' |
remark-preset-lint-recommended | 'one' |
This package is ESM only. In Node.js (version 16+), install with npm:
1npm install remark-lint-list-item-indent
In Deno with esm.sh
:
1import remarkLintListItemIndent from 'https://esm.sh/remark-lint-list-item-indent@4'
In browsers with esm.sh
:
1<script type="module"> 2 import remarkLintListItemIndent from 'https://esm.sh/remark-lint-list-item-indent@4?bundle' 3</script>
On the API:
1import remarkLint from 'remark-lint' 2import remarkLintListItemIndent from 'remark-lint-list-item-indent' 3import remarkParse from 'remark-parse' 4import remarkStringify from 'remark-stringify' 5import {read} from 'to-vfile' 6import {unified} from 'unified' 7import {reporter} from 'vfile-reporter' 8 9const file = await read('example.md') 10 11await unified() 12 .use(remarkParse) 13 .use(remarkLint) 14 .use(remarkLintListItemIndent) 15 .use(remarkStringify) 16 .process(file) 17 18console.error(reporter(file))
On the CLI:
1remark --frail --use remark-lint --use remark-lint-list-item-indent .
On the CLI in a config file (here a package.json
):
1 … 2 "remarkConfig": { 3 "plugins": [ 4 … 5 "remark-lint", 6+ "remark-lint-list-item-indent", 7 … 8 ] 9 } 10 …
This package exports no identifiers.
It exports the TypeScript type
Options
.
The default export is
remarkLintListItemIndent
.
unified().use(remarkLintListItemIndent[, options])
Warn when the whitespace after list item markers violate a given style.
options
(Options
, default: 'one'
)
— preferred styleTransform (Transformer
from unified
).
Options
Configuration (TypeScript type).
'mixed'
— prefer 'one'
for tight lists and 'tab'
for loose lists'one'
— prefer the size of the bullet and a single space'tab'
— prefer the size of the bullet and a single space to the next tab stop1type Options = 'mixed' | 'one' | 'tab'
First some background.
The number of spaces that occur after list markers (*
, -
, and +
for
unordered lists and .
and )
for unordered lists) and before the content
on the first line,
defines how much indentation can be used for further lines.
At least one space is required and up to 4 spaces are allowed.
If there is no further content after the marker then it’s a blank line which
is handled as if there was one space.
If there are 5 or more spaces and then content then it’s also seen as one
space and the rest is seen as indented code.
Regardless of ordered and unordered,
there are two kinds of lists in markdown,
tight and loose.
Lists are tight by default but if there is a blank line between two list
items or between two blocks inside an item,
that turns the whole list into a loose list.
When turning markdown into HTML,
paragraphs in tight lists are not wrapped in <p>
tags.
How indentation of lists works in markdown has historically been a mess,
especially with how they interact with indented code.
CommonMark made that a lot better,
but there remain (documented but complex) edge cases and some behavior
intuitive.
Due to this, 'tab'
works the best in most markdown parsers and in
CommonMark.
Currently the situation between markdown parsers is better,
so the default 'one'
,
which seems to be the most common style used by authors,
is okay.
remark-stringify
uses listItemIndent: 'one'
by default.
listItemIndent: 'mixed'
or listItemIndent: 'tab'
is also supported.
ok.md
1*␠Mercury. 2*␠Venus. 3 4111.␠Earth 5␠␠␠␠␠and Mars. 6 7*␠**Jupiter**. 8 9␠␠Jupiter is the fifth planet from the Sun and the largest in the Solar 10␠␠System. 11 12*␠Saturn. 13 14␠␠Saturn is the sixth planet from the Sun and the second-largest in the Solar System, after Jupiter.
No messages.
ok.md
When configured with 'mixed'
.
1*␠Mercury. 2*␠Venus. 3 4111.␠Earth 5␠␠␠␠␠and Mars. 6 7*␠␠␠**Jupiter**. 8 9␠␠␠␠Jupiter is the fifth planet from the Sun and the largest in the Solar 10␠␠␠␠System. 11 12*␠␠␠Saturn. 13 14␠␠␠␠Saturn is the sixth planet from the Sun and the second-largest in the Solar System, after Jupiter.
No messages.
not-ok.md
When configured with 'mixed'
.
1*␠␠␠Mercury. 2*␠␠␠Venus. 3 4111.␠␠␠␠Earth 5␠␠␠␠␠␠␠␠and Mars. 6 7*␠**Jupiter**. 8 9␠␠Jupiter is the fifth planet from the Sun and the largest in the Solar 10␠␠System. 11 12*␠Saturn. 13 14␠␠Saturn is the sixth planet from the Sun and the second-largest in the Solar System, after Jupiter.
11:5: Unexpected `3` spaces between list item marker and content in tight list, expected `1` space, remove `2` spaces 22:5: Unexpected `3` spaces between list item marker and content in tight list, expected `1` space, remove `2` spaces 34:9: Unexpected `4` spaces between list item marker and content in tight list, expected `1` space, remove `3` spaces 47:3: Unexpected `1` space between list item marker and content in loose list, expected `3` spaces, add `2` spaces 512:3: Unexpected `1` space between list item marker and content in loose list, expected `3` spaces, add `2` spaces
ok.md
When configured with 'one'
.
1*␠Mercury. 2*␠Venus. 3 4111.␠Earth 5␠␠␠␠␠and Mars. 6 7*␠**Jupiter**. 8 9␠␠Jupiter is the fifth planet from the Sun and the largest in the Solar 10␠␠System. 11 12*␠Saturn. 13 14␠␠Saturn is the sixth planet from the Sun and the second-largest in the Solar System, after Jupiter.
No messages.
not-ok.md
When configured with 'one'
.
1*␠␠␠Mercury. 2*␠␠␠Venus. 3 4111.␠␠␠␠Earth 5␠␠␠␠␠␠␠␠and Mars. 6 7*␠␠␠**Jupiter**. 8 9␠␠␠␠Jupiter is the fifth planet from the Sun and the largest in the Solar 10␠␠␠␠System. 11 12*␠␠␠Saturn. 13 14␠␠␠␠Saturn is the sixth planet from the Sun and the second-largest in the Solar System, after Jupiter.
11:5: Unexpected `3` spaces between list item marker and content, expected `1` space, remove `2` spaces 22:5: Unexpected `3` spaces between list item marker and content, expected `1` space, remove `2` spaces 34:9: Unexpected `4` spaces between list item marker and content, expected `1` space, remove `3` spaces 47:5: Unexpected `3` spaces between list item marker and content, expected `1` space, remove `2` spaces 512:5: Unexpected `3` spaces between list item marker and content, expected `1` space, remove `2` spaces
ok.md
When configured with 'tab'
.
1*␠␠␠Mercury. 2*␠␠␠Venus. 3 4111.␠␠␠␠Earth 5␠␠␠␠␠␠␠␠and Mars. 6 7*␠␠␠**Jupiter**. 8 9␠␠␠␠Jupiter is the fifth planet from the Sun and the largest in the Solar 10␠␠␠␠System. 11 12*␠␠␠Saturn. 13 14␠␠␠␠Saturn is the sixth planet from the Sun and the second-largest in the Solar System, after Jupiter.
No messages.
not-ok.md
When configured with 'tab'
.
1*␠Mercury. 2*␠Venus. 3 4111.␠Earth 5␠␠␠␠␠and Mars. 6 7*␠**Jupiter**. 8 9␠␠Jupiter is the fifth planet from the Sun and the largest in the Solar 10␠␠System. 11 12*␠Saturn. 13 14␠␠Saturn is the sixth planet from the Sun and the second-largest in the Solar System, after Jupiter.
11:3: Unexpected `1` space between list item marker and content, expected `3` spaces, add `2` spaces 22:3: Unexpected `1` space between list item marker and content, expected `3` spaces, add `2` spaces 34:6: Unexpected `1` space between list item marker and content, expected `4` spaces, add `3` spaces 47:3: Unexpected `1` space between list item marker and content, expected `3` spaces, add `2` spaces 512:3: Unexpected `1` space between list item marker and content, expected `3` spaces, add `2` spaces
not-ok.md
When configured with '🌍'
.
11:1: Unexpected value `🌍` for `options`, expected `'mixed'`, `'one'`, or `'tab'`
gfm.md
When configured with 'mixed'
.
👉 Note: this example uses GFM (
remark-gfm
).
1*␠[x] Mercury. 2 31.␠␠[ ] Venus. 4 52.␠␠[ ] Earth.
No messages.
gfm.md
When configured with 'one'
.
👉 Note: this example uses GFM (
remark-gfm
).
1*␠[x] Mercury. 2 31.␠[ ] Venus. 4 52.␠[ ] Earth.
No messages.
gfm.md
When configured with 'tab'
.
👉 Note: this example uses GFM (
remark-gfm
).
1*␠␠␠[x] Mercury. 2 31.␠␠[ ] Venus. 4 52.␠␠[ ] Earth.
No messages.
loose-tight.md
When configured with 'mixed'
.
1Loose lists have blank lines between items: 2 3*␠␠␠Mercury. 4 5*␠␠␠Venus. 6 7…or between children of items: 8 91.␠␠Earth. 10 11␠␠␠␠Earth is the third planet from the Sun and the only astronomical 12␠␠␠␠object known to harbor life.
No messages.
Projects maintained by the unified collective are compatible with maintained versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of
Node.
This means we try to keep the current release line,
remark-lint-list-item-indent@4
,
compatible with Node.js 16.
See contributing.md
in remarkjs/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
no binaries found in the repo
Reason
license file detected
Details
Reason
0 existing vulnerabilities detected
Reason
security policy file detected
Details
Reason
0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0
Reason
Found 2/30 approved changesets -- score normalized to 0
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2025-07-07
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More