remarkjs/react-markdown (react-markdown)
### [`v9.0.1`](https://togithub.com/remarkjs/react-markdown/releases/tag/9.0.1)
[Compare Source](https://togithub.com/remarkjs/react-markdown/compare/9.0.0...9.0.1)
- [`d8e3787`](https://togithub.com/remarkjs/react-markdown/commit/d8e3787) Fix double encoding in new url transform
- [`55d8d83`](https://togithub.com/remarkjs/react-markdown/commit/55d8d83) Refactor docs to use `createRoot`
**Full Changelog**: https://github.com/remarkjs/react-markdown/compare/9.0.0...9.0.1
### [`v9.0.0`](https://togithub.com/remarkjs/react-markdown/blob/HEAD/changelog.md#900---2023-09-27)
[Compare Source](https://togithub.com/remarkjs/react-markdown/compare/8.0.7...9.0.0)
- [`b67d714`](https://togithub.com/remarkjs/react-markdown/commit/b67d714)
Change to require Node.js 16\
**migrate**: update too
- [`ec2b134`](https://togithub.com/remarkjs/react-markdown/commit/ec2b134)
Change to require React 18\
**migrate**: update too
- [`bf5824f`](https://togithub.com/remarkjs/react-markdown/commit/bf5824f)
Change to use `exports`\
**migrate**: don’t use private APIs
- [`c383a45`](https://togithub.com/remarkjs/react-markdown/commit/c383a45)
Update `@types/hast`, utilities, plugins, etc\
**migrate**: update too
- [`eca5e6b`](https://togithub.com/remarkjs/react-markdown/commit/eca5e6b)
[`08ead9e`](https://togithub.com/remarkjs/react-markdown/commit/08ead9e)
Replace `transformImageUri`, `transformLinkUri` w/ `urlTransform`\
**migrate**: see “Add `urlTransform`” below
- [`de29396`](https://togithub.com/remarkjs/react-markdown/commit/de29396)
Remove `linkTarget` option\
**migrate**: see “Remove `linkTarget`” below
- [`4346276`](https://togithub.com/remarkjs/react-markdown/commit/4346276)
Remove support for passing custom props to components\
**migrate**: see “Remove `includeElementIndex`”, “Remove `rawSourcePos`”,
“Remove `sourcePos`”, “Remove extra props passed to certain components”
below
- [`c0dfbd6`](https://togithub.com/remarkjs/react-markdown/commit/c0dfbd6)
Remove UMD bundle from package\
**migrate**: use `esm.sh` or a CDN or so
- [`e12b5e9`](https://togithub.com/remarkjs/react-markdown/commit/e12b5e9)
Remove `prop-types`\
**migrate**: use TypeScript
- [`4eb7aa0`](https://togithub.com/remarkjs/react-markdown/commit/4eb7aa0)
Change to throw errors for removed props\
**migrate**: don’t pass options that don’t do things
- [`8aabf74`](https://togithub.com/remarkjs/react-markdown/commit/8aabf74)
Change to improve error messages\
**migrate**: expect better messages
##### Add `urlTransform`
The `transformImageUri` and `transformLinkUri` were removed.
Having two functions is a bit much, particularly because there are more URLs
you might want to change (or which might be unsafe so *we* make them safe).
And their name and APIs were a bit weird.
You can use the new `urlTransform` prop instead to change all your URLs.
##### Remove `linkTarget`
The `linkTarget` option was removed; you should likely not set targets.
If you want to, use
[`rehype-external-links`](https://togithub.com/rehypejs/rehype-external-links).
##### Remove `includeElementIndex`
The `includeElementIndex` option was removed, so `index` is never passed to
components.
Write a plugin to pass `index`:
Show example of plugin
```jsx
import {visit} from 'unist-util-visit'
function rehypePluginAddingIndex() {
/**
* @param {import('hast').Root} tree
* @returns {undefined}
*/
return function (tree) {
visit(tree, function (node, index) {
if (node.type === 'element' && typeof index === 'number') {
node.properties === index
}
})
}
}
```
##### Remove `rawSourcePos`
The `rawSourcePos` option was removed, so `sourcePos` is never passed to
components.
All components are passed `node`, so you can get `node.position` from them.
##### Remove `sourcePos`
The `sourcePos` option was removed, so `data-sourcepos` is never passed to
elements.
Write a plugin to pass `index`:
Show example of plugin
```jsx
import {stringifyPosition} from 'unist-util-stringify-position'
import {visit} from 'unist-util-visit'
function rehypePluginAddingIndex() {
/**
* @param {import('hast').Root} tree
* @returns {undefined}
*/
return function (tree) {
visit(tree, function (node) {
if (node.type === 'element') {
node.properties.dataSourcepos = stringifyPosition(node.position)
}
})
}
}
```
##### Remove extra props passed to certain components
When overwriting components, these props are no longer passed:
- `inline` on `code`
— create a plugin or use `pre` for the block
- `level` on `h1`, `h2`, `h3`, `h4`, `h5`, `h6`
— check `node.tagName` instead
- `checked` on `li`
— check `task-list-item` class or check `props.children`
- `index` on `li`
— create a plugin
- `ordered` on `li`
— create a plugin or check the parent
- `depth` on `ol`, `ul`
— create a plugin
- `ordered` on `ol`, `ul`
— check `node.tagName` instead
- `isHeader` on `td`, `th`
— check `node.tagName` instead
- `isHeader` on `tr`
— create a plugin or check children
Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^8.0.7
->^9.0.0
Release Notes
remarkjs/react-markdown (react-markdown)
### [`v9.0.1`](https://togithub.com/remarkjs/react-markdown/releases/tag/9.0.1) [Compare Source](https://togithub.com/remarkjs/react-markdown/compare/9.0.0...9.0.1) - [`d8e3787`](https://togithub.com/remarkjs/react-markdown/commit/d8e3787) Fix double encoding in new url transform - [`55d8d83`](https://togithub.com/remarkjs/react-markdown/commit/55d8d83) Refactor docs to use `createRoot` **Full Changelog**: https://github.com/remarkjs/react-markdown/compare/9.0.0...9.0.1 ### [`v9.0.0`](https://togithub.com/remarkjs/react-markdown/blob/HEAD/changelog.md#900---2023-09-27) [Compare Source](https://togithub.com/remarkjs/react-markdown/compare/8.0.7...9.0.0) - [`b67d714`](https://togithub.com/remarkjs/react-markdown/commit/b67d714) Change to require Node.js 16\ **migrate**: update too - [`ec2b134`](https://togithub.com/remarkjs/react-markdown/commit/ec2b134) Change to require React 18\ **migrate**: update too - [`bf5824f`](https://togithub.com/remarkjs/react-markdown/commit/bf5824f) Change to use `exports`\ **migrate**: don’t use private APIs - [`c383a45`](https://togithub.com/remarkjs/react-markdown/commit/c383a45) Update `@types/hast`, utilities, plugins, etc\ **migrate**: update too - [`eca5e6b`](https://togithub.com/remarkjs/react-markdown/commit/eca5e6b) [`08ead9e`](https://togithub.com/remarkjs/react-markdown/commit/08ead9e) Replace `transformImageUri`, `transformLinkUri` w/ `urlTransform`\ **migrate**: see “Add `urlTransform`” below - [`de29396`](https://togithub.com/remarkjs/react-markdown/commit/de29396) Remove `linkTarget` option\ **migrate**: see “Remove `linkTarget`” below - [`4346276`](https://togithub.com/remarkjs/react-markdown/commit/4346276) Remove support for passing custom props to components\ **migrate**: see “Remove `includeElementIndex`”, “Remove `rawSourcePos`”, “Remove `sourcePos`”, “Remove extra props passed to certain components” below - [`c0dfbd6`](https://togithub.com/remarkjs/react-markdown/commit/c0dfbd6) Remove UMD bundle from package\ **migrate**: use `esm.sh` or a CDN or so - [`e12b5e9`](https://togithub.com/remarkjs/react-markdown/commit/e12b5e9) Remove `prop-types`\ **migrate**: use TypeScript - [`4eb7aa0`](https://togithub.com/remarkjs/react-markdown/commit/4eb7aa0) Change to throw errors for removed props\ **migrate**: don’t pass options that don’t do things - [`8aabf74`](https://togithub.com/remarkjs/react-markdown/commit/8aabf74) Change to improve error messages\ **migrate**: expect better messages ##### Add `urlTransform` The `transformImageUri` and `transformLinkUri` were removed. Having two functions is a bit much, particularly because there are more URLs you might want to change (or which might be unsafe so *we* make them safe). And their name and APIs were a bit weird. You can use the new `urlTransform` prop instead to change all your URLs. ##### Remove `linkTarget` The `linkTarget` option was removed; you should likely not set targets. If you want to, use [`rehype-external-links`](https://togithub.com/rehypejs/rehype-external-links). ##### Remove `includeElementIndex` The `includeElementIndex` option was removed, so `index` is never passed to components. Write a plugin to pass `index`:Show example of plugin
```jsx import {visit} from 'unist-util-visit' function rehypePluginAddingIndex() { /** * @param {import('hast').Root} tree * @returns {undefined} */ return function (tree) { visit(tree, function (node, index) { if (node.type === 'element' && typeof index === 'number') { node.properties === index } }) } } ```Show example of plugin
```jsx import {stringifyPosition} from 'unist-util-stringify-position' import {visit} from 'unist-util-visit' function rehypePluginAddingIndex() { /** * @param {import('hast').Root} tree * @returns {undefined} */ return function (tree) { visit(tree, function (node) { if (node.type === 'element') { node.properties.dataSourcepos = stringifyPosition(node.position) } }) } } ```Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.