1
1
mirror of https://github.com/mdx-js/mdx.git synced 2024-10-04 11:27:12 +03:00

chore: enable prettier for .md/.mdx files - close #844 (#927)

* chore: enable prettier for .md/.mdx files - close #844

* chore: fix some incorrect code types
This commit is contained in:
JounQin 2020-01-28 11:26:56 +08:00 committed by GitHub
parent 8ebde24018
commit 26a3a3c500
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
74 changed files with 965 additions and 916 deletions

View File

@ -6,6 +6,7 @@ public
.next
.*cache
*.min.js
!/.*.js
examples/**/node_modules/**/*.*

View File

@ -1,6 +1,4 @@
.next
dist
node_modules
*.md
*.mdx
*.min.*

21
.remarkrc.js Normal file
View File

@ -0,0 +1,21 @@
const unified = require('unified')
const english = require('retext-english')
const wooorm = require('retext-preset-wooorm')
module.exports = {
plugins: [
'./packages/remark-mdx',
'preset-wooorm',
'preset-prettier',
[
'retext',
unified()
.use(english)
.use(wooorm)
.use({
plugins: [[require('retext-sentence-spacing'), false]]
})
],
['validate-links', false]
]
}

View File

@ -13,10 +13,10 @@ available on [GitHub][design].
### Authors
* [John Otander][john] ([@4lpine][4lpine]) [Compositor][] + [Clearbit][]
* [Tim Neutkens][tim] ([@timneutkens][timneutkens]) [ZEIT][]
* [Guillermo Rauch][guillermo] ([@rauchg][rauchg]) [ZEIT][]
* [Brent Jackson][brent] ([@jxnblk][jxnblk]) [Compositor][]
- [John Otander][john] ([@4lpine][4lpine]) [Compositor][] + [Clearbit][]
- [Tim Neutkens][tim] ([@timneutkens][timneutkens]) [ZEIT][]
- [Guillermo Rauch][guillermo] ([@rauchg][rauchg]) [ZEIT][]
- [Brent Jackson][brent] ([@jxnblk][jxnblk]) [Compositor][]
## Related
@ -31,62 +31,45 @@ PR!
These projects define the syntax which MDX blends together (MD and JSX).
* [Markdown](https://daringfireball.net/projects/markdown/syntax)
* [JSX](https://reactjs.org/docs/introducing-jsx.html)
* [React](https://reactjs.org/)
- [Markdown](https://daringfireball.net/projects/markdown/syntax)
- [JSX](https://reactjs.org/docs/introducing-jsx.html)
- [React](https://reactjs.org/)
### Parsing and implementation
* [remark](https://remark.js.org)
* [unified](https://unifiedjs.com)
* [babel](https://babeljs.io)
- [remark](https://remark.js.org)
- [unified](https://unifiedjs.com)
- [babel](https://babeljs.io)
### Libraries
* [MDXC](https://github.com/jamesknelson/mdxc)
* [Markdown Component Loader](https://github.com/ticky/markdown-component-loader)
* [markdown-in-js](https://github.com/threepointone/markdown-in-js)
* [remark-jsx](https://github.com/fazouane-marouane/remark-jsx)
* [remark-react](https://github.com/mapbox/remark-react)
* [eslint-mdx](https://github.com/rx-ts/eslint-mdx)
- [MDXC](https://github.com/jamesknelson/mdxc)
- [Markdown Component Loader](https://github.com/ticky/markdown-component-loader)
- [markdown-in-js](https://github.com/threepointone/markdown-in-js)
- [remark-jsx](https://github.com/fazouane-marouane/remark-jsx)
- [remark-react](https://github.com/mapbox/remark-react)
- [eslint-mdx](https://github.com/rx-ts/eslint-mdx)
### Other
* [IA Markdown Content Blocks](https://github.com/iainc/Markdown-Content-Blocks)
* [Idyll: Markup language for interactive documents](https://idyll-lang.org)
- [IA Markdown Content Blocks](https://github.com/iainc/Markdown-Content-Blocks)
- [Idyll: Markup language for interactive documents](https://idyll-lang.org)
[github]: https://github.com/mdx-js/mdx
[license]: https://github.com/mdx-js/mdx/blob/master/license
[specification]: https://github.com/mdx-js/specification
[governance]: https://github.com/unifiedjs/collective
[design]: https://github.com/mdx-js/design
[idea]: https://spectrum.chat/thread/1021be59-2738-4511-aceb-c66921050b9a
[john]: https://johno.com
[tim]: https://github.com/timneutkens
[guillermo]: https://rauchg.com
[brent]: https://jxnblk.com
[4lpine]: https://twitter.com/4lpine
[rauchg]: https://twitter.com/rauchg
[timneutkens]: https://twitter.com/timneutkens
[jxnblk]: https://twitter.com/jxnblk
[evil rabbit]: https://twitter.com/evilrabbit_
[compositor]: https://compositor.io
[zeit]: https://zeit.co
[clearbit]: https://clearbit.com

View File

@ -11,8 +11,8 @@ the JSX string is created.
## Table of Contents
* [Async API](#async-api)
* [Sync API](#sync-api)
- [Async API](#async-api)
- [Sync API](#sync-api)
## Async API
@ -26,7 +26,7 @@ You should use the async API, unless you have very good reasons to use the
You can use the library directly:
```js
var mdx = require("@mdx-js/mdx")
var mdx = require('@mdx-js/mdx')
const content = `
# Hello, world!
@ -65,7 +65,7 @@ import TomatoBox from 'tomato-box'
const MDXLayout = props => <main {...props} />
const layoutProps = {
author: "Fred Flintstone"
author: 'Fred Flintstone'
}
export default function MDXContent(props) {
@ -77,10 +77,10 @@ export default function MDXContent(props) {
<TomatoBox />
</MDXLayout>
</div>
);
)
}
MDXContent.isMDXComponent = true;
MDXContent.isMDXComponent = true
```
This is pretty powerful because the output is rather readable.
@ -116,13 +116,8 @@ const jsx = mdx.sync(mdxText)
MDXs [runtime][] package has [example][] usage.
[ast]: /advanced/ast
[plugins]: /plugins
[async]: #async-api
[sync]: #sync-api
[runtime]: /advanced/runtime
[example]: https://github.com/mdx-js/mdx/blob/d5a5189e715dc28370de13f6cc0fd18a06f0f122/packages/runtime/src/index.js#L16-L18

View File

@ -1,11 +1,16 @@
import { Button } from '@rebass/emotion'
import {Button} from '@rebass/emotion'
# AST
export const AST_EXPLORER_LINK = 'https://astexplorer.net/#/gist/2befce6edce1475eb4bbec001356b222/35997d3b44347daabad8dd1a107adc22dd873de2'
export const AST_EXPLORER_LINK =
'https://astexplorer.net/#/gist/2befce6edce1475eb4bbec001356b222/35997d3b44347daabad8dd1a107adc22dd873de2'
<Button as="a" href={AST_EXPLORER_LINK}>Explore the AST</Button>
<Button as="a" ml={2} href="/playground">Use the Playground</Button>
<Button as="a" href={AST_EXPLORER_LINK}>
Explore the AST
</Button>
<Button as="a" ml={2} href="/playground">
Use the Playground
</Button>
MDX, the library, uses two syntax trees.
The first, [MDXAST][], represents markdown with embedded JSX, and is a superset of [mdast][].
@ -22,10 +27,10 @@ languages created by the community.
The majority of the MDXAST specification is defined by [mdast][].
MDXAST is a superset with the following additional node types:
* `jsx` (instead of `html`)
* `comment` (instead of `html` comments)
* `import`
* `export`
- `jsx` (instead of `html`)
- `comment` (instead of `html` comments)
- `import`
- `export`
Any MDX document without those constructs is valid [mdast][].
@ -39,29 +44,21 @@ its defined by [hast][] already.
MDXAST defines the following additional node types:
* `jsx` (instead of `html`)
* `import`
* `export`
* `inlineCode`
- `jsx` (instead of `html`)
- `import`
- `export`
- `inlineCode`
`inlineCode` is there to accurately represent Markdowns inline code.
For more information, see the [MDXHAST][] specification.
[mdxast]: #mdxast
[mdxhast]: #mdxhast
[comment]: #comment
[mdast]: https://github.com/syntax-tree/mdast
[hast]: https://github.com/syntax-tree/hast
[specification]: https://github.com/mdx-js/specification
[remark]: https://github.com/remarkjs/remark
[rehype]: https://github.com/rehypejs/rehype
[unified]: https://github.com/unifiedjs/unified

View File

@ -65,14 +65,19 @@ JSX pragma will pull the component from context and use that in place of the
stubbed `Button`:
```js
const makeShortcode = name => function MDXDefaultShortcode(props) {
console.warn("Component " + name + " was not imported, exported, or provided by MDXProvider as global scope")
return <div {...props}/>
}
const makeShortcode = name =>
function MDXDefaultShortcode(props) {
console.warn(
'Component ' +
name +
' was not imported, exported, or provided by MDXProvider as global scope'
)
return <div {...props} />
}
// This will be ignored by MDX if you wrap your MDX document with
// <MDXProvider components={{ Button: MyCustomButton }}>
const Button = makeShortcode("Button")
const Button = makeShortcode('Button')
```
## `isMDXComponent`
@ -112,9 +117,9 @@ state object:
```js
import React from 'react'
import { MDXProvider } from '@mdx-js/react'
import {MDXProvider} from '@mdx-js/react'
import { Heading, Text, Pre, Code, Table } from './components'
import {Heading, Text, Pre, Code, Table} from './components'
export default class Layout extends React.Component {
state = {

View File

@ -1,3 +1,3 @@
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
<Redirect to='/contributing' />
<Redirect to="/contributing" />

View File

@ -6,17 +6,17 @@ Most of the time, it “Just Works”.
But there are some reasons to interact with the MDX library and its internals
directly.
* [API](/advanced/api)
- [API](/advanced/api)
— learn about the async and sync MDX API
* [Runtime](/advanced/runtime)
- [Runtime](/advanced/runtime)
— learn how to use MDX in a runtime environment (typically discouraged)
* [AST](/advanced/ast)
- [AST](/advanced/ast)
— learn about the intermediate abstract syntax tree
* [Components](/advanced/components)
- [Components](/advanced/components)
— learn about the generated JSX
* [remark and rehype plugins](/advanced/plugins)
- [remark and rehype plugins](/advanced/plugins)
— learn how to inspect and change the syntax tree
* [transform content](/advanced/transform-content)
- [transform content](/advanced/transform-content)
— learn how to interact with or manipulate raw MDX content
[getting-started]: /getting-started

View File

@ -25,8 +25,8 @@ table of contents][remark-toc], and many more.
For more information, see the following links:
* [List of remark plugins][remark-plugins]
* [List of rehype plugins][rehype-plugins]
- [List of remark plugins][remark-plugins]
- [List of rehype plugins][rehype-plugins]
Creating a plugin for MDX is mostly the same as creating a plugin for remark
or rehype.
@ -120,8 +120,7 @@ const retextSmartypants = require('retext-smartypants')
const mdx = require('@mdx-js/mdx')
function remarkSmartypants(options) {
const processor = retext()
.use(retextSmartypants, options)
const processor = retext().use(retextSmartypants, options)
function transformer(tree) {
visit(tree, 'text', node => {
@ -141,33 +140,21 @@ mdx.sync(mdxText, {
// regular quotes → smart quotes,
// triple dash → em dash
// etc.
[remarkSmartypants, { dashes: 'oldschool' }]
[remarkSmartypants, {dashes: 'oldschool'}]
]
})
```
[ast]: /advanced/ast
[write-plugin]: /guides/writing-a-plugin
[remark]: https://github.com/remarkjs/remark
[rehype]: https://github.com/rehypejs/rehype
[remark-capitalize]: https://github.com/zeit/remark-capitalize
[remark-toc]: https://github.com/remarkjs/remark-toc
[remark-plugins]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md#list-of-plugins
[rehype-plugins]: https://github.com/rehypejs/rehype/blob/master/doc/plugins.md#list-of-plugins
[retext]: https://github.com/retextjs/retext
[remarkjs/remark#224]: https://github.com/remarkjs/remark/issues/224
[visit]: https://github.com/syntax-tree/unist-util-visit
[retext-smartypants]: https://github.com/retextjs/retext-smartypants
[create-plugin]: https://unifiedjs.com/create-a-plugin.html

View File

@ -1,3 +1,3 @@
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
<Redirect to='/advanced/using-plugins#using-retext-plugins' />
<Redirect to="/advanced/using-plugins#using-retext-plugins" />

View File

@ -1,3 +1,3 @@
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
<Redirect to='/advanced/ast' />
<Redirect to="/advanced/ast" />

View File

@ -1,3 +1,3 @@
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
<Redirect to='/advanced/api#sync-api' />
<Redirect to="/advanced/api#sync-api" />

View File

@ -15,12 +15,12 @@ Lets see an example of what we have explained so far.
Say we have the following file, `example.mdx`:
```md
import Component from 'Component';
```mdx
import Component from 'Component'
export const meta = {
prop: 'value'
};
}
# Title
@ -33,24 +33,24 @@ And our script, `example.js`, looks as follows:
```js
const {read, write} = require('to-vfile')
const remark = require('remark');
const mdx = require('remark-mdx');
const remark = require('remark')
const mdx = require('remark-mdx')
(async () => {
const path = './example.mdx';
const file = await read(path);
;(async () => {
const path = './example.mdx'
const file = await read(path)
const contents = await remark()
.use(mdx)
.use(() => (tree) => {
.use(() => tree => {
console.log(tree)
})
.process(file);
.process(file)
await write({
path,
contents
})
})();
})()
```
Now, running `node example.js` yields:
@ -89,21 +89,12 @@ generated table of contents based on the other content in the MDX file or
save the modified content back to the original file.
[ast]: /advanced/ast
[mdxast]: /advanced/ast#mdxast
[remark]: https://github.com/remarkjs/remark
[remark-mdx]: https://github.com/mdx-js/mdx/tree/master/packages/remark-mdx
[remark-mdx-metadata]: https://github.com/manovotny/remark-mdx-metadata
[remark-plugins]: /advanced/plugins
[remark-toc]: https://github.com/remarkjs/remark-toc
[to-vfile]: https://github.com/vfile/to-vfile
[unified]: https://unifiedjs.com
[writing-a-plugin]: /guides/writing-a-plugin

View File

@ -38,7 +38,7 @@ declare module '@mdx-js/react' {
| 'img'
export type Components = {
[key in ComponentType]?: React.ComponentType<{ children: React.ReactNode }>
[key in ComponentType]?: React.ComponentType<{children: React.ReactNode}>
}
export interface MDXProviderProps {
@ -49,10 +49,10 @@ declare module '@mdx-js/react' {
}
```
If you want to improve upon the types we would *love* a PR to
If you want to improve upon the types we would _love_ a PR to
improve the developer experience for TypeScript users.
* * *
---
If youre getting errors from TypeScript related to imports with an `*.mdx`
extension, create an `mdx.d.ts` file in your types directory and include it

View File

@ -225,7 +225,7 @@ the webpack (or other bundlers) loader, swapping the pragma can be an
option in mdx-loader as long as we have a Vue `createElement` to point
to.
* * *
---
Written by [Chris Biscardi](https://christopherbiscardi.com)

View File

@ -1,5 +1,5 @@
# Blog
* [Shortcodes](/blog/shortcodes)
* [V1: MDX goes stable](/blog/v1)
* [Custom pragma](/blog/custom-pragma)
- [Shortcodes](/blog/shortcodes)
- [V1: MDX goes stable](/blog/v1)
- [Custom pragma](/blog/custom-pragma)

View File

@ -1,4 +1,4 @@
import { Button } from '@rebass/emotion'
import {Button} from '@rebass/emotion'
[MDX Blog](/blog)
@ -16,15 +16,13 @@ you can add in components with the `MDXProvider`:
```js
// src/App.js
import React from 'react'
import { MDXProvider } from '@mdx-js/react'
import { YouTube, Twitter, TomatoBox } from './ui'
import {MDXProvider} from '@mdx-js/react'
import {YouTube, Twitter, TomatoBox} from './ui'
const shortcodes = { YouTube, Twitter, TomatoBox }
const shortcodes = {YouTube, Twitter, TomatoBox}
export default ({ children }) => (
<MDXProvider components={shortcodes}>
{children}
</MDXProvider>
export default ({children}) => (
<MDXProvider components={shortcodes}>{children}</MDXProvider>
)
```
@ -35,7 +33,7 @@ MDX document with JSX.
`example.mdx`
```md
```mdx
# Hello world!
Heres a YouTube shortcode:
@ -51,16 +49,19 @@ Heres a YouTube shortcode wrapped in TomatoBox:
Thats it. :tada: :rocket:
<Button as="a" href="https://codesandbox.io/s/github/mdx-js/mdx/tree/master/examples/shortcodes">
<Button
as="a"
href="https://codesandbox.io/s/github/mdx-js/mdx/tree/master/examples/shortcodes"
>
Try it on CodeSandbox
</Button>
* * *
---
Huge thanks to [Chris Biscardi](https://christopherbiscardi.com)
for building out most of this functionality.
* * *
---
Written by [John Otander](https://johno.com)

View File

@ -4,7 +4,7 @@
Its been a year and a half since the first MDX commit and a year since MDX was first announced at
ZEIT Day. MDX is a radical paradigm shift in how to write immersive content using components. Its
an open, [authorable format](https://johno.com/authorable-format) that makes it *fun* to write again.
an open, [authorable format](https://johno.com/authorable-format) that makes it _fun_ to write again.
Since announcing MDX weve been working on numerous bug fixes, new features, better parsing, and integration
tests. Now, we think its ready. **Were happy to finally release v1!**
@ -24,8 +24,8 @@ Please open an issue if you find a case we havent covered! 😸
### remark-mdx
`remark-mdx` is the syntactic extension for MDX in remark. It provides the parsing functionality for
MDX as a *[remark](https://github.com/remarkjs/remark) plugin*. That sounds a bit meta. What it means
is that before we had the syntax parsing bits *in* the library (unusable from the outside), and now its
MDX as a _[remark](https://github.com/remarkjs/remark) plugin_. That sounds a bit meta. What it means
is that before we had the syntax parsing bits _in_ the library (unusable from the outside), and now its
externalized (usable from the outside). This is useful if you want to inspect or transform MDX documents.
For example, it allows tools like prettier to use the exact same parser used by MDX core. Or you could
use `remark-mdx` in combination with [remark-lint](https://github.com/remarkjs/remark-lint) to check your
@ -46,12 +46,12 @@ Special thanks to [@christopherbiscardi](https://github.com/christopherbiscardi)
**Good libraries need great docs**, so weve been working on adding content and improving the overall documentation
website experience.
* [Search (thanks Algolia)](https://mobile.twitter.com/4lpine/status/1114270174096412672)
* [Guides](https://mdxjs.com)
* [Automatic deployment via ZEIT](https://zeit.co)
* [Custom Gatsby theme](https://gatsbyjs.org)
* Reorganization of docs for intuitiveness
* Full page rewrites to improve clarity
- [Search (thanks Algolia)](https://mobile.twitter.com/4lpine/status/1114270174096412672)
- [Guides](https://mdxjs.com)
- [Automatic deployment via ZEIT](https://zeit.co)
- [Custom Gatsby theme](https://gatsbyjs.org)
- Reorganization of docs for intuitiveness
- Full page rewrites to improve clarity
Special thanks to [@jxnblk](https://github.com/jxnblks) and [@wooorm](https://github.com/wooorm) for their help
improving the docs and updating the build tooling.
@ -63,9 +63,9 @@ result of real-world production testing and feedback**. The community has evolv
newer, better ideas over the last year. We have made sure the impact is small and have written a full
migration guide.
* 🚨`@mdx-js/tag` is replaced by `@mdx-js/react` and an `@mdx` pragma - [migration guide](/migrating/v1#pragma)
* MDXProvider now merges component contexts when nested - [migration guide](/migrating/v1#mdxprovider)
* React support now requires `>= 16.8` in `@mdx-js/react` - [migration guide](/migrating/v1#react)
- 🚨`@mdx-js/tag` is replaced by `@mdx-js/react` and an `@mdx` pragma - [migration guide](/migrating/v1#pragma)
- MDXProvider now merges component contexts when nested - [migration guide](/migrating/v1#mdxprovider)
- React support now requires `>= 16.8` in `@mdx-js/react` - [migration guide](/migrating/v1#react)
[Read the full v1 migration guide](/migrating/v1)
@ -83,11 +83,11 @@ seen projects/products/application we never even imagined.
### Numbers
* **Downloads**: 125,000/week, 2.4M total
* **Stars**: 6,200
* **Contributors**: 50
* **Pull requests**: 281
* **Commits**: 670
- **Downloads**: 125,000/week, 2.4M total
- **Stars**: 6,200
- **Contributors**: 50
- **Pull requests**: 281
- **Commits**: 670
The contributor growth is one of the most important aspects here as we have numerous community members that are familiar
with MDX internals. This allows us to continually improve the project and spread the workload against an ever growing
@ -97,29 +97,29 @@ team of contributors.
### Ecosystem
* [Prettier](https://prettier.io)
* [Docz](https://docz.site)
* [MDX Deck](https://github.com/jxnblk/mdx-deck)
* [Next.js](https://nextjs.org)
* [Gatsby](https://gatsbyjs.org)
* [AST Explorer](https://astexplorer.net)
* [Vue support (alpha)](/vue)
* [Demoboard](https://frontarm.com/demoboard/)
* [Editors](/editors)
- [Prettier](https://prettier.io)
- [Docz](https://docz.site)
- [MDX Deck](https://github.com/jxnblk/mdx-deck)
- [Next.js](https://nextjs.org)
- [Gatsby](https://gatsbyjs.org)
- [AST Explorer](https://astexplorer.net)
- [Vue support (alpha)](/vue)
- [Demoboard](https://frontarm.com/demoboard/)
- [Editors](/editors)
## 🛣 Roadmap
With v1 released we have a roadmap in place that well continue working towards over the next 6 months or
so in addition to bug fixes and parsing issues we might encounter.
* MDXs: [#454](https://github.com/mdx-js/mdx/issues/454)
* Interleaving: [#195](https://github.com/mdx-js/mdx/issues/195)
* Global shortcodes: [#508](https://github.com/mdx-js/mdx/pull/508)
* Stable Vue support: [#238](https://github.com/mdx-js/mdx/issues/238)
* Blocks: MDX WYSIWYG: [blocks/blocks](https://github.com/blocks/blocks)
* MDX playground inspired by AST Explorer: [#220](https://github.com/mdx-js/mdx/issues/220)
* New splash page: [#444](https://github.com/mdx-js/mdx/issues/444)
* Showcase page: [#414](https://github.com/mdx-js/mdx/issues/414)
- MDXs: [#454](https://github.com/mdx-js/mdx/issues/454)
- Interleaving: [#195](https://github.com/mdx-js/mdx/issues/195)
- Global shortcodes: [#508](https://github.com/mdx-js/mdx/pull/508)
- Stable Vue support: [#238](https://github.com/mdx-js/mdx/issues/238)
- Blocks: MDX WYSIWYG: [blocks/blocks](https://github.com/blocks/blocks)
- MDX playground inspired by AST Explorer: [#220](https://github.com/mdx-js/mdx/issues/220)
- New splash page: [#444](https://github.com/mdx-js/mdx/issues/444)
- Showcase page: [#414](https://github.com/mdx-js/mdx/issues/414)
### Vue support
@ -145,11 +145,11 @@ When we have a beta ready we will be open sourcing it and announcing, so stay tu
MDX is part of the unified collective, which is an open source ecosystem for dealing with many sources of content. unified
projects are used all over the web, and it would never be possible without financial support from our fine sponsors.
* [ZEIT](https://zeit.co) 🥇
* [Gatsby](https://gatsbyjs.org) 🥇
* [Holloway](https://www.holloway.com) 🥉
* [Backers](https://opencollective.com/unified#budget) 🏆
* [You?](https://opencollective.com/unified) 👤
- [ZEIT](https://zeit.co) 🥇
- [Gatsby](https://gatsbyjs.org) 🥇
- [Holloway](https://www.holloway.com) 🥉
- [Backers](https://opencollective.com/unified#budget) 🏆
- [You?](https://opencollective.com/unified) 👤
## 🙏 Thanks
@ -188,7 +188,7 @@ Wed like to say thanks to all our contributors and our happy users. Special
[@sw-yx](https://github.com/sw-yx),
and anyone we may have forgotten.
* * *
---
Written by [John Otander](https://johno.com)

View File

@ -15,21 +15,21 @@ free customer service.
## Table of Contents
* [Support](#support)
* [Contributions](#contributions)
* [Financial support](#financial-support)
* [Improve documentation](#improve-documentation)
* [Improve issues](#improve-issues)
* [Give feedback on issues and pull requests](#give-feedback-on-issues-and-pull-requests)
* [Write code](#write-code)
* [Running the tests](#running-the-tests)
* [Running the docs site](#running-the-docs-site)
* [Submitting an issue](#submitting-an-issue)
* [Submitting a pull request](#submitting-a-pull-request)
* [Project structure](#project-structure)
* [Releases](#releases)
* [Troubleshooting](#troubleshooting)
* [Resources](#resources)
- [Support](#support)
- [Contributions](#contributions)
- [Financial support](#financial-support)
- [Improve documentation](#improve-documentation)
- [Improve issues](#improve-issues)
- [Give feedback on issues and pull requests](#give-feedback-on-issues-and-pull-requests)
- [Write code](#write-code)
- [Running the tests](#running-the-tests)
- [Running the docs site](#running-the-docs-site)
- [Submitting an issue](#submitting-an-issue)
- [Submitting a pull request](#submitting-a-pull-request)
- [Project structure](#project-structure)
- [Releases](#releases)
- [Troubleshooting](#troubleshooting)
- [Resources](#resources)
## Support
@ -91,48 +91,48 @@ you can list out all workspaces with `yarn workspaces info`.
## Submitting an issue
* The issue tracker is for issues. Use chat for support
* Search the issue tracker (including closed issues) before opening a new
- The issue tracker is for issues. Use chat for support
- Search the issue tracker (including closed issues) before opening a new
issue
* Ensure youre using the latest version of our packages
* Use a clear and descriptive title
* Include as much information as possible: steps to reproduce the issue,
- Ensure youre using the latest version of our packages
- Use a clear and descriptive title
- Include as much information as possible: steps to reproduce the issue,
error message, version, operating system, etcetera
* The more time you put into an issue, the better we will be able to help you
* The best issue report is a [failing test][unit-test] proving it
- The more time you put into an issue, the better we will be able to help you
- The best issue report is a [failing test][unit-test] proving it
## Submitting a pull request
* Non-trivial changes are often best discussed in an issue first, to prevent
- Non-trivial changes are often best discussed in an issue first, to prevent
you from doing unnecessary work
* For ambitious tasks, you should try to get your work in front of the
- For ambitious tasks, you should try to get your work in front of the
community for feedback as soon as possible
* New features should be accompanied with tests and documentation
* Dont include unrelated changes
* Test before submitting code by running `yarn test`
* Write a convincing description of why we should land your pull request:
- New features should be accompanied with tests and documentation
- Dont include unrelated changes
- Test before submitting code by running `yarn test`
- Write a convincing description of why we should land your pull request:
its your job to convince us
## Project structure
MDX is a monorepo that uses [lerna][].
* All packages are found in `./packages`
* All documentation is found in `./docs` and can be viewed with `yarn docs -- -o`
* Theres an `./examples` directory where examples for different tools and
- All packages are found in `./packages`
- All documentation is found in `./docs` and can be viewed with `yarn docs -- -o`
- Theres an `./examples` directory where examples for different tools and
frameworks
## Releases
In order to release a new version you can follow these steps:
* Draft a release for the next version (vX.X.X)
* Release a prerelease
* `yarn lerna publish`
* Select prepatch/preminor/premajor
* Sanity check in a project or two with the prerelease
* `yarn lerna publish`
* Publish release on GitHub
- Draft a release for the next version (vX.X.X)
- Release a prerelease
- `yarn lerna publish`
- Select prepatch/preminor/premajor
- Sanity check in a project or two with the prerelease
- `yarn lerna publish`
- Publish release on GitHub
## Troubleshooting
@ -142,24 +142,18 @@ If youre having issues installing locally you might need to run
## Resources
* [Good first issues in the MDX repository](https://github.com/mdx-js/mdx/labels/good%20first%20issue%20👋)
* [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
* [Making your first contribution](https://medium.com/@vadimdemedes/making-your-first-contribution-de6576ddb190)
* [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
* [GitHub Help](https://help.github.com)
- [Good first issues in the MDX repository](https://github.com/mdx-js/mdx/labels/good%20first%20issue%20👋)
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
- [Making your first contribution](https://medium.com/@vadimdemedes/making-your-first-contribution-de6576ddb190)
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
- [GitHub Help](https://help.github.com)
<!-- Definitions -->
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[support]: https://mdxjs.com/support
[unit-test]: https://twitter.com/sindresorhus/status/579306280495357953
[collective]: https://opencollective.com/unified
[micromark]: https://github.com/micromark/micromark
[lerna]: https://lernajs.io
[lerna-install]: https://github.com/lerna/lerna/issues/1457

View File

@ -2,27 +2,23 @@
The community has begun adding MDX syntax highlighting support for some editors!
* [vscode][]: VSCode
* [vscode-mdx-preview][]: MDX Preview for VS Code
* [vim][]: Vim
* [sublime][]: Sublime
- [vscode][]: VSCode
- [vscode-mdx-preview][]: MDX Preview for VS Code
- [vim][]: Vim
- [sublime][]: Sublime
### Editors needing support
* Atom
* Emacs
* [JetBrains IntelliJ/WebStorm][jetbrains]
- Atom
- Emacs
- [JetBrains IntelliJ/WebStorm][jetbrains]
* * *
---
Original GitHub issue: [#119](https://github.com/mdx-js/mdx/issues/119)
[vscode]: https://github.com/silvenon/vscode-mdx
[vscode-mdx-preview]: https://github.com/xyc/vscode-mdx-preview
[vim]: https://github.com/jxnblk/vim-mdx-js
[sublime]: https://github.com/jonsuh/mdx-sublime
[jetbrains]: https://youtrack.jetbrains.com/issue/WEB-32599

View File

@ -6,10 +6,7 @@ at your project root.
```json
{
"presets": [
"@babel/env",
"@babel/react"
]
"presets": ["@babel/env", "@babel/react"]
}
```

View File

@ -17,10 +17,10 @@ Then create the following `src/App.js`:
```js
// src/App.js
import React, { lazy, Component, Suspense } from 'react';
import { importMDX } from 'mdx.macro';
import React, {lazy, Component, Suspense} from 'react'
import {importMDX} from 'mdx.macro'
const Content = lazy(() => importMDX('./Content.mdx'));
const Content = lazy(() => importMDX('./Content.mdx'))
class App extends Component {
render() {
@ -30,11 +30,11 @@ class App extends Component {
<Content />
</Suspense>
</div>
);
)
}
}
export default App;
export default App
```
And then create the following `src/Content.mdx`:
@ -46,7 +46,5 @@ And then create the following `src/Content.mdx`:
[See the full example][cra-example]
[mdx-macro]: https://www.npmjs.com/package/mdx.macro
[cra-example]: https://github.com/mdx-js/mdx/tree/master/examples/create-react-app
[known bug]: https://github.com/facebook/create-react-app/issues/5580

View File

@ -35,7 +35,5 @@ For more documentation on programmatically creating pages with Gatsby, see
the [Gatsby MDX docs][gatsby-mdx-docs].
[gatsby]: https://gatsbyjs.org
[gatsby-mdx-docs]: https://gatsbyjs.org/docs/mdx/
[gatsby-plugin-mdx]: https://gatsbyjs.org/packages/gatsby-plugin-mdx/

View File

@ -1,4 +1,4 @@
import { Box } from '@rebass/emotion'
import {Box} from '@rebass/emotion'
# Getting Started
@ -26,17 +26,17 @@ the installation guides.
## Table of contents
* [Hello World](#hello-world)
* [Syntax](#syntax)
* [Markdown](#markdown)
* [JSX](#jsx)
* [MDX](#mdx)
* [Working with components](#working-with-components)
* [MDXProvider](#mdxprovider)
* [Table of components](#table-of-components)
* [Installation guides](#installation-guides)
* [Scaffold out an app](#scaffold-out-an-app)
* [Do it yourself](#do-it-yourself)
- [Hello World](#hello-world)
- [Syntax](#syntax)
- [Markdown](#markdown)
- [JSX](#jsx)
- [MDX](#mdx)
- [Working with components](#working-with-components)
- [MDXProvider](#mdxprovider)
- [Table of components](#table-of-components)
- [Installation guides](#installation-guides)
- [Scaffold out an app](#scaffold-out-an-app)
- [Do it yourself](#do-it-yourself)
## Hello World
@ -70,14 +70,14 @@ Instead of the following HTML:
```html
<blockquote>
<p>A blockquote with <em>some</em> emphasis.</p>
<p>A blockquote with <em>some</em> emphasis.</p>
</blockquote>
```
You can write the equivalent in Markdown (or MDX) like so:
```markdown
> A blockquote with *some* emphasis.
> A blockquote with _some_ emphasis.
```
Markdown is good for **content**.
@ -194,7 +194,7 @@ Say we import our MDX file, using webpack and React, like so:
```jsx
// index.js
import React from 'react'
import MDXDocument, { metadata } from 'posts/post.mdx'
import MDXDocument, {metadata} from 'posts/post.mdx'
export default () => (
<>
@ -225,7 +225,9 @@ After bundling and evaluating, we could get something like this:
```html
<h1>Post about MDX</h1>
<p>MDX is a JSX in Markdown loader, parser, and renderer for ambitious projects.</p>
<p>
MDX is a JSX in Markdown loader, parser, and renderer for ambitious projects.
</p>
<footer><p>By: Sue, Fred.</p></footer>
```
@ -262,8 +264,8 @@ component youd like to render.
import React from 'react'
import Hello from '../hello.mdx'
const MyH1 = props => <h1 style={{ color: 'tomato' }} {...props} />
const MyParagraph = props => <p style={{ fontSize: '18px', lineHeight: 1.6 }} />
const MyH1 = props => <h1 style={{color: 'tomato'}} {...props} />
const MyParagraph = props => <p style={{fontSize: '18px', lineHeight: 1.6}} />
const components = {
h1: MyH1,
@ -279,14 +281,9 @@ You can also import your components from another location like your UI library:
import React from 'react'
import Hello from '../hello.mdx'
import {
Text,
Heading,
Code,
InlineCode
} from '../my-ui-library'
import {Text, Heading, Code, InlineCode} from '../my-ui-library'
export default () =>
export default () => (
<Hello
components={{
h1: Heading,
@ -295,6 +292,7 @@ export default () =>
inlineCode: InlineCode
}}
/>
)
```
With the above, the `Heading` component will be rendered for any `h1`, `Text`
@ -313,9 +311,9 @@ the `MDXProvider` to only pass your components in one place:
```jsx
// src/App.js
import React from 'react'
import { MDXProvider } from '@mdx-js/react'
import {MDXProvider} from '@mdx-js/react'
import { Heading, Text, Pre, Code, Table } from './components'
import {Heading, Text, Pre, Code, Table} from './components'
const components = {
h1: Heading.H1,
@ -326,10 +324,11 @@ const components = {
inlineCode: Code
}
export default props =>
export default props => (
<MDXProvider components={components}>
<main {...props} />
</MDXProvider>
)
```
This allows you to remove duplicated component passing and importing.
@ -345,14 +344,15 @@ styling, or even manipulate the children passed to the component.
```js
// src/App.js
import React from 'react'
import { MDXProvider } from '@mdx-js/react'
import {MDXProvider} from '@mdx-js/react'
const Wrapper = props => <main style={{ padding: '20px', backgroundColor: 'tomato' }} {...props} />
const Wrapper = props => (
<main style={{padding: '20px', backgroundColor: 'tomato'}} {...props} />
)
export default ({ children }) =>
<MDXProvider components={{ wrapper: Wrapper }}>
{children}
</MDXProvider>
export default ({children}) => (
<MDXProvider components={{wrapper: Wrapper}}>{children}</MDXProvider>
)
```
If you would like to see more advanced usage, see the
@ -364,7 +364,7 @@ Sometimes from an MDX file you might want to override the wrapper.
This is especially useful when you want to override layout for a single entry
point at the page level.
To achieve this you can use the ES default [export][] and it will wrap your MDX
document *instead* of the wrapper passed to MDXProvider.
document _instead_ of the wrapper passed to MDXProvider.
You can declare a default export as a function:
@ -434,13 +434,13 @@ Now that weve gone over how MDX works, youre ready to get installing.
If youre the type of person that wants to scaffold out an app quickly and start
playing around you can use `npm init`:
* `npm init mdx` [`webpack`](/getting-started/webpack)
* `npm init mdx` [`parcel`](/getting-started/parcel)
* `npm init mdx` [`next`](/getting-started/next)
* `npm init mdx` [`create-react-app`](/getting-started/create-react-app)
* `npm init mdx` [`gatsby`](/getting-started/gatsby)
* `npm init mdx` [`x0`](/getting-started/x0)
* `npm init mdx` [`react-static`](/getting-started/react-static)
- `npm init mdx` [`webpack`](/getting-started/webpack)
- `npm init mdx` [`parcel`](/getting-started/parcel)
- `npm init mdx` [`next`](/getting-started/next)
- `npm init mdx` [`create-react-app`](/getting-started/create-react-app)
- `npm init mdx` [`gatsby`](/getting-started/gatsby)
- `npm init mdx` [`x0`](/getting-started/x0)
- `npm init mdx` [`react-static`](/getting-started/react-static)
### Do it yourself
@ -491,21 +491,12 @@ const renderWithReact = async mdxCode => {
```
[imports]: #imports
[exports]: #exports
[components]: #table-of-components
[md]: https://daringfireball.net/projects/markdown/syntax
[jsx]: https://reactjs.org/docs/introducing-jsx.html
[import]: https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/import
[export]: https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export
[rebass]: https://rebassjs.org
[transclude]: https://en.wikipedia.org/wiki/Transclusion
[context]: https://reactjs.org/docs/context.html

View File

@ -1,3 +1,3 @@
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
<Redirect to='/advanced/typescript' />
<Redirect to="/advanced/typescript" />

View File

@ -29,10 +29,7 @@ module.exports = {
{
test: /\.mdx?$/,
use: [
'babel-loader',
'@mdx-js/loader'
]
use: ['babel-loader', '@mdx-js/loader']
}
]
}
@ -42,7 +39,7 @@ module.exports = {
If you only want the loader for `.mdx` files you can change the regex to `/\.mdx$/`.
The transpiled output for MDX requires [babel][] to be run. This is typically
by adding in the babel-loader to run *after* the MDX loader. Webpack starts
by adding in the babel-loader to run _after_ the MDX loader. Webpack starts
from the end of the loaders array and works backward, so it is important to
follow the ordering above.
@ -94,5 +91,4 @@ module.exports = {
<BabelConfig />
[babel-loader]: https://webpack.js.org/loaders/babel-loader/
[babel]: https://babeljs.io

View File

@ -28,10 +28,10 @@ the box. For components requiring providers you will need to use customize
import React from 'react'
import * as Rebass from 'rebass'
import createScope from '@rebass/markdown'
import { ScopeProvider } from '@compositor/x0/components'
import {ScopeProvider} from '@compositor/x0/components'
export default ({ route, routes, ...props }) => (
<ScopeProvider scope={{ ...Rebass, ...createScope() }}>
export default ({route, routes, ...props}) => (
<ScopeProvider scope={{...Rebass, ...createScope()}}>
<Rebass.Provider>
<Rebass.Container {...props} />
</Rebass.Provider>
@ -40,5 +40,4 @@ export default ({ route, routes, ...props }) => (
```
[x0]: https://compositor.io/x0
[rebass]: https://rebassjs.com

View File

@ -27,7 +27,7 @@ Zero has some additional features for MDX, you can [read them here](https://gith
## Resources
* [Example Project](https://github.com/mdx-js/mdx/tree/master/examples/zero)
* [Zero GitHub](https://github.com/remoteinterview/zero/)
* [Zero Website](https://zeroserver.io/)
* [Zero MDX Docs](https://github.com/remoteinterview/zero/tree/master/docs/mdx)
- [Example Project](https://github.com/mdx-js/mdx/tree/master/examples/zero)
- [Zero GitHub](https://github.com/remoteinterview/zero/)
- [Zero Website](https://zeroserver.io/)
- [Zero MDX Docs](https://github.com/remoteinterview/zero/tree/master/docs/mdx)

View File

@ -9,9 +9,9 @@ Consider a scenario where you wanted to add frontmatter support to all your MDX
const matter = require('gray-matter')
const stringifyObject = require('stringify-object')
module.exports = async function (src) {
module.exports = async function(src) {
const callback = this.async()
const { content, data } = matter(src)
const {content, data} = matter(src)
const code = `export const frontMatter = ${stringifyObject(data)}
@ -43,5 +43,4 @@ module.exports = {
```
[webpack-loader]: https://webpack.js.org/contribute/writing-a-loader
[x0]: https://github.com/c8r/x0/blob/master/lib/mdx-fm-loader.js

View File

@ -5,11 +5,11 @@ for common use cases, tools, and patterns.
Its intended to become the central knowledge base for MDX, so please feel free
to add to them by [contributing](/contributing)!
* [Add syntax highlighting to code blocks](/guides/syntax-highlighting)
* [Add a live code block](/guides/live-code)
* [Render MDX to the terminal](/guides/terminal)
* [**\[WIP\]** Implement a dynamic table of contents](/guides/table-of-contents)
* [**\[WIP\]** Use MDX in a Vue project](/guides/vue)
- [Add syntax highlighting to code blocks](/guides/syntax-highlighting)
- [Add a live code block](/guides/live-code)
- [Render MDX to the terminal](/guides/terminal)
- [**\[WIP\]** Implement a dynamic table of contents](/guides/table-of-contents)
- [**\[WIP\]** Use MDX in a Vue project](/guides/vue)
## Customizing
@ -17,6 +17,6 @@ At its core MDX is minimal and unopinionated, so theres often a need to
customize it.
Here are a few ways to do that:
* [Write a custom remark plugin](/guides/writing-a-plugin)
* [Building a custom webpack loader](/guides/custom-loader)
* [Wrapper customization](/guides/wrapper-customization)
- [Write a custom remark plugin](/guides/writing-a-plugin)
- [Building a custom webpack loader](/guides/custom-loader)
- [Wrapper customization](/guides/wrapper-customization)

View File

@ -14,7 +14,8 @@ After the language in code fences you can add `key=value` pairs which will
be automatically passed as props to your code block.
````md
```js live=true
```js live=true
```
````
## Component
@ -79,8 +80,7 @@ const components = {
}
export default props => (
<MDXProvider components={components}>
<main {...props}>
</main>
<main {...props}></main>
</MDXProvider>
)
```
@ -127,7 +127,7 @@ export default ({children, className, live, render}) => {
<LiveProvider
code={children.trim()}
transformCode={code => '/** @jsx mdx */' + code}
scope={{ mdx }}
scope={{mdx}}
>
<LivePreview />
<LiveEditor />

View File

@ -4,11 +4,17 @@ You can render math blocks via [remark-math](https://github.com/remarkjs/remark-
First, link a stylesheet and use the `$` syntax:
```md
```mdx
<!-- index.mdx -->
<!-- Apply katex css -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/katex.min.css" integrity="sha384-BdGj8xC2eZkQaxoQ8nSLefg4AV4/AwB3Fj+8SUSo7pnKP6Eoy18liIKTPn9oBYNG" crossOrigin="anonymous"/>
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/katex.min.css"
integrity="sha384-BdGj8xC2eZkQaxoQ8nSLefg4AV4/AwB3Fj+8SUSo7pnKP6Eoy18liIKTPn9oBYNG"
crossOrigin="anonymous"
/>
Lift($L$) can be determined by Lift Coefficient ($C_L$) like the following equation.

View File

@ -2,8 +2,8 @@
There are two primary approaches for adding syntax highlighting to MDX:
* composition via the MDXProvider
* remark plugin
- composition via the MDXProvider
- remark plugin
Its typically preferred to take the compositional approach, but both
will be documented here.
@ -25,13 +25,12 @@ import {MDXProvider} from '@mdx-js/react'
const components = {
pre: props => <div {...props} />,
code: props => <pre style={{ color: 'tomato' }} {...props} />
code: props => <pre style={{color: 'tomato'}} {...props} />
}
export default props => (
<MDXProvider components={components}>
<main {...props}>
</main>
<main {...props}></main>
</MDXProvider>
)
```
@ -65,7 +64,7 @@ import Highlight, {defaultProps} from 'prism-react-renderer'
export default ({children}) => {
return (
<Highlight {...defaultProps} code={children} language='javascript'>
<Highlight {...defaultProps} code={children} language="javascript">
{({className, style, tokens, getLineProps, getTokenProps}) => (
<pre className={className} style={{...style, padding: '20px'}}>
{tokens.map((line, i) => (

View File

@ -2,6 +2,4 @@ import Note from 'gatsby-theme-mdx/src/components/note'
# Table of contents
<Note>
This guide is a WIP
</Note>
<Note>This guide is a WIP</Note>

View File

@ -1,4 +1,4 @@
import { Tweet } from '@blocks/kit'
import {Tweet} from '@blocks/kit'
# Terminal
@ -41,15 +41,15 @@ const {MDXProvider} = require('@mdx-js/react')
const MDX = require('@mdx-js/runtime')
const components = {
h1: ({ children }) => <Text bold>{children}</Text>,
p: ({ children }) => <Text>{children}</Text>
h1: ({children}) => <Text bold>{children}</Text>,
p: ({children}) => <Text>{children}</Text>
}
render(
<MDXProvider components={components}>
<MDX>{MDXContent}</MDX>
</MDXProvider>
);
)
```
You can also provide other components to the runtime scope for additional
@ -60,8 +60,8 @@ const components = {
Box,
Color,
Text,
h1: ({ children }) => <Text bold>{children}</Text>,
p: ({ children }) => <Text>{children}</Text>
h1: ({children}) => <Text bold>{children}</Text>,
p: ({children}) => <Text>{children}</Text>
}
```
@ -83,10 +83,10 @@ From <Color bgBlack white bold> MDX! </Color>
## All together
```js
const React = require('react');
const {render, Color, Box, Text} = require('ink');
const React = require('react')
const {render, Color, Box, Text} = require('ink')
const MDX = require('@mdx-js/runtime')
const { MDXProvider } = require('@mdx-js/react')
const {MDXProvider} = require('@mdx-js/react')
const MDXContent = `
# Hello, world!
@ -103,15 +103,15 @@ From <Color bgBlack white bold> MDX! </Color>
const components = {
Box,
Color,
h1: ({ children }) => <Text bold>{children}</Text>,
p: ({ children }) => <Text>{children}</Text>
h1: ({children}) => <Text bold>{children}</Text>,
p: ({children}) => <Text>{children}</Text>
}
render(
<MDXProvider components={components}>
<MDX>{MDXContent}</MDX>
</MDXProvider>
);
)
```
<Tweet tweetId="1141781114786160641" />
@ -119,5 +119,4 @@ render(
[See the full example](https://github.com/mdx-js/mdx/tree/master/examples/cli)
[ink]: https://github.com/vadimdemedes/ink
[runtime]: https://mdxjs.com/advanced/runtime

View File

@ -2,9 +2,7 @@ import Note from 'gatsby-theme-mdx/src/components/note'
# Vue
<Note>
This guide is a WIP
</Note>
<Note>This guide is a WIP</Note>
If you want to initialize a project to try Vue + MDX you can
[use the Vue example](https://github.com/mdx-js/mdx/tree/master/examples/vue).
@ -30,10 +28,7 @@ module.exports = {
rules: [
{
test: /.mdx?$/,
use: [
'babel-loader',
'@mdx-js/vue-loader'
]
use: ['babel-loader', '@mdx-js/vue-loader']
}
]
}

View File

@ -9,13 +9,13 @@ it has access to the children passed to it.
This means that you can do powerful things with the MDX document elements.
If you arent very familiar with React children, it might be worthwile to
start with [*A deep dive into children in React*](https://mxstbr.blog/2017/02/react-children-deepdive/)
start with [_A deep dive into children in React_](https://mxstbr.blog/2017/02/react-children-deepdive/)
by Max Stoiber.
> We can render arbitrary components as children, but still control them from the
> parent instead of the component we render them from.
>
> *Max Stoiber - A deep dive into children in React*
> _Max Stoiber - A deep dive into children in React_
The implications of this are very interesting from the context of an
MDX wrapper component. This means the wrapper can do things like reordering
@ -46,7 +46,7 @@ import {MDXProvider} from '@mdx-js/react'
const components = {
wrapper: props => (
<div style={{ padding: '20px', backgroundColor: 'tomato' }}>
<div style={{padding: '20px', backgroundColor: 'tomato'}}>
<main {...props} />
</div>
)
@ -62,7 +62,8 @@ export default props => (
### Inspecting types
<Note>
This only works on the latest alpha version @mdx-js/mdx@next (&gt;= 1.0.0-alpha.7)
This only works on the latest alpha version @mdx-js/mdx@next (&gt;=
1.0.0-alpha.7)
</Note>
Sometimes you might want to inspect the element type of that
@ -78,7 +79,7 @@ import React from 'react'
import {MDXProvider} from '@mdx-js/react'
const components = {
wrapper: ({ children, ...props }) => {
wrapper: ({children, ...props}) => {
console.log(children.map(child => child.props.mdxType))
return <>{children}</>
}
@ -103,7 +104,7 @@ import React from 'react'
import {MDXProvider} from '@mdx-js/react'
const components = {
wrapper: ({ children, ...props }) => {
wrapper: ({children, ...props}) => {
const reversedChildren = React.Children.toArray(children).reverse()
return <>{reversedChildren}</>
}
@ -119,10 +120,10 @@ export default props => (
## Related
If you would like to dive deeper, check out
[*A deep dive into children in React*](https://mxstbr.blog/2017/02/react-children-deepdive/)
[_A deep dive into children in React_](https://mxstbr.blog/2017/02/react-children-deepdive/)
or Brent Jacksons [MDX Blocks](https://github.com/jxnblk/mdx-blocks)
* * *
---
* <https://mxstbr.blog/2017/02/react-children-deepdive>
* <https://github.com/jxnblk/mdx-blocks>
- <https://mxstbr.blog/2017/02/react-children-deepdive>
- <https://github.com/jxnblk/mdx-blocks>

View File

@ -25,7 +25,7 @@ module.exports = () => (tree, file) => {
This will log out all the nodes in your document that are headings. Inside heading nodes there are text nodes. These
include the raw text included in the heading.
*Note*: The reason that heading nodes include multiple text node types is because there can be other
_Note_: The reason that heading nodes include multiple text node types is because there can be other
“[phrasing content][phrasing]” nodes. For example if your heading looked like `# Hello, _world_`. In addition to the
text there is also an emphasis node.
@ -65,11 +65,7 @@ module.exports = () => (tree, file) => {
```
[remark-guides]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md#creating-plugins
[syntax-trees]: https://github.com/syntax-tree/unist#syntax-tree
[title]: https://github.com/zeit/title
[unist-util-visit]: https://github.com/syntax-tree/unist-util-visit
[phrasing]: https://www.w3.org/TR/2011/WD-html5-author-20110809/content-models.html#phrasing-content-0

View File

@ -46,7 +46,7 @@ Before MDX, some of the benefits of writing Markdown were lost when integrating
with JSX. Implementations were often template string-based which required lots
of escaping and cumbersome syntax.
MDX seeks to make writing with Markdown *and* JSX simpler while being more
MDX seeks to make writing with Markdown _and_ JSX simpler while being more
expressive. Writing is fun again when you combine components, that can
even be dynamic or load data, with the simplicity of Markdown for long-form
content.
@ -54,5 +54,4 @@ content.
> [Watch some of these features in action][intro]
[quote]: https://twitter.com/chrisbiscardi/status/1022304288326864896
[intro]: https://www.youtube.com/watch?v=d2sQiI5NFAM&list=PLV5CVI1eNcJgCrPH_e6d57KRUTiDZgs0u

View File

@ -6,9 +6,9 @@ In order to ensure as seamless of an upgrade as possible we plan on supporting v
## ⚠️ Breaking changes
* [🚨`@mdx-js/tag` is replaced by `@mdx-js/react` and an `mdx` pragma](#pragma) 🚨
* [MDXProvider now merges component contexts when nested](#mdxprovider)
* [React support now requires `>= 16.8` in `@mdx-js/react`](#react)
- [🚨`@mdx-js/tag` is replaced by `@mdx-js/react` and an `mdx` pragma](#pragma) 🚨
- [MDXProvider now merges component contexts when nested](#mdxprovider)
- [React support now requires `>= 16.8` in `@mdx-js/react`](#react)
## Pragma

View File

@ -1,3 +1,3 @@
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
<Redirect to='/advanced/plugins' />
<Redirect to="/advanced/plugins" />

View File

@ -2,55 +2,42 @@
## Apps
* [demoboard][]: The simplest editor alive
- [demoboard][]: The simplest editor alive
## Libraries
* [ok-mdx][]: Browser-based MDX editor
* [docz][]: Documentation framework
* [mdx-deck][]: MDX-based presentation decks
* [mdx-docs][]: Next-based documentation framework
* [mdx-paper][]: MDX-based research articles
* [spectacle-boilerplate-mdx][]: Boilerplate that facilitates using MDX with
- [ok-mdx][]: Browser-based MDX editor
- [docz][]: Documentation framework
- [mdx-deck][]: MDX-based presentation decks
- [mdx-docs][]: Next-based documentation framework
- [mdx-paper][]: MDX-based research articles
- [spectacle-boilerplate-mdx][]: Boilerplate that facilitates using MDX with
Spectacle
* [Charge][]: An opinionated, zero-config static site generator
- [Charge][]: An opinionated, zero-config static site generator
## Sites
* [ZEIT Docs][zeit-docs]
* [Compositor][]
* [Prisma][]
* [Max Stoibers Blog][mxstbr]
- [ZEIT Docs][zeit-docs]
- [Compositor][]
- [Prisma][]
- [Max Stoibers Blog][mxstbr]
## Other related links
* [awesome-mdx][]
* [MDX: content for kings and princesses][mdx-fairy-tale]
- [awesome-mdx][]
- [MDX: content for kings and princesses][mdx-fairy-tale]
[demoboard]: https://frontarm.com/demoboard
[ok-mdx]: https://github.com/jxnblk/ok-mdx
[mdx-deck]: https://github.com/jxnblk/mdx-deck
[mdx-docs]: https://github.com/jxnblk/mdx-docs
[mdx-paper]: https://github.com/hubgit/mdx-paper
[docz]: https://www.docz.site/
[zeit-docs]: https://github.com/zeit/docs
[compositor]: https://compositor.io
[prisma]: https://www.prisma.io/docs
[mxstbr]: https://mxstbr.com
[awesome-mdx]: https://github.com/transitive-bullshit/awesome-mdx
[spectacle-boilerplate-mdx]: https://github.com/FormidableLabs/spectacle-boilerplate-mdx
[charge]: https://charge.js.org
[mdx-fairy-tale]: https://github.com/DeveloperMode/mdx-fairy-tale

View File

@ -14,9 +14,9 @@ free customer service.
## Table of Contents
* [Questions](#questions)
* [Asking quality questions](#asking-quality-questions)
* [Contributions](#contributions)
- [Questions](#questions)
- [Asking quality questions](#asking-quality-questions)
- [Contributions](#contributions)
## Questions
@ -35,16 +35,16 @@ hoping to achieve.
Spending the extra time up front can help save everyone time in the long run.
* Try to define what you need help with:
* Is there something in particular you want to do?
* What problem are you encountering and what steps have you taken to try and fix it?
* Is there a concept youre not understanding?
* Learn about the [rubber duck debugging method][rubberduck]
* Avoid falling for the [XY problem][xy]
* Search on GitHub and Spectrum to see if a similar question has been asked
* Read through the [Getting Started Guide](https://mdxjs.com/getting-started)
* If possible, provide sample code, a [CodeSandbox](https://codesandbox.io), or a video
* The more time you put into asking your question, the better we can help you
- Try to define what you need help with:
- Is there something in particular you want to do?
- What problem are you encountering and what steps have you taken to try and fix it?
- Is there a concept youre not understanding?
- Learn about the [rubber duck debugging method][rubberduck]
- Avoid falling for the [XY problem][xy]
- Search on GitHub and Spectrum to see if a similar question has been asked
- Read through the [Getting Started Guide](https://mdxjs.com/getting-started)
- If possible, provide sample code, a [CodeSandbox](https://codesandbox.io), or a video
- The more time you put into asking your question, the better we can help you
## Contributions
@ -53,11 +53,7 @@ Spending the extra time up front can help save everyone time in the long run.
<!-- Definitions -->
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[rubberduck]: https://rubberduckdebugging.com
[xy]: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378
[chat]: https://spectrum.chat/mdx
[contributing]: https://mdxjs.com/contributing

View File

@ -1,7 +1,7 @@
import React, {lazy, Component, Suspense} from 'react'
import {importMDX} from 'mdx.macro'
const Content = lazy(() => importMDX('./Content.mdx'))
const Content = lazy(() => importMDX('./content.mdx'))
class App extends Component {
render() {

View File

@ -1,7 +0,0 @@
export const Demo = () => (
<div style={{ padding: 20, backgroundColor: "tomato" }} />
);
# Hello, world!
<Demo />

View File

@ -0,0 +1,7 @@
export const Demo = () => (
<div style={{padding: 20, backgroundColor: 'tomato'}} />
)
# Hello, world!
<Demo />

View File

@ -1,3 +1,3 @@
# Hello, world!
<div style={{ padding: '20px', backgroundColor: 'tomato' }} />
<div style={{padding: '20px', backgroundColor: 'tomato'}} />

View File

@ -4,15 +4,15 @@
import React from 'react'
import Example from './place'
export default () => (
<Example />
)
export default () => <Example />
```
```js render=true
<div style={{ backgroundColor: 'rebeccapurple', padding: '20px', marginTop: '20px' }} />
<div
style={{backgroundColor: 'rebeccapurple', padding: '20px', marginTop: '20px'}}
/>
```
```js live=true
<div style={{ backgroundColor: 'tomato', padding: '20px' }} />
<div style={{backgroundColor: 'tomato', padding: '20px'}} />
```

View File

@ -1,4 +1,4 @@
import Counter from './_counter.jsx';
import Counter from './_counter.jsx'
# Hello, world!

View File

@ -66,7 +66,7 @@
"lerna": "3.20.2",
"lint-staged": "10.0.2",
"memory-fs": "0.5.0",
"prettier": "1.19.1",
"prettier": "prettier/prettier",
"prettier-plugin-pkg": "0.4.10",
"react": "16.12.0",
"react-dom": "16.12.0",
@ -76,9 +76,13 @@
"remark-math": "2.0.0",
"remark-mdx": "^1.5.1",
"remark-parse": "7.0.2",
"remark-preset-prettier": "^0.3.0",
"remark-preset-wooorm": "6.0.1",
"remark-slug": "5.1.2",
"remark-stringify": "7.0.4",
"retext-english": "^3.0.4",
"retext-preset-wooorm": "^2.0.0",
"retext-sentence-spacing": "^3.0.0",
"rimraf": "3.0.0",
"typescript": "3.7.5",
"unified": "8.4.2",
@ -123,23 +127,5 @@
"bracketSpacing": false,
"semi": false,
"trailingComma": "none"
},
"remarkConfig": {
"plugins": [
"./packages/remark-mdx",
"preset-wooorm",
[
"lint-no-file-name-mixed-case",
false
],
[
"lint-maximum-line-length",
false
],
[
"validate-links",
false
]
]
}
}

View File

@ -38,10 +38,7 @@ const plugin = new BabelPluginApplyMdxTypeProp()
const result = babel.transform(jsx, {
configFile: false,
plugins: [
'@babel/plugin-syntax-jsx',
plugin.plugin
]
plugins: ['@babel/plugin-syntax-jsx', plugin.plugin]
})
console.log(result.code)

View File

@ -28,10 +28,7 @@ const plugin = new BabelPluginHtmlAttributesToJsx()
const result = babel.transform(jsx, {
configFile: false,
plugins: [
'@babel/plugin-syntax-jsx',
plugin
]
plugins: ['@babel/plugin-syntax-jsx', plugin]
})
console.log(result.code)

View File

@ -28,10 +28,7 @@ const plugin = new BabelPluginApplyMdxTypeProp()
const result = babel.transform(jsx, {
configFile: false,
plugins: [
'@babel/plugin-syntax-jsx',
plugin
]
plugins: ['@babel/plugin-syntax-jsx', plugin]
})
console.log(result.code)

View File

@ -39,31 +39,17 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: https://github.com/mdx-js/mdx/blob/master/license
[compositor]: https://compositor.io
[zeit]: https://zeit.co
[mdx]: https://github.com/mdx-js/mdx
[npm]: https://docs.npmjs.com/cli/init
[next]: https://github.com/mdx-js/mdx/tree/master/examples/next

View File

@ -1,36 +1,36 @@
* [Introduction](/)
* [Getting Started](/getting-started)
* [Next.js](/getting-started/next)
* [Gatsby](/getting-started/gatsby)
* [Create React App](/getting-started/create-react-app)
* [React Static](/getting-started/react-static)
* [Webpack](/getting-started/webpack)
* [Parcel](/getting-started/parcel)
* [Zero](/getting-started/zero)
* [Playground <sup style={{ color: '#444', textTransform: 'uppercase' }}>*alpha*</sup>](/playground)
* [Guides](/guides)
* [Syntax highlighting](/guides/syntax-highlighting)
* [Live code editor](/guides/live-code)
* [Math blocks](/guides/math-blocks)
* [Table of contents](/guides/table-of-contents)
* [Writing a plugin](/guides/writing-a-plugin)
* [Custom loader](/guides/custom-loader)
* [Wrapper customization](/guides/wrapper-customization)
* [Render MDX to the terminal](/guides/terminal)
* [Vue <sup style={{ color: '#444', textTransform: 'uppercase' }}>*alpha*</sup>](/guides/vue)
* [Advanced](/advanced)
* [API](/advanced/api)
* [Runtime](/advanced/runtime)
* [AST](/advanced/ast)
* [Components](/advanced/components)
* [Plugins](/advanced/plugins)
* [Transform Content](/advanced/transform-content)
* [Typescript](/advanced/typescript)
* [Support](/support)
* [Contributing](/contributing)
* [Projects](/projects)
* [Editors](/editors)
* [Blog](/blog)
* [About](/about)
* [Migrating from v0 to v1](/migrating/v1)
* [V0](https://v0.mdxjs.com)
- [Introduction](/)
- [Getting Started](/getting-started)
- [Next.js](/getting-started/next)
- [Gatsby](/getting-started/gatsby)
- [Create React App](/getting-started/create-react-app)
- [React Static](/getting-started/react-static)
- [Webpack](/getting-started/webpack)
- [Parcel](/getting-started/parcel)
- [Zero](/getting-started/zero)
- [Playground <sup style={{ color: '#444', textTransform: 'uppercase' }}>_alpha_</sup>](/playground)
- [Guides](/guides)
- [Syntax highlighting](/guides/syntax-highlighting)
- [Live code editor](/guides/live-code)
- [Math blocks](/guides/math-blocks)
- [Table of contents](/guides/table-of-contents)
- [Writing a plugin](/guides/writing-a-plugin)
- [Custom loader](/guides/custom-loader)
- [Wrapper customization](/guides/wrapper-customization)
- [Render MDX to the terminal](/guides/terminal)
- [Vue <sup style={{ color: '#444', textTransform: 'uppercase' }}>_alpha_</sup>](/guides/vue)
- [Advanced](/advanced)
- [API](/advanced/api)
- [Runtime](/advanced/runtime)
- [AST](/advanced/ast)
- [Components](/advanced/components)
- [Plugins](/advanced/plugins)
- [Transform Content](/advanced/transform-content)
- [Typescript](/advanced/typescript)
- [Support](/support)
- [Contributing](/contributing)
- [Projects](/projects)
- [Editors](/editors)
- [Blog](/blog)
- [About](/about)
- [Migrating from v0 to v1](/migrating/v1)
- [V0](https://v0.mdxjs.com)

View File

@ -23,10 +23,7 @@ module: {
// ...
{
test: /\.mdx?$/,
use: [
'babel-loader',
'@mdx-js/loader'
]
use: ['babel-loader', '@mdx-js/loader']
}
]
}
@ -36,7 +33,7 @@ The `renderer` option specifies a string that will be prepended to the generated
```js
import React from 'react'
import { mdx } from '@mdx-js/react'
import {mdx} from '@mdx-js/react'
```
Using the `renderer` option, one can swap out React for another implementation. The example below wraps a generic JSX compatible function named `h`.
@ -95,29 +92,16 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: license
[compositor]: https://compositor.io
[zeit]: https://zeit.co
[mdx]: https://github.com/mdx-js/mdx
[npm]: https://docs.npmjs.com/cli/install

View File

@ -31,8 +31,12 @@ console.log(result)
Yields:
```js
export default ({components, ...props}) => <MDXTag name="wrapper" components={components}><MDXTag name="h1" components={components}>{`Hello, MDX`}</MDXTag>
<MDXTag name="p" components={components}>{`I <3 Markdown and JSX`}</MDXTag></MDXTag>
export default ({components, ...props}) => (
<MDXTag name="wrapper" components={components}>
<MDXTag name="h1" components={components}>{`Hello, MDX`}</MDXTag>
<MDXTag name="p" components={components}>{`I <3 Markdown and JSX`}</MDXTag>
</MDXTag>
)
```
## Contribute
@ -51,31 +55,17 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: license
[remark]: https://github.com/remarkjs/remark
[compositor]: https://compositor.io
[zeit]: https://zeit.co
[mdx]: https://github.com/mdx-js/mdx
[npm]: https://docs.npmjs.com/cli/install

View File

@ -47,33 +47,18 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: https://github.com/mdx-js/mdx/blob/master/license
[compositor]: https://compositor.io
[zeit]: https://zeit.co
[mdx]: https://github.com/mdx-js/mdx
[parcel]: https://parceljs.org
[npm]: https://docs.npmjs.com/cli/install
[yarn]: https://yarnpkg.com/lang/en/docs/cli/install/

View File

@ -18,14 +18,15 @@ npm install --save @mdx-js/react
## Usage
```md
// helloworld.md
<!-- helloworld.md -->
# Hello, World!
```
```jsx
import React from 'react'
import { MDXProvider } from '@mdx-js/react'
import { renderToString } from 'react-dom/server'
import {MDXProvider} from '@mdx-js/react'
import {renderToString} from 'react-dom/server'
import HelloWorld from './helloworld.md'
@ -33,7 +34,7 @@ const H1 = props => <h1 style={{color: 'tomato'}} {...props} />
console.log(
renderToString(
<MDXProvider components={{ h1: H1 }}>
<MDXProvider components={{h1: H1}}>
<HelloWorld />
</MDXProvider>
)
@ -62,29 +63,16 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: license
[compositor]: https://compositor.io
[zeit]: https://zeit.co
[mdx]: https://github.com/mdx-js/mdx
[npm]: https://docs.npmjs.com/cli/install

View File

@ -75,31 +75,17 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: license
[remark]: https://github.com/remarkjs/remark
[johno]: https://johno.com
[npm]: https://docs.npmjs.com/cli/install
[mdx]: https://mdxjs.com
[mdxast]: https://github.com/mdx-js/specification#mdxast

View File

@ -73,31 +73,17 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: license
[remark]: https://github.com/remarkjs/remark
[johno]: https://johno.com
[npm]: https://docs.npmjs.com/cli/install
[mdx]: https://mdxjs.com
[mdxast]: https://github.com/mdx-js/specification#mdxast

View File

@ -30,29 +30,16 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: license
[remark]: https://github.com/remarkjs/remark
[mdx]: https://github.com/mdx-js/mdx
[author]: https://wooorm.com
[author2]: https://johno.com

View File

@ -27,7 +27,7 @@ import MDX from '@mdx-js/runtime'
// Provide custom components for markdown elements
const components = {
h1: props => <h1 style={{ color: 'tomato' }} {...props} />,
h1: props => <h1 style={{color: 'tomato'}} {...props} />,
Demo: props => <h1>This is a demo component</h1>
}
@ -43,7 +43,9 @@ const mdx = `
`
export default () => (
<MDX components={components} scope={scope}>{mdx}</MDX>
<MDX components={components} scope={scope}>
{mdx}
</MDX>
)
```
@ -63,29 +65,16 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: license
[compositor]: https://compositor.io
[zeit]: https://zeit.co
[mdx]: https://github.com/mdx-js/mdx
[npm]: https://docs.npmjs.com/cli/install

View File

@ -9,7 +9,5 @@ Test utility functions used in [MDX][].
<!-- Definitions -->
[mit]: license
[mdx]: https://github.com/mdx-js/mdx
[author]: https://johno.com

View File

@ -15,7 +15,5 @@ yarn add @mdx-js/util
<!-- Definitions -->
[mit]: license
[mdx]: https://github.com/mdx-js/mdx
[author]: https://johno.com

View File

@ -23,10 +23,7 @@ module: {
// ...
{
test: /\.mdx?$/,
use: [
'babel-loader',
'@mdx-js/vue-loader'
]
use: ['babel-loader', '@mdx-js/vue-loader']
}
]
}
@ -48,29 +45,16 @@ abide by its terms.
<!-- Definitions -->
[build]: https://travis-ci.com/mdx-js/mdx
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
[lerna]: https://lernajs.io/
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mit]: license
[compositor]: https://compositor.io
[zeit]: https://zeit.co
[mdx]: https://github.com/mdx-js/mdx
[npm]: https://docs.npmjs.com/cli/install

View File

@ -74,22 +74,22 @@ and cumbersome syntax.
>
> — [@chrisbiscardi][tweet]
MDX seeks to make writing with markdown *and* JSX simpler while being more
MDX seeks to make writing with markdown _and_ JSX simpler while being more
expressive.
The possibilities are endless when you combine components (that can even be
dynamic or load data) with the simplicity of markdown for long-form content.
A nice example of this is [mdx-deck][], a great way to create slides with MDX.
* Fast
* No runtime compilation
* [Pluggable][remark-plugins]
* Element to React component mapping
* React component `import`/`export`
* Customizable layouts
* [Webpack loader](https://mdxjs.com/getting-started/webpack)
* [Parcel plugin](https://mdxjs.com/getting-started/parcel)
* [Next.js plugin](https://mdxjs.com/getting-started/next)
* [Gatsby plugin](https://mdxjs.com/getting-started/gatsby)
- Fast
- No runtime compilation
- [Pluggable][remark-plugins]
- Element to React component mapping
- React component `import`/`export`
- Customizable layouts
- [Webpack loader](https://mdxjs.com/getting-started/webpack)
- [Parcel plugin](https://mdxjs.com/getting-started/parcel)
- [Next.js plugin](https://mdxjs.com/getting-started/next)
- [Gatsby plugin](https://mdxjs.com/getting-started/gatsby)
## Sponsors
@ -128,10 +128,10 @@ A nice example of this is [mdx-deck][], a great way to create slides with MDX.
## Authors
* [John Otander][john] ([@4lpine][4lpine]) [Compositor][] + [Clearbit][]
* [Tim Neutkens][tim] ([@timneutkens][timneutkens]) [ZEIT][]
* [Guillermo Rauch][guillermo] ([@rauchg][rauchg]) [ZEIT][]
* [Brent Jackson][brent] ([@jxnblk][jxnblk]) [Compositor][]
- [John Otander][john] ([@4lpine][4lpine]) [Compositor][] + [Clearbit][]
- [Tim Neutkens][tim] ([@timneutkens][timneutkens]) [ZEIT][]
- [Guillermo Rauch][guillermo] ([@rauchg][rauchg]) [ZEIT][]
- [Brent Jackson][brent] ([@jxnblk][jxnblk]) [Compositor][]
## Related
@ -155,55 +155,29 @@ Join us on [Spectrum][]!
[MIT][] © [Compositor][] and [ZEIT][]
[build]: https://github.com/mdx-js/mdx/actions?query=workflow%3A%22CI%22
[build-badge]: https://github.com/mdx-js/mdx/workflows/CI/badge.svg
[spectrum]: https://spectrum.chat/mdx
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
[intro]: https://www.youtube.com/watch?v=d2sQiI5NFAM&list=PLV5CVI1eNcJgCrPH_e6d57KRUTiDZgs0u
[tweet]: https://twitter.com/chrisbiscardi/status/1022304288326864896
[remark-plugins]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md
[website]: https://mdxjs.com
[spec]: https://github.com/mdx-js/specification#related
[john]: https://johno.com
[tim]: https://github.com/timneutkens
[guillermo]: https://rauchg.com
[brent]: https://jxnblk.com
[4lpine]: https://twitter.com/4lpine
[rauchg]: https://twitter.com/rauchg
[timneutkens]: https://twitter.com/timneutkens
[jxnblk]: https://twitter.com/jxnblk
[compositor]: https://compositor.io
[zeit]: https://zeit.co
[clearbit]: https://clearbit.com
[announcement]: https://medium.com/unifiedjs/collectively-evolving-through-crowdsourcing-22c359ea95cc
[contribute]: #contribute
[contributing]: https://mdxjs.com/contributing
[support]: https://mdxjs.com/support
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
[mdx-deck]: https://github.com/jxnblk/mdx-deck
[mit]: license

468
yarn.lock
View File

@ -33,6 +33,13 @@
resolved "https://registry.yarnpkg.com/@ampproject/toolbox-script-csp/-/toolbox-script-csp-1.1.1.tgz#0b049a1c86c99f300162a10e1b9ce83c6e354a45"
integrity sha512-gACGfsVKinCy/977FSrlVgo6jxTZ0lcTCvCnRlNwvSOcxJVm+jJR3sP7/F43fpak9Gsq/EwFaatfnNMbunPc+w==
"@angular/compiler@8.2.14":
version "8.2.14"
resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-8.2.14.tgz#46db7a9d1c17f236126518ff26480c160d5a6183"
integrity sha512-ABZO4E7eeFA1QyJ2trDezxeQM5ZFa1dXw1Mpl/+1vuXDKNjJgNyWYwKp/NwRkLmrsuV0yv4UDCDe4kJOGbPKnw==
dependencies:
tslib "^1.9.0"
"@babel/cli@^7.1.5":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.8.3.tgz#121beb7c273e0521eb2feeb3883a2b7435d12328"
@ -322,7 +329,7 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.3", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.7.5", "@babel/parser@^7.8.3":
"@babel/parser@7.8.3", "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.3", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.7.5", "@babel/parser@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081"
integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==
@ -1504,6 +1511,26 @@
unique-filename "^1.1.1"
which "^1.3.1"
"@glimmer/interfaces@^0.41.0":
version "0.41.4"
resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.41.4.tgz#3f3e26abea8a4e1463130e9a75e94372781d154b"
integrity sha512-MzXwMyod3MlwSZezHSaVBsCEIW/giYYfTDYARR46QnYsaFVatMVbydjsI7jkAuBCbnLCyNOIc1TrYIj71i/rpg==
"@glimmer/syntax@0.41.0":
version "0.41.0"
resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.41.0.tgz#af033e48475e29a4784900c13695925d752f462d"
integrity sha512-sYmgUMdK0jX+3ZNX9C2TKvL1YZGsKIcXRicwnzoTC7F56z29CbSCc7o6Zf0CI4L2Q7FSnHDxldlSe48wBAr6vQ==
dependencies:
"@glimmer/interfaces" "^0.41.0"
"@glimmer/util" "^0.41.0"
handlebars "^4.0.13"
simple-html-tokenizer "^0.5.7"
"@glimmer/util@^0.41.0":
version "0.41.4"
resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.41.4.tgz#508fd82ca40305416e130f0da7b537295ded7989"
integrity sha512-DwS94K+M0vtG+cymxH0rslJr09qpdjyOLdCjmpKcG/nNiZQfMA1ybAaFEmwk9UaVlUG9STENFeQwyrLevJB+7g==
"@hapi/address@2.x.x":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a"
@ -1546,7 +1573,7 @@
prop-types "^15.6.2"
scheduler "^0.17.0"
"@iarna/toml@^2.2.0":
"@iarna/toml@2.2.3", "@iarna/toml@^2.2.0":
version "2.2.3"
resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab"
integrity sha512-FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg==
@ -3558,6 +3585,19 @@
"@typescript-eslint/typescript-estree" "2.17.0"
eslint-visitor-keys "^1.1.0"
"@typescript-eslint/typescript-estree@2.11.0":
version "2.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.11.0.tgz#21ada6504274cd1644855926312c798fc697e9fb"
integrity sha512-HGY4+d4MagO6cKMcKfIKaTMxcAv7dEVnji2Zi+vi5VV8uWAM631KjAB5GxFcexMYrwKT0EekRiiGK1/Sd7VFGA==
dependencies:
debug "^4.1.1"
eslint-visitor-keys "^1.1.0"
glob "^7.1.6"
is-glob "^4.0.1"
lodash.unescape "4.0.1"
semver "^6.3.0"
tsutils "^3.17.1"
"@typescript-eslint/typescript-estree@2.17.0":
version "2.17.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.17.0.tgz#2ce1531ec0925ef8d22d7026235917c2638a82af"
@ -4196,6 +4236,21 @@ amphtml-validator@1.0.23:
commander "2.9.0"
promise "7.1.1"
angular-estree-parser@1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/angular-estree-parser/-/angular-estree-parser-1.1.5.tgz#f278e03e648a2bfb6c5dcdf17ba3273f3251b74a"
integrity sha512-M82O7HGwgS6mBfQq9ijCwuP4uYgSgycmNWQOHomToWRAdfX/c2pAwpCYdbVG9lc6Go8mr5+A2bRQnykdCVdpuA==
dependencies:
lines-and-columns "^1.1.6"
tslib "^1.9.3"
angular-html-parser@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/angular-html-parser/-/angular-html-parser-1.3.0.tgz#2b87c3c1b7535a972a00e35604221df3c51e6c6e"
integrity sha512-FCLuM8ZUt30qwiV5KlW8uWL9cwlS2loOIGq8wUQFypkJ1QZqJk829yxTsvp2DvCMZ7uLwfjIaIrKV5N2+RLiSQ==
dependencies:
tslib "^1.9.3"
ansi-align@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
@ -6927,6 +6982,14 @@ circular-dependency-plugin@^5.0.2:
resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz#e09dbc2dd3e2928442403e2d45b41cea06bc0a93"
integrity sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw==
cjk-regex@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/cjk-regex/-/cjk-regex-2.0.0.tgz#060aa111e61092768c438ccc9c643a53e8fe1ee5"
integrity sha512-E4gFi2f3jC0zFVHpaAcupW+gv9OejZ2aV3DP/LlSO0dDcZJAXw7W0ivn+vN17edN/PhU4HCgs1bfx7lPK7FpdA==
dependencies:
regexp-util "^1.2.1"
unicode-regex "^2.0.0"
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@ -7810,7 +7873,7 @@ cors@^2.8.5:
object-assign "^4"
vary "^1"
cosmiconfig@^5.0.0, cosmiconfig@^5.0.2, cosmiconfig@^5.1.0, cosmiconfig@^5.2.1:
cosmiconfig@5.2.1, cosmiconfig@^5.0.0, cosmiconfig@^5.0.2, cosmiconfig@^5.1.0, cosmiconfig@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
@ -8401,6 +8464,11 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
dashify@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/dashify/-/dashify-2.0.0.tgz#fff270ca2868ca427fee571de35691d6e437a648"
integrity sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A==
data-urls@^1.0.0, data-urls@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe"
@ -8554,7 +8622,7 @@ decompress@^4.0.0:
pify "^2.3.0"
strip-dirs "^2.0.0"
dedent@^0.7.0:
dedent@0.7.0, dedent@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
@ -8869,6 +8937,11 @@ diff-sequences@^25.1.0:
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.1.0.tgz#fd29a46f1c913fd66c22645dc75bffbe43051f32"
integrity sha512-nFIfVk5B/NStCsJ+zaPO4vYuLjlzQ6uFvPxzYyHlejNZ/UGa7G/n7peOXVrVNvRuyfstt+mZQYGpjxg9Z6N8Kw==
diff@4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
diff@^3.2.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
@ -9173,7 +9246,12 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
editorconfig@^0.15.3:
editorconfig-to-prettier@0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/editorconfig-to-prettier/-/editorconfig-to-prettier-0.1.1.tgz#7391c7067dfd68ffee65afc2c4fbe4fba8d4219a"
integrity sha512-MMadSSVRDb4uKdxV6bCXXN4cTsxIsXYtV4XdPu6FOCSAw6zsCIDA+QEktEU+u6h+c/mTrul5NR+pwFpPxwetiQ==
editorconfig@0.15.3, editorconfig@^0.15.3:
version "0.15.3"
resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5"
integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==
@ -9925,7 +10003,7 @@ estree-walker@^0.6.1:
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
esutils@^2.0.0, esutils@^2.0.2:
esutils@2.0.3, esutils@^2.0.0, esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
@ -10615,6 +10693,16 @@ find-cache-dir@^3.0.0, find-cache-dir@^3.2.0:
make-dir "^3.0.0"
pkg-dir "^4.1.0"
find-parent-dir@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54"
integrity sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=
find-project-root@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/find-project-root/-/find-project-root-1.1.1.tgz#d242727a2d904725df5714f23dfdcdedda0b6ef8"
integrity sha1-0kJyei2QRyXfVxTyPf3N7doLbvg=
find-root@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
@ -10700,6 +10788,11 @@ flatten@^1.0.2:
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b"
integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==
flow-parser@0.116.1:
version "0.116.1"
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.116.1.tgz#2cded960269f702552feb5419c57c7c146ba171e"
integrity sha512-uMbaTjiMhBKa/il1esHyWyVVWfrWdG/eLmG62MQulZ59Yghpa30H1tmukFZLptsBafZ8ddiPyf7I+SiA+euZ6A==
flush-write-stream@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
@ -11417,6 +11510,13 @@ get-stream@3.0.0, get-stream@^3.0.0:
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
get-stream@4.1.0, get-stream@^4.0.0, get-stream@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
dependencies:
pump "^3.0.0"
get-stream@^2.2.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de"
@ -11425,13 +11525,6 @@ get-stream@^2.2.0:
object-assign "^4.0.1"
pinkie-promise "^2.0.0"
get-stream@^4.0.0, get-stream@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
dependencies:
pump "^3.0.0"
get-stream@^5.0.0, get-stream@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
@ -11675,6 +11768,17 @@ globby@10.0.1, globby@^10.0.1:
merge2 "^1.2.3"
slash "^3.0.0"
globby@6.1.0, globby@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=
dependencies:
array-union "^1.0.1"
glob "^7.0.3"
object-assign "^4.0.1"
pify "^2.0.0"
pinkie-promise "^2.0.0"
globby@8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50"
@ -11701,17 +11805,6 @@ globby@8.0.2:
pify "^3.0.0"
slash "^1.0.0"
globby@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=
dependencies:
array-union "^1.0.1"
glob "^7.0.3"
object-assign "^4.0.1"
pify "^2.0.0"
pinkie-promise "^2.0.0"
globby@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
@ -11896,7 +11989,7 @@ graphql-type-json@^0.2.4:
resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.2.4.tgz#545af27903e40c061edd30840a272ea0a49992f9"
integrity sha512-/tq02ayMQjrG4oDFDRLLrPk0KvJXue0nVXoItBe7uAdbNXjQUu+HYCBdAmPLQoseVzUKKMzrhq2P/sfI76ON6w==
graphql@^14.5.8:
graphql@14.5.8, graphql@^14.5.8:
version "14.5.8"
resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.8.tgz#504f3d3114cb9a0a3f359bbbcf38d9e5bf6a6b3c"
integrity sha512-MMwmi0zlVLQKLdGiMfWkgQD7dY/TUKt4L+zgJ/aR0Howebod3aNgP5JkgvAULiR2HPVZaP2VEElqtdidHweLkg==
@ -11976,7 +12069,7 @@ handle-thing@^2.0.0:
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754"
integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==
handlebars@^4.0.3, handlebars@^4.1.2:
handlebars@^4.0.13, handlebars@^4.0.3, handlebars@^4.1.2:
version "4.7.2"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.2.tgz#01127b3840156a0927058779482031afe0e730d7"
integrity sha512-4PwqDL2laXtTWZghzzCtunQUTLbo31pcCJrd/B/9JP8XbhVzpS5ZXuKqlOzsd1rtcaLo4KqAn8nl8mkknS4MHw==
@ -12377,6 +12470,11 @@ html-comment-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
html-element-attributes@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-2.2.0.tgz#14c45a0480e1afd1f227b3a84b6f158f595f3d49"
integrity sha512-OYsGPti+liRbzedLympKEQuVVnnXrmXc+x9ZDrsk+ts1j1f6VVpQ3jk3WiYHlC5ozcSVacugyu9S+r24FyREvA==
html-encoding-sniffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
@ -12407,6 +12505,16 @@ html-minifier@^3.2.3, html-minifier@^3.5.16, html-minifier@^3.5.20:
relateurl "0.2.x"
uglify-js "3.4.x"
html-styles@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/html-styles/-/html-styles-1.0.0.tgz#a18061fd651f99c6b75c45c8e0549a3bc3e01a75"
integrity sha1-oYBh/WUfmca3XEXI4FSaO8PgGnU=
html-tag-names@1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/html-tag-names/-/html-tag-names-1.1.4.tgz#51c559e36a077b5eb6c71e6cb49b1d70fffc9124"
integrity sha512-QCOY1/oHmo2BNwsTzuYlW51JLXSxfmMvve+2/9i2cbhxXxT6SuhsUWzcIoMwUi0HZW/NIQBSyJaj7fbcsimoKg==
html-tags@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-1.2.0.tgz#c78de65b5663aa597989dd2b7ab49200d7e4db98"
@ -12686,16 +12794,16 @@ ignore-walk@^3.0.1:
dependencies:
minimatch "^3.0.4"
ignore@4.0.6, ignore@^4.0.3, ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
ignore@^3.3.5:
version "3.3.10"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
ignore@^4.0.3, ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
ignore@^5.0.5, ignore@^5.1.1:
version "5.1.4"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf"
@ -13177,6 +13285,13 @@ is-callable@^1.1.4, is-callable@^1.1.5:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==
is-ci@2.0.0, is-ci@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
dependencies:
ci-info "^2.0.0"
is-ci@^1.0.10:
version "1.2.1"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
@ -13184,13 +13299,6 @@ is-ci@^1.0.10:
dependencies:
ci-info "^1.5.0"
is-ci@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
dependencies:
ci-info "^2.0.0"
is-color-stop@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
@ -14151,6 +14259,13 @@ jest-diff@^25.1.0:
jest-get-type "^25.1.0"
pretty-format "^25.1.0"
jest-docblock@24.9.0, jest-docblock@^24.3.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2"
integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==
dependencies:
detect-newline "^2.1.0"
jest-docblock@^23.2.0:
version "23.2.0"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7"
@ -14158,13 +14273,6 @@ jest-docblock@^23.2.0:
dependencies:
detect-newline "^2.1.0"
jest-docblock@^24.3.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2"
integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==
dependencies:
detect-newline "^2.1.0"
jest-docblock@^25.1.0:
version "25.1.0"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.1.0.tgz#0f44bea3d6ca6dfc38373d465b347c8818eccb64"
@ -14996,6 +15104,11 @@ jest@^23.6.0:
import-local "^1.0.0"
jest-cli "^23.6.0"
js-base64@^2.1.9:
version "2.5.1"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==
js-beautify@^1.6.12:
version "1.10.2"
resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.2.tgz#88c9099cd6559402b124cfab18754936f8a7b178"
@ -15220,7 +15333,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
json-stable-stringify@^1.0.1:
json-stable-stringify@1.0.1, json-stable-stringify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
@ -15527,16 +15640,16 @@ lerna@3.20.2:
import-local "^2.0.0"
npmlog "^4.1.2"
leven@3.1.0, leven@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
leven@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA=
leven@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
levenary@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.0.tgz#fc146fe75f32dc483a0a2c64aef720f602cd6210"
@ -15557,11 +15670,16 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
lines-and-columns@^1.1.6:
lines-and-columns@1.1.6, lines-and-columns@^1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
linguist-languages@7.7.0:
version "7.7.0"
resolved "https://registry.yarnpkg.com/linguist-languages/-/linguist-languages-7.7.0.tgz#c069731f8b307ce301980a4bac4b81bf06a2c351"
integrity sha512-6vR1OgfD/YK1xgqVBT3aUx9zurSVeHUsXpVyTilT1o7LW6MNAcGmWy5wwmQAAhvEXxG2PZmktHbQiGtJ5hpGkg==
lint-staged@10.0.2:
version "10.0.2"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.0.2.tgz#cfdd9fa5080b05fc6e29536897da1795bc67c7f9"
@ -15918,6 +16036,11 @@ lodash.transform@^4.6.0:
resolved "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0"
integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=
lodash.unescape@4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c"
integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=
lodash.uniq@4.5.0, lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@ -15928,7 +16051,7 @@ lodash.upperfirst@^4.3.1:
resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce"
integrity sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=
"lodash@>=3.5 <5", lodash@^4.11.1, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0:
lodash@4.17.15, "lodash@>=3.5 <5", lodash@^4.11.1, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
@ -16145,7 +16268,7 @@ mamacro@^0.0.3:
resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==
map-age-cleaner@^0.1.1:
map-age-cleaner@^0.1.1, map-age-cleaner@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
@ -16383,6 +16506,15 @@ media-typer@0.3.0:
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
mem@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3"
integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==
dependencies:
map-age-cleaner "^0.1.3"
mimic-fn "^2.1.0"
p-is-promise "^2.1.0"
mem@^4.0.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
@ -16706,7 +16838,7 @@ minimist@0.0.8:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
@ -16931,6 +17063,11 @@ mz@^2.4.0, mz@^2.5.0, mz@^2.6.0:
object-assign "^4.0.1"
thenify-all "^1.0.0"
n-readlines@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/n-readlines/-/n-readlines-1.0.0.tgz#c353797f216c253fdfef7e91da4e8b17c29a91a6"
integrity sha512-ISDqGcspVu6U3VKqtJZG1uR55SmNNF9uK0EMq1IvNVVZOui6MW6VR0+pIZhqz85ORAGp+4zW+5fJ/SE7bwEibA==
name-all-modules-plugin@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz#0abfb6ad835718b9fb4def0674e06657a954375c"
@ -17337,6 +17474,11 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
normalize-path@3.0.0, normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
normalize-path@^2.0.1, normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
@ -17344,11 +17486,6 @@ normalize-path@^2.0.1, normalize-path@^2.1.1:
dependencies:
remove-trailing-separator "^1.0.1"
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
normalize-range@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
@ -17888,7 +18025,7 @@ p-is-promise@^1.1.0:
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e"
integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=
p-is-promise@^2.0.0:
p-is-promise@^2.0.0, p-is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
@ -18255,6 +18392,10 @@ parse-path@^4.0.0:
is-ssh "^1.3.0"
protocols "^1.4.0"
parse-srcset@ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee:
version "1.0.2"
resolved "https://codeload.github.com/ikatyang/parse-srcset/tar.gz/54eb9c1cb21db5c62b4d0e275d7249516df6f0ee"
parse-unit@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parse-unit/-/parse-unit-1.0.1.tgz#7e1bb6d5bef3874c28e392526a2541170291eecf"
@ -18860,6 +19001,13 @@ postcss-lab-function@^2.0.1:
postcss "^7.0.2"
postcss-values-parser "^2.0.0"
postcss-less@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-2.0.0.tgz#5d190b8e057ca446d60fe2e2587ad791c9029fb8"
integrity sha512-pPNsVnpCB13nBMOcl5GVh8JGmB0JGFjqkLUDzKdVpptFFKEe9wFdEzvh2j4lD2AD+7qcrUfw9Ta+oi5+Fw7jjQ==
dependencies:
postcss "^5.2.16"
postcss-load-config@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003"
@ -18902,6 +19050,11 @@ postcss-media-minmax@^4.0.0:
dependencies:
postcss "^7.0.2"
postcss-media-query-parser@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=
postcss-merge-longhand@^4.0.11:
version "4.0.11"
resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
@ -19278,6 +19431,13 @@ postcss-safe-parser@4.0.1, postcss-safe-parser@^4.0.1:
dependencies:
postcss "^7.0.0"
postcss-scss@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.0.0.tgz#248b0a28af77ea7b32b1011aba0f738bda27dea1"
integrity sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==
dependencies:
postcss "^7.0.0"
postcss-selector-matches@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff"
@ -19294,6 +19454,15 @@ postcss-selector-not@^4.0.0:
balanced-match "^1.0.0"
postcss "^7.0.2"
postcss-selector-parser@2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=
dependencies:
flatten "^1.0.2"
indexes-of "^1.0.1"
uniq "^1.0.1"
postcss-selector-parser@6.0.2, postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
@ -19350,7 +19519,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9"
integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==
postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
postcss-values-parser@2.0.1, postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f"
integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==
@ -19377,6 +19546,16 @@ postcss@7.0.21:
source-map "^0.6.1"
supports-color "^6.1.0"
postcss@^5.2.16:
version "5.2.18"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==
dependencies:
chalk "^1.1.3"
js-base64 "^2.1.9"
source-map "^0.5.6"
supports-color "^3.2.3"
postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.23:
version "6.0.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
@ -19448,11 +19627,74 @@ prettier-plugin-pkg@0.4.10:
resolved "https://registry.yarnpkg.com/prettier-plugin-pkg/-/prettier-plugin-pkg-0.4.10.tgz#e32da7f72bc5c2b91c23711497a00a26955255ad"
integrity sha512-BPv9xcqRfycXefabThMFqqmHn4OV7Utv0c5rH6b/sf+JQidmEZCn25oyujvA+yTi4gG2/KbhE5dpDbJz4IOZpQ==
prettier@1.19.1, prettier@^1.18.2:
prettier@^1.18.2:
version "1.19.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
prettier@prettier/prettier:
version "1.20.0-dev"
resolved "https://codeload.github.com/prettier/prettier/tar.gz/a858a315e926c21bd1ebfcde70a08419c9472a8c"
dependencies:
"@angular/compiler" "8.2.14"
"@babel/code-frame" "7.5.5"
"@babel/parser" "7.8.3"
"@glimmer/syntax" "0.41.0"
"@iarna/toml" "2.2.3"
"@typescript-eslint/typescript-estree" "2.11.0"
angular-estree-parser "1.1.5"
angular-html-parser "1.3.0"
camelcase "5.3.1"
chalk "2.4.2"
cjk-regex "2.0.0"
cosmiconfig "5.2.1"
dashify "2.0.0"
dedent "0.7.0"
diff "4.0.2"
editorconfig "0.15.3"
editorconfig-to-prettier "0.1.1"
escape-string-regexp "1.0.5"
esutils "2.0.3"
find-parent-dir "0.3.0"
find-project-root "1.1.1"
flow-parser "0.116.1"
get-stream "4.1.0"
globby "6.1.0"
graphql "14.5.8"
html-element-attributes "2.2.0"
html-styles "1.0.0"
html-tag-names "1.1.4"
ignore "4.0.6"
is-ci "2.0.0"
jest-docblock "24.9.0"
json-stable-stringify "1.0.1"
leven "3.1.0"
lines-and-columns "1.1.6"
linguist-languages "7.7.0"
lodash "4.17.15"
mem "5.1.1"
minimatch "3.0.4"
minimist "1.2.0"
n-readlines "1.0.0"
normalize-path "3.0.0"
parse-srcset ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee
postcss-less "2.0.0"
postcss-media-query-parser "0.2.3"
postcss-scss "2.0.0"
postcss-selector-parser "2.2.3"
postcss-values-parser "2.0.1"
regexp-util "1.2.2"
remark-math "1.0.6"
remark-parse "5.0.0"
resolve "1.14.2"
semver "6.3.0"
string-width "4.1.0"
typescript "3.7.5"
unicode-regex "3.0.0"
unified "8.4.2"
vnopts "1.0.2"
yaml-unist-parser "1.1.1"
pretty-bytes@^5.1.0, pretty-bytes@^5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2"
@ -20835,6 +21077,13 @@ regex-parser@2.2.10:
resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37"
integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==
regexp-util@1.2.2, regexp-util@^1.2.0, regexp-util@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/regexp-util/-/regexp-util-1.2.2.tgz#5cf599134921eb0d776e41d41e9c0da33f0fa2fc"
integrity sha512-5/rl2UD18oAlLQEIuKBeiSIOp1hb5wCXcakl5yvHxlY1wyWI4D5cUKKzCibBeu741PA9JKvZhMqbkDQqPusX3w==
dependencies:
tslib "^1.9.0"
regexp.prototype.flags@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c"
@ -21618,6 +21867,13 @@ remark-lint@^6.0.0:
dependencies:
remark-message-control "^4.0.0"
remark-math@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/remark-math/-/remark-math-1.0.6.tgz#49eb3dd15d298734c9ae21673115389793af4d1b"
integrity sha512-I43wU/QOQpXvVFXKjA4FHp5xptK65+5F6yolm8+69/JV0EqSOB64wURUZ3JK50JtnTL8FvwLiH2PZ+fvsBxviA==
dependencies:
trim-trailing-lines "^1.1.0"
remark-math@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/remark-math/-/remark-math-2.0.0.tgz#bc0e981fb7c6c79d6a5f99937709549bebe6bb04"
@ -21632,10 +21888,10 @@ remark-message-control@^4.0.0:
unified-message-control "^1.0.0"
xtend "^4.0.1"
remark-parse@7.0.2, remark-parse@^7.0.2:
version "7.0.2"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf"
integrity sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==
remark-parse@5.0.0, remark-parse@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95"
integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==
dependencies:
collapse-white-space "^1.0.2"
is-alphabetical "^1.0.0"
@ -21653,10 +21909,10 @@ remark-parse@7.0.2, remark-parse@^7.0.2:
vfile-location "^2.0.0"
xtend "^4.0.1"
remark-parse@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95"
integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==
remark-parse@7.0.2, remark-parse@^7.0.2:
version "7.0.2"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf"
integrity sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==
dependencies:
collapse-white-space "^1.0.2"
is-alphabetical "^1.0.0"
@ -21717,6 +21973,11 @@ remark-preset-lint-recommended@^3.0.1:
remark-lint-no-unused-definitions "^1.0.0"
remark-lint-ordered-list-marker-style "^1.0.0"
remark-preset-prettier@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/remark-preset-prettier/-/remark-preset-prettier-0.3.0.tgz#31ac7101eafc28815b930c04ab4fcfefbfdc7a6d"
integrity sha512-TYJfPdAn/T9+Nmm63qc7JtED9QL1hDh7V2loDPwAgfDFPTGQUzkeKLsl4z8QdjvJ/pgK/IZoKpZZbjK50CGgnw==
remark-preset-wooorm@6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/remark-preset-wooorm/-/remark-preset-wooorm-6.0.1.tgz#d4ca4b37d1d4f3b56f586331ea170bd9b967cacb"
@ -22083,6 +22344,13 @@ resolve@1.12.2:
dependencies:
path-parse "^1.0.6"
resolve@1.14.2:
version "1.14.2"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.2.tgz#dbf31d0fa98b1f29aa5169783b9c290cb865fea2"
integrity sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ==
dependencies:
path-parse "^1.0.6"
resolve@^1.1.5, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.6.0, resolve@^1.8.1:
version "1.15.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5"
@ -22896,6 +23164,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
simple-html-tokenizer@^0.5.7:
version "0.5.8"
resolved "https://registry.yarnpkg.com/simple-html-tokenizer/-/simple-html-tokenizer-0.5.8.tgz#3417382f75954ee34515cc4fd32d9918e693f173"
integrity sha512-0Sq4FvLlQEQODVA6PH2MIrc7tzYO0KT2HzzwvaVLYClWgIsuvaNUOrhrAvTi1pZHrcq7GDB4WiI3ukjqBMxcGQ==
simple-swizzle@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
@ -23502,6 +23775,15 @@ string-similarity@^1.2.2:
lodash.map "^4.6.0"
lodash.maxby "^4.6.0"
string-width@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff"
integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^5.2.0"
string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
@ -24515,10 +24797,10 @@ trim-right@^1.0.1:
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
trim-trailing-lines@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a"
integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==
trim-trailing-lines@^1.0.0, trim-trailing-lines@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94"
integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==
trim@0.0.1:
version "0.0.1"
@ -24545,7 +24827,7 @@ ts-pnp@1.1.5, ts-pnp@^1.1.2:
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.5.tgz#840e0739c89fce5f3abd9037bb091dbff16d9dec"
integrity sha512-ti7OGMOUOzo66wLF3liskw6YQIaSsBgc4GOAlWRnIEj8htCxJUxskanMUoJOD6MDCRAXo36goXJZch+nOS0VMA==
tslib@^1.10.0, tslib@^1.6.0, tslib@^1.8.1, tslib@^1.9.0:
tslib@^1.10.0, tslib@^1.6.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
version "1.10.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
@ -24786,6 +25068,20 @@ unicode-property-aliases-ecmascript@^1.0.4:
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==
unicode-regex@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unicode-regex/-/unicode-regex-3.0.0.tgz#0c20df914c6da0412b3714cd300726e0f7f24698"
integrity sha512-WiDJdORsqgxkZrjC8WsIP573130HNn7KsB0IDnUccW2BG2b19QQNloNhVe6DKk3Aef0UcoIHhNVj7IkkcYWrNw==
dependencies:
regexp-util "^1.2.0"
unicode-regex@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/unicode-regex/-/unicode-regex-2.0.0.tgz#ef8f6642c37dddcaa0c09af5b9456aabf6b436a3"
integrity sha512-5nbEG2YU7loyTvPABaKb+8B0u8L7vWCsVmCSsiaO249ZdMKlvrXlxR2ex4TUVAdzv/Cne/TdoXSSaJArGXaleQ==
dependencies:
regexp-util "^1.2.0"
unicode-trie@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085"
@ -25397,6 +25693,15 @@ vm-browserify@^1.0.1:
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
vnopts@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/vnopts/-/vnopts-1.0.2.tgz#f6a331473de0179d1679112cc090572b695202f7"
integrity sha512-d2rr2EFhAGHnTlURu49G7GWmiJV80HbAnkYdD9IFAtfhmxC+kSWEaZ6ZF064DJFTv9lQZQV1vuLTntyQpoanGQ==
dependencies:
chalk "^2.4.1"
leven "^2.1.0"
tslib "^1.9.3"
vue-hot-reload-api@^2.3.0:
version "2.3.3"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz#2756f46cb3258054c5f4723de8ae7e87302a1ccf"
@ -26410,7 +26715,16 @@ yaml-loader@^0.5.0:
dependencies:
js-yaml "^3.5.2"
yaml@^1.7.2:
yaml-unist-parser@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/yaml-unist-parser/-/yaml-unist-parser-1.1.1.tgz#a2bc7b72578718e6e5b0ebc945dde8e1f258b561"
integrity sha512-cGtqhHBlcft+rTKiPsVcSyi43Eqm5a1buYokW9VkztroKMErBSdR9ANHx+/XxNppHZTu2KMEn4yY8MdhuGoFuA==
dependencies:
lines-and-columns "^1.1.6"
tslib "^1.10.0"
yaml "^1.7.1"
yaml@^1.7.1, yaml@^1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2"
integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==