Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update remark (major) #8

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Update remark (major) #8

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Dec 3, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
remark (source) ~12.0.1 -> ~12.0.1 || ~15.0.0 age adoption passing confidence
remark-lint (source) ~7.0.1 -> ~7.0.1 || ~10.0.0 age adoption passing confidence

Release Notes

remarkjs/remark (remark)

v15.0.1

Compare Source

Full Changelog: remarkjs/remark@15.0.0...15.0.1

v15.0.0

Compare Source

Change
  • 98a2560 Change to require Node.js 16
    migrate: update too
  • a3e6d54 Change to use exports
    migrate: don’t use private APIs
  • 943f6ac Update @types/mdast, mdast-util-{from,to}-markdown, unified, etc
    migrate: update too
    remark-parse: only really changes Buffer -> Uint8Array, so use encodings supported by TextDecoder if you are passing binary data
    remark-stringify: bulletOrderedOther is removed, you can remove bulletOrderedOther if you passed it, it’s now the default;
    fences is now true by default, if you don’t want indented code, pass fences: false;
    listItemIndent is now 'one' by default, you can remove listItemIndent: 'one' if you passed it, or explicitly set it to 'tab' if you want it
Types
Docs

Full Changelog: remarkjs/remark@14.0.3...15.0.0

v14.0.3

Compare Source

Misc
Plugins

Full Changelog: remarkjs/remark@14.0.2...14.0.3

v14.0.2

Compare Source

Full Changelog: remarkjs/remark@14.0.1...14.0.2

v14.0.1

Compare Source

  • 9026568 Add missing types dependency

v14.0.0

Compare Source

v13.0.0: (micromark)

Compare Source

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 in package.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 to remark-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 to remark-gfm
  • move: tableCellPadding — moved to remark-gfm
  • move: tablePipeAlign — moved to remark-gfm
  • move: stringLength — moved to remark-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 &copy w/o the semicolon, are no longer recognized
  • inconsequential: the indent field is no longer available on position
  • 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!

remarkjs/remark-lint (remark-lint)

v10.0.0

Compare Source

v9.1.2

Compare Source

Fix
Misc

Full Changelog: remarkjs/remark-lint@9.1.1...9.1.2

v9.1.1

Compare Source

Full Changelog: remarkjs/remark-lint@9.1.0...9.1.1

v9.1.0

Compare Source

Full Changelog: remarkjs/remark-lint@9.0.1...9.1.0

v9.0.1

Compare Source

  • bc1b092 Use npm workspaces (and fix types)
  • 359cd08 Add repository.directory field to package.jsons

v9.0.0

Compare Source

Full Changelog: remarkjs/remark-lint@8.0.0...9.0.0

v8.0.0

Compare Source

TL;DR: Use the new versions of the presets with remark 13:

  • remark-preset-lint-consistent (4.0.0)
  • remark-preset-lint-markdown-style-guide (4.0.0)
  • remark-preset-lint-recommended (5.0.0)

Most plugins are fine, but some received majors. The following plugins are made for the new parser and do not work on the old. While you’re still on remark 12, use their previous version. Use the new versions for remark 13+.

  • remark-lint-checkbox-character-style (3.0.0)
  • remark-lint-checkbox-content-indent (3.0.0)
  • remark-lint-list-item-bullet-indent (3.0.0)
  • remark-lint-list-item-spacing (3.0.0)
  • remark-lint-no-blockquote-without-marker (4.0.0)
  • remark-lint-no-heading-indent (3.0.0)
  • remark-lint-no-paragraph-content-indent (3.0.0)
  • remark-lint-no-table-indentation (3.0.0)
  • remark-lint-table-cell-padding (3.0.0)
  • remark-lint-table-pipes (3.0.0)

These plugins generally work on old and new remark, but might miss some messages in the old one now:

  • remark-lint-no-consecutive-blank-lines (3.0.0) (extra blank lines can no longer break out of lists)
  • remark-lint-no-heading-content-indent (3.0.0) (pedantic mode no longer supported)
  • remark-lint-no-inline-padding (3.0.0) (emphasis, strong, strikethrough can’t be padded anymore)
  • remark-lint-no-undefined-references (3.0.0) (undefined references are no longer parsed, so we have to do magic to find them)

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants