linter-markdown
linter-markdown copied to clipboard
fix(deps): update remark packages (major)
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
remark (source) | 11.0.2 -> 14.0.3 |
||||
remark-cli (source) | 7.0.1 -> 11.0.0 |
||||
remark-frontmatter | 1.3.2 -> 4.0.1 |
||||
remark-preset-lint-consistent | 2.0.3 -> 5.1.2 |
||||
remark-preset-lint-markdown-style-guide | 2.1.3 -> 5.1.3 |
||||
remark-preset-lint-recommended | 3.0.3 -> 6.1.3 |
Release Notes
remarkjs/remark (remark)
v14.0.3
Misc
- Rerelease types for changes in TypeScript https://github.com/remarkjs/remark/issues/11621162
-
f6bd64e
Refactortsconfig
s for perf and strictness -
bb4c814
Add improved docs on what this project is by @BeLi4L in https://github.com/remarkjs/remark/pull/1147 -
bec44aa
Updatetsconfig.json
to use node16 module resolution by @ChristianMurphy in https://github.com/remarkjs/remark/pull/1106 -
f07f413
Addignore-scripts
to.npmrc
by @ChristianMurphy in https://github.com/remarkjs/remark/pull/1103 -
134ece2
Update Actions by @ChristianMurphy in https://github.com/remarkjs/remark/pull/1070 -
974f893
Fix internal types for TS 4.9
Plugins
-
1e488d0
Addremark-ins
to list of plugins by @talatkuyuk in https://github.com/remarkjs/remark/pull/1129 -
e456dc5
Addremark-flexible-markers
to list of plugins by @talatkuyuk in https://github.com/remarkjs/remark/pull/1126 -
42114fc
Addremark-flexible-paragraphs
to list of plugins by @talatkuyuk in https://github.com/remarkjs/remark/pull/1120 -
6aa638a
Addremark-flexible-containers
to list of plugins by @talatkuyuk in https://github.com/remarkjs/remark/pull/1112 -
20e7543
Addremark-flexible-code-titles
to list of plugins by @talatkuyuk in https://github.com/remarkjs/remark/pull/1108 -
32d6948
Addremark-cloudinary-docusaurus
to list of plugins by @johnnyreilly in https://github.com/remarkjs/remark/pull/1090 -
28aa8b9
update tests for changes inmdast-util-to-markdown
-
9af1a87
Addremark-code-title
to list of plugins by @kevinzunigacuellar in https://github.com/remarkjs/remark/pull/1076 -
0d1eb09
Add 7 plugins to list of plugins by @Xunnamius in https://github.com/remarkjs/remark/pull/1064 -
c7e8171
Remove deprecatedremark-jargon
by @LunaticMuch in https://github.com/remarkjs/remark/pull/1059
Full Changelog: https://github.com/remarkjs/remark/compare/14.0.2...14.0.3
v14.0.2
-
87c50a5
Add improved docs by @wooorm in https://github.com/remarkjs/remark/pull/900
Full Changelog: https://github.com/remarkjs/remark/compare/14.0.1...14.0.2
v14.0.1
-
9026568
Add missing types dependency
v14.0.0
-
b7afd25
Use ESM-
Change:
// From CommonJS var remark = require('remark') // To ESM import {remark} from 'remark' // Plugins use default exports: var remarkParse = require('remark-parse') // => import remarkParse from 'remark-parse' var remarkStringify = require('remark-stringify') // => import remarkStringify from 'remark-stringify'
-
-
42d1b21
Update dependencies- Update
unified
(10.0.0) (see: https://github.com/unifiedjs/unified/releases/tag/10.0.0) - Update
vfile
(5.0.0) (see: https://github.com/vfile/vfile/releases/tag/5.0.0) Importantly this renames ~~vfile.contents
~~ tovfile.value
- Update
mdast-util-from-markdown
(1.0.0) (see: https://github.com/syntax-tree/mdast-util-from-markdown/releases/tag/1.0.0) - Update
mdast-util-to-markdown
(1.0.0) (see: https://github.com/syntax-tree/mdast-util-to-markdown/releases/tag/1.0.0)
- Update
-
bc55caa
Add JSDoc based types
v13.0.0
: (micromark)
This is a giant change for remark. It replaces the 5+ year old internals with a new low-level parser: micromark
. The old internals have served billions of users well over the years, but markdown has changed over that time. micromark comes with 100% CommonMark (and GFM as an extension) compliance, and (WIP) docs on parsing rules for how to tokenize markdown with a state machine. micromark, and micromark in remark, is a good base for the future.
Migration
- Update all the
remark*
packages you are using inpackage.json
- Did you use GFM (tables and so, used to be the default)? Now add
remark-gfm
- Try running it all. If it fails, you are probably using a syntax extension which hasn’t been updated yet, there are issues open on the issue trackers of those plugins already
- Compare the previous output to the new output: anything wrong? See below for the changelog which might cover it. Otherwise, It’s probably because remark is now CommonMark (or GFM) compliant. Please compare with those projects if the new behavior is correct or not (CommonMark Dingus, or create a gist for GFM). Does remark not match those reference parsers? Please open an issue here!
Changes
remark-parse
remark-parse
now defers its work to micromark
and mdast-util-from-markdown
. micromark
is a new, small, complete, and CommonMark compliant low-level markdown parser. from-markdown
turns its tokens into the previously (and still) used syntax tree: mdast. Extensions to remark-parse
work differently: they’re a two-part act. See for example micromark-extension-footnote
and mdast-util-footnote
.
- change:
commonmark
is no longer an option — it’s the default - move:
gfm
is no longer an option — moved toremark-gfm
- remove:
pedantic
is no longer an option — this legacy and buggy flavor of markdown is no longer widely used - remove:
blocks
is no longer an options — it’s no longer suggested to change the internal list of HTML “block” tag names
remark-stringify
remark-stringify now defers its work to mdast-util-to-markdown
. It’s a new and better serializer with powerful features to ensure serialized markdown represents the syntax tree (mdast), no matter what plugins do. Extensions to it work differently: see for example mdast-util-footnote
.
options
- change:
commonmark
is no longer an option, it’s the default - change:
emphasis
now defaults to*
- change:
bullet
now defaults to*
- move:
gfm
is no longer an option — moved toremark-gfm
- move:
tableCellPadding
— moved toremark-gfm
- move:
tablePipeAlign
— moved toremark-gfm
- move:
stringLength
— moved toremark-gfm
- remove:
pedantic
is no longer an option — this legacy and buggy flavor of markdown is no longer widely used - remove:
entities
is no longer an option — with CommonMark there is almost never a need to use character references, as character escapes are preferred - new:
quote
— you can now prefer single quotes ('
) over double quotes ("
) in titles
Changes to output / the tree
All of these are for CommonMark compatibility. They’re all fixes. Most of them are inconsequential to most folks.
-
notable: references (as in, links
[text][id]
and images![alt][id]
) are no longer present as such in the syntax tree if they don’t have a corresponding definition ([id]: example.com
). The reason for this is that CommonMark requires[text *emphasis start][undefined] emphasis end*
to be emphasis. -
notable: it is no longer possible to use two blank lines between two lists or a list and indented code. CommonMark prohibits it. For a solution, use an empty comment to end lists (
<!---->
) - inconsequential: whitespace at the start and end of lines in paragraphs is now ignored
- inconsequential:
<mailto:foobarbaz>
are now correctly parsed, and the scheme is part of the tree - inconsequential: indented code can now follow a block quote w/o blank line
- inconsequential: trailing indented blank lines after indented code are no longer part of that code
- inconsequential: character references and escapes are no longer present as separate text nodes
- inconsequential: character references which HTML allows but CommonMark doesn’t, such as
©
w/o the semicolon, are no longer recognized - inconsequential: the
indent
field is no longer available onposition
- fix: multiline setext headings
- fix: lazy lists
- fix: attention (emphasis, strong)
- fix: tabs
- fix: empty alt on images is now present as an empty string
- …plus a ton of other minor previous differences from CommonMark
Thanks
Thanks to Salesforce, Gatsby, Vercel, and Netlify, and our other backers for sponsoring the work on micromark! To support our continued work, back us on OpenCollective!
v12.0.1
v12.0.0
-
2841e47
Updateremark-parse
(breaking, please see its release section) -
1baae5e
Updateremark-stringify
(breaking, please see its release section) -
6543d08
Updateunified
(breaking, please see its release section)
remarkjs/remark-frontmatter (remark-frontmatter)
v4.0.1
-
b56dae7
Add improved docs by @wooorm in https://github.com/remarkjs/remark-frontmatter/pull/17
Full Changelog: https://github.com/remarkjs/remark-frontmatter/compare/4.0.0...4.0.1
v4.0.0
-
c02f672
Use ESM
Learn more about ESM in this guide// From CommonJS var remarkFrontmatter = require('remark-frontmatter') // To ESM import remarkFrontmatter from 'remark-frontmatter'
-
3f125a9
Add JSDoc based types
v3.0.0
-
fb1357b
Update formicromark
inremark@13
(breaking, this update will not work for remark lower than v13, see commit for changes)
v2.0.0
-
7824e34
Remove dependency (breaking ifObject.assign
is not supported in your runtime) -
65b8410
Add types (breaking, potentially, if you or your dependents use typescript and didn’t expect types)
v1.3.3
remarkjs/remark-lint (remark-preset-lint-consistent)
v5.1.2
v5.1.1
v5.1.0
v5.0.1
-
bca9530
Addreadme.md
toremark-lint
package
v5.0.0
This is a big one: remark-lint no longer does anything without you telling it to.
The breaking part is reset
and presets
.
On the CLI, please start using remark-preset-lint-consistent
, remark-preset-lint-recommended
, and/or create and publish your own config!
Changes
-
f5c1227
Makereset
the default -
6196124
Update for changes in [email protected] -
77709f5
Add support for passing severities
v4.0.0
v3.0.0
-
382bfba
Update dependencies
remarkjs/remark-lint (remark-preset-lint-markdown-style-guide)
v5.1.3
v5.1.2
v5.1.1
-
c5c3832
Markno-auto-link-without-protocol
as deprecated
v5.1.0
v5.0.1
-
bca9530
Addreadme.md
toremark-lint
package
v5.0.0
This is a big one: remark-lint no longer does anything without you telling it to.
The breaking part is reset
and presets
.
On the CLI, please start using remark-preset-lint-consistent
, remark-preset-lint-recommended
, and/or create and publish your own config!
Changes
-
f5c1227
Makereset
the default -
6196124
Update for changes in [email protected] -
77709f5
Add support for passing severities
v4.0.0
v3.0.0
-
905f47a
Update dependencies
remarkjs/remark-lint (remark-preset-lint-recommended)
v6.1.3
v6.1.2
v6.1.1
-
c5c3832
Markno-auto-link-without-protocol
as deprecated
v6.0.0
Hi! 👋
With 6.0.0, rules are no longer in the remark-lint
package. In fact, remark lint doesn’t do much, other than controlling messages.
Rules are now each in their own package. You don’t have to npm install
and .use()
each package though, you can install and use presets instead. If you find yourself installing many rules to update, maybe create a preset too?
By giving more power to presets over the remark-lint package itself, I think rules, especially external rules, will prosper!
First off, if “presets” changed, the below diff shows how you can update:
"dependencies": {
"remark-cli": "^0.0.0",
"remark-lint": "^0.0.0",
"remark-preset-lint-consistent": "^0.0.0",
// ...
},
"remarkConfig": {
- "presets": ["lint-consistent"]
+ "plugins": ["preset-lint-consistent"]
}
Second, if you used remark-lint
directly, you need to change your config as follows.
"dependencies": {
"remark-cli": "^0.0.0",
"remark-lint": "^0.0.0",
+ "remark-lint-unordered-list-marker-style": "^0.0.0",
+ "remark-lint-list-item-bullet-indent": "^0.0.0",
+ "remark-lint-no-multiple-toplevel-headings": "^0.0.0",
+ "remark-lint-maximum-line-length": "^0.0.0",
+ "remark-lint-maximum-heading-length": "^0.0.0",
+ "remark-lint-no-tabs": "^0.0.0",
// ...
},
"remarkConfig": {
- "plugins": {
- "remark-lint": {
- "unordered-list-marker-style": "consistent",
- "list-item-bullet-indent": true,
- "no-multiple-toplevel-headings": true,
- "maximum-line-length": 9000,
- "maximum-heading-length": 300,
- "no-tabs": true,
- // ...
- }
+ "plugins": [
+ "remark-lint",
+ ["remark-lint-unordered-list-marker-style", "consistent"],
+ "remark-lint-list-item-bullet-indent",
+ "remark-lint-no-multiple-toplevel-headings",
+ ["remark-lint-maximum-line-length", 9000],
+ ["remark-lint-maximum-heading-length", 300],
+ "remark-lint-no-tabs",
+ // ...
+ ]
Finally, if you use remark on the API, change your code as follows:
var remark = require('remark');
var lint = require('remark-lint');
+var unorderedListMarkerStyle = require('remark-lint-unordered-list-marker-style');
+var listItemBulletIndent = require('remark-lint-list-item-bullet-indent');
+var noMultipleToplevelHeadings = require('remark-lint-no-multiple-toplevel-headings');
remark()
- .use(lint, {
- unorderedListMarkerStyle: 'consistent',
- listItemBulletIndent: true,
- noMultipleToplevelHeadings: true
- maximumLineLength: false
- })
+ .use(lint)
+ .use(unorderedListMarkerStyle, 'consistent')
+ .use(listItemBulletIndent)
+ .use(noMultipleToplevelHeadings)
// ...
v5.0.0
v4.0.1
v4.0.0
-
3edcac8
Update dependencies
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.