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 * chore: fix some incorrect code types
This commit is contained in:
parent
8ebde24018
commit
26a3a3c500
@ -6,6 +6,7 @@ public
|
|||||||
.next
|
.next
|
||||||
.*cache
|
.*cache
|
||||||
*.min.js
|
*.min.js
|
||||||
|
!/.*.js
|
||||||
|
|
||||||
examples/**/node_modules/**/*.*
|
examples/**/node_modules/**/*.*
|
||||||
|
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
.next
|
.next
|
||||||
dist
|
dist
|
||||||
node_modules
|
node_modules
|
||||||
*.md
|
|
||||||
*.mdx
|
|
||||||
*.min.*
|
*.min.*
|
||||||
|
21
.remarkrc.js
Normal file
21
.remarkrc.js
Normal 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]
|
||||||
|
]
|
||||||
|
}
|
@ -1,3 +1,3 @@
|
|||||||
# 404
|
# 404
|
||||||
|
|
||||||
Page not found. [Return Home](/)
|
Page not found. [Return Home](/)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# About
|
# About
|
||||||
|
|
||||||
MDX is based on the [original `.mdx` proposal][idea] by Guillermo Rauch
|
MDX is based on the [original `.mdx` proposal][idea] by Guillermo Rauch
|
||||||
([@rauchg][rauchg]). Its syntax is defined by an official [specification][].
|
([@rauchg][rauchg]). Its syntax is defined by an official [specification][].
|
||||||
The source code for MDX is available on [GitHub][] and is [MIT licensed][license].
|
The source code for MDX is available on [GitHub][] and is [MIT licensed][license].
|
||||||
|
|
||||||
The project is governed by the [unified collective][governance].
|
The project is governed by the [unified collective][governance].
|
||||||
@ -13,10 +13,10 @@ available on [GitHub][design].
|
|||||||
|
|
||||||
### Authors
|
### Authors
|
||||||
|
|
||||||
* [John Otander][john] ([@4lpine][4lpine]) – [Compositor][] + [Clearbit][]
|
- [John Otander][john] ([@4lpine][4lpine]) – [Compositor][] + [Clearbit][]
|
||||||
* [Tim Neutkens][tim] ([@timneutkens][timneutkens]) – [ZEIT][]
|
- [Tim Neutkens][tim] ([@timneutkens][timneutkens]) – [ZEIT][]
|
||||||
* [Guillermo Rauch][guillermo] ([@rauchg][rauchg]) – [ZEIT][]
|
- [Guillermo Rauch][guillermo] ([@rauchg][rauchg]) – [ZEIT][]
|
||||||
* [Brent Jackson][brent] ([@jxnblk][jxnblk]) – [Compositor][]
|
- [Brent Jackson][brent] ([@jxnblk][jxnblk]) – [Compositor][]
|
||||||
|
|
||||||
## Related
|
## Related
|
||||||
|
|
||||||
@ -31,62 +31,45 @@ PR!
|
|||||||
|
|
||||||
These projects define the syntax which MDX blends together (MD and JSX).
|
These projects define the syntax which MDX blends together (MD and JSX).
|
||||||
|
|
||||||
* [Markdown](https://daringfireball.net/projects/markdown/syntax)
|
- [Markdown](https://daringfireball.net/projects/markdown/syntax)
|
||||||
* [JSX](https://reactjs.org/docs/introducing-jsx.html)
|
- [JSX](https://reactjs.org/docs/introducing-jsx.html)
|
||||||
* [React](https://reactjs.org/)
|
- [React](https://reactjs.org/)
|
||||||
|
|
||||||
### Parsing and implementation
|
### Parsing and implementation
|
||||||
|
|
||||||
* [remark](https://remark.js.org)
|
- [remark](https://remark.js.org)
|
||||||
* [unified](https://unifiedjs.com)
|
- [unified](https://unifiedjs.com)
|
||||||
* [babel](https://babeljs.io)
|
- [babel](https://babeljs.io)
|
||||||
|
|
||||||
### Libraries
|
### Libraries
|
||||||
|
|
||||||
* [MDXC](https://github.com/jamesknelson/mdxc)
|
- [MDXC](https://github.com/jamesknelson/mdxc)
|
||||||
* [Markdown Component Loader](https://github.com/ticky/markdown-component-loader)
|
- [Markdown Component Loader](https://github.com/ticky/markdown-component-loader)
|
||||||
* [markdown-in-js](https://github.com/threepointone/markdown-in-js)
|
- [markdown-in-js](https://github.com/threepointone/markdown-in-js)
|
||||||
* [remark-jsx](https://github.com/fazouane-marouane/remark-jsx)
|
- [remark-jsx](https://github.com/fazouane-marouane/remark-jsx)
|
||||||
* [remark-react](https://github.com/mapbox/remark-react)
|
- [remark-react](https://github.com/mapbox/remark-react)
|
||||||
* [eslint-mdx](https://github.com/rx-ts/eslint-mdx)
|
- [eslint-mdx](https://github.com/rx-ts/eslint-mdx)
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
|
||||||
* [IA Markdown Content Blocks](https://github.com/iainc/Markdown-Content-Blocks)
|
- [IA Markdown Content Blocks](https://github.com/iainc/Markdown-Content-Blocks)
|
||||||
* [Idyll: Markup language for interactive documents](https://idyll-lang.org)
|
- [Idyll: Markup language for interactive documents](https://idyll-lang.org)
|
||||||
|
|
||||||
[github]: https://github.com/mdx-js/mdx
|
[github]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[license]: https://github.com/mdx-js/mdx/blob/master/license
|
[license]: https://github.com/mdx-js/mdx/blob/master/license
|
||||||
|
|
||||||
[specification]: https://github.com/mdx-js/specification
|
[specification]: https://github.com/mdx-js/specification
|
||||||
|
|
||||||
[governance]: https://github.com/unifiedjs/collective
|
[governance]: https://github.com/unifiedjs/collective
|
||||||
|
|
||||||
[design]: https://github.com/mdx-js/design
|
[design]: https://github.com/mdx-js/design
|
||||||
|
|
||||||
[idea]: https://spectrum.chat/thread/1021be59-2738-4511-aceb-c66921050b9a
|
[idea]: https://spectrum.chat/thread/1021be59-2738-4511-aceb-c66921050b9a
|
||||||
|
|
||||||
[john]: https://johno.com
|
[john]: https://johno.com
|
||||||
|
|
||||||
[tim]: https://github.com/timneutkens
|
[tim]: https://github.com/timneutkens
|
||||||
|
|
||||||
[guillermo]: https://rauchg.com
|
[guillermo]: https://rauchg.com
|
||||||
|
|
||||||
[brent]: https://jxnblk.com
|
[brent]: https://jxnblk.com
|
||||||
|
|
||||||
[4lpine]: https://twitter.com/4lpine
|
[4lpine]: https://twitter.com/4lpine
|
||||||
|
|
||||||
[rauchg]: https://twitter.com/rauchg
|
[rauchg]: https://twitter.com/rauchg
|
||||||
|
|
||||||
[timneutkens]: https://twitter.com/timneutkens
|
[timneutkens]: https://twitter.com/timneutkens
|
||||||
|
|
||||||
[jxnblk]: https://twitter.com/jxnblk
|
[jxnblk]: https://twitter.com/jxnblk
|
||||||
|
|
||||||
[evil rabbit]: https://twitter.com/evilrabbit_
|
[evil rabbit]: https://twitter.com/evilrabbit_
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[zeit]: https://zeit.co
|
[zeit]: https://zeit.co
|
||||||
|
|
||||||
[clearbit]: https://clearbit.com
|
[clearbit]: https://clearbit.com
|
||||||
|
@ -11,8 +11,8 @@ the JSX string is created.
|
|||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
* [Async API](#async-api)
|
- [Async API](#async-api)
|
||||||
* [Sync API](#sync-api)
|
- [Sync API](#sync-api)
|
||||||
|
|
||||||
## Async 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:
|
You can use the library directly:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
var mdx = require("@mdx-js/mdx")
|
var mdx = require('@mdx-js/mdx')
|
||||||
|
|
||||||
const content = `
|
const content = `
|
||||||
# Hello, world!
|
# Hello, world!
|
||||||
@ -65,7 +65,7 @@ import TomatoBox from 'tomato-box'
|
|||||||
const MDXLayout = props => <main {...props} />
|
const MDXLayout = props => <main {...props} />
|
||||||
|
|
||||||
const layoutProps = {
|
const layoutProps = {
|
||||||
author: "Fred Flintstone"
|
author: 'Fred Flintstone'
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function MDXContent(props) {
|
export default function MDXContent(props) {
|
||||||
@ -77,10 +77,10 @@ export default function MDXContent(props) {
|
|||||||
<TomatoBox />
|
<TomatoBox />
|
||||||
</MDXLayout>
|
</MDXLayout>
|
||||||
</div>
|
</div>
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
MDXContent.isMDXComponent = true;
|
MDXContent.isMDXComponent = true
|
||||||
```
|
```
|
||||||
|
|
||||||
This is pretty powerful because the output is rather readable.
|
This is pretty powerful because the output is rather readable.
|
||||||
@ -116,13 +116,8 @@ const jsx = mdx.sync(mdxText)
|
|||||||
MDX’s [runtime][] package has [example][] usage.
|
MDX’s [runtime][] package has [example][] usage.
|
||||||
|
|
||||||
[ast]: /advanced/ast
|
[ast]: /advanced/ast
|
||||||
|
|
||||||
[plugins]: /plugins
|
[plugins]: /plugins
|
||||||
|
|
||||||
[async]: #async-api
|
[async]: #async-api
|
||||||
|
|
||||||
[sync]: #sync-api
|
[sync]: #sync-api
|
||||||
|
|
||||||
[runtime]: /advanced/runtime
|
[runtime]: /advanced/runtime
|
||||||
|
|
||||||
[example]: https://github.com/mdx-js/mdx/blob/d5a5189e715dc28370de13f6cc0fd18a06f0f122/packages/runtime/src/index.js#L16-L18
|
[example]: https://github.com/mdx-js/mdx/blob/d5a5189e715dc28370de13f6cc0fd18a06f0f122/packages/runtime/src/index.js#L16-L18
|
||||||
|
@ -1,11 +1,16 @@
|
|||||||
import { Button } from '@rebass/emotion'
|
import {Button} from '@rebass/emotion'
|
||||||
|
|
||||||
# AST
|
# 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" href={AST_EXPLORER_LINK}>
|
||||||
<Button as="a" ml={2} href="/playground">Use the Playground</Button>
|
Explore the AST
|
||||||
|
</Button>
|
||||||
|
<Button as="a" ml={2} href="/playground">
|
||||||
|
Use the Playground
|
||||||
|
</Button>
|
||||||
|
|
||||||
MDX, the library, uses two syntax trees.
|
MDX, the library, uses two syntax trees.
|
||||||
The first, [MDXAST][], represents markdown with embedded JSX, and is a superset of [mdast][].
|
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][].
|
The majority of the MDXAST specification is defined by [mdast][].
|
||||||
MDXAST is a superset with the following additional node types:
|
MDXAST is a superset with the following additional node types:
|
||||||
|
|
||||||
* `jsx` (instead of `html`)
|
- `jsx` (instead of `html`)
|
||||||
* `comment` (instead of `html` comments)
|
- `comment` (instead of `html` comments)
|
||||||
* `import`
|
- `import`
|
||||||
* `export`
|
- `export`
|
||||||
|
|
||||||
Any MDX document without those constructs is valid [mdast][].
|
Any MDX document without those constructs is valid [mdast][].
|
||||||
|
|
||||||
@ -39,29 +44,21 @@ it’s defined by [hast][] already.
|
|||||||
|
|
||||||
MDXAST defines the following additional node types:
|
MDXAST defines the following additional node types:
|
||||||
|
|
||||||
* `jsx` (instead of `html`)
|
- `jsx` (instead of `html`)
|
||||||
* `import`
|
- `import`
|
||||||
* `export`
|
- `export`
|
||||||
* `inlineCode`
|
- `inlineCode`
|
||||||
|
|
||||||
`inlineCode` is there to accurately represent Markdown’s inline code.
|
`inlineCode` is there to accurately represent Markdown’s inline code.
|
||||||
|
|
||||||
For more information, see the [MDXHAST][] specification.
|
For more information, see the [MDXHAST][] specification.
|
||||||
|
|
||||||
[mdxast]: #mdxast
|
[mdxast]: #mdxast
|
||||||
|
|
||||||
[mdxhast]: #mdxhast
|
[mdxhast]: #mdxhast
|
||||||
|
|
||||||
[comment]: #comment
|
[comment]: #comment
|
||||||
|
|
||||||
[mdast]: https://github.com/syntax-tree/mdast
|
[mdast]: https://github.com/syntax-tree/mdast
|
||||||
|
|
||||||
[hast]: https://github.com/syntax-tree/hast
|
[hast]: https://github.com/syntax-tree/hast
|
||||||
|
|
||||||
[specification]: https://github.com/mdx-js/specification
|
[specification]: https://github.com/mdx-js/specification
|
||||||
|
|
||||||
[remark]: https://github.com/remarkjs/remark
|
[remark]: https://github.com/remarkjs/remark
|
||||||
|
|
||||||
[rehype]: https://github.com/rehypejs/rehype
|
[rehype]: https://github.com/rehypejs/rehype
|
||||||
|
|
||||||
[unified]: https://github.com/unifiedjs/unified
|
[unified]: https://github.com/unifiedjs/unified
|
||||||
|
@ -51,28 +51,33 @@ documents via the [MDXProvider](#mdxprovider).
|
|||||||
### Layout props
|
### Layout props
|
||||||
|
|
||||||
You’ll also notice that `layoutProps` is created based on your exports
|
You’ll also notice that `layoutProps` is created based on your exports
|
||||||
and then passed to the wrapper. This allows for the wrapper to use
|
and then passed to the wrapper. This allows for the wrapper to use
|
||||||
those props automatically for handling things like adding an author
|
those props automatically for handling things like adding an author
|
||||||
bio to the wrapped document.
|
bio to the wrapped document.
|
||||||
|
|
||||||
## `makeShortcodes`
|
## `makeShortcodes`
|
||||||
|
|
||||||
There is one other function added to the compiled output: `makeShortcodes`.
|
There is one other function added to the compiled output: `makeShortcodes`.
|
||||||
This is added for [shortcode support](/blog/shortcodes). It’s used in order
|
This is added for [shortcode support](/blog/shortcodes). It’s used in order
|
||||||
to stub any components that aren’t directly imported so that there won’t be
|
to stub any components that aren’t directly imported so that there won’t be
|
||||||
any `ReferenceError`s. If they’re passed to the `MDXProvider`, the custom
|
any `ReferenceError`s. If they’re passed to the `MDXProvider`, the custom
|
||||||
JSX pragma will pull the component from context and use that in place of the
|
JSX pragma will pull the component from context and use that in place of the
|
||||||
stubbed `Button`:
|
stubbed `Button`:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const makeShortcode = name => function MDXDefaultShortcode(props) {
|
const makeShortcode = name =>
|
||||||
console.warn("Component " + name + " was not imported, exported, or provided by MDXProvider as global scope")
|
function MDXDefaultShortcode(props) {
|
||||||
return <div {...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
|
// This will be ignored by MDX if you wrap your MDX document with
|
||||||
// <MDXProvider components={{ Button: MyCustomButton }}>
|
// <MDXProvider components={{ Button: MyCustomButton }}>
|
||||||
const Button = makeShortcode("Button")
|
const Button = makeShortcode('Button')
|
||||||
```
|
```
|
||||||
|
|
||||||
## `isMDXComponent`
|
## `isMDXComponent`
|
||||||
@ -97,9 +102,9 @@ export default () => (
|
|||||||
### Caveats
|
### Caveats
|
||||||
|
|
||||||
Because MDXProvider uses React Context directly, it is affected by
|
Because MDXProvider uses React Context directly, it is affected by
|
||||||
the same caveats. It is therefore important that you do not declare
|
the same caveats. It is therefore important that you do not declare
|
||||||
your components mapping inline in the JSX. Doing so will trigger a rerender
|
your components mapping inline in the JSX. Doing so will trigger a rerender
|
||||||
of your entire MDX page with every render cycle. Not only is this bad for
|
of your entire MDX page with every render cycle. Not only is this bad for
|
||||||
performance, but it can cause unwanted side affects, like breaking in-page
|
performance, but it can cause unwanted side affects, like breaking in-page
|
||||||
browser navigation.
|
browser navigation.
|
||||||
|
|
||||||
@ -112,9 +117,9 @@ state object:
|
|||||||
|
|
||||||
```js
|
```js
|
||||||
import React from 'react'
|
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 {
|
export default class Layout extends React.Component {
|
||||||
state = {
|
state = {
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
||||||
|
|
||||||
<Redirect to='/contributing' />
|
<Redirect to="/contributing" />
|
||||||
|
@ -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
|
But there are some reasons to interact with the MDX library and its internals
|
||||||
directly.
|
directly.
|
||||||
|
|
||||||
* [API](/advanced/api)
|
- [API](/advanced/api)
|
||||||
— learn about the async and sync MDX 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)
|
— learn how to use MDX in a runtime environment (typically discouraged)
|
||||||
* [AST](/advanced/ast)
|
- [AST](/advanced/ast)
|
||||||
— learn about the intermediate abstract syntax tree
|
— learn about the intermediate abstract syntax tree
|
||||||
* [Components](/advanced/components)
|
- [Components](/advanced/components)
|
||||||
— learn about the generated JSX
|
— 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
|
— 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
|
— learn how to interact with or manipulate raw MDX content
|
||||||
|
|
||||||
[getting-started]: /getting-started
|
[getting-started]: /getting-started
|
||||||
|
@ -25,8 +25,8 @@ table of contents][remark-toc], and many more.
|
|||||||
|
|
||||||
For more information, see the following links:
|
For more information, see the following links:
|
||||||
|
|
||||||
* [List of remark plugins][remark-plugins]
|
- [List of remark plugins][remark-plugins]
|
||||||
* [List of rehype plugins][rehype-plugins]
|
- [List of rehype plugins][rehype-plugins]
|
||||||
|
|
||||||
Creating a plugin for MDX is mostly the same as creating a plugin for remark
|
Creating a plugin for MDX is mostly the same as creating a plugin for remark
|
||||||
or rehype.
|
or rehype.
|
||||||
@ -120,8 +120,7 @@ const retextSmartypants = require('retext-smartypants')
|
|||||||
const mdx = require('@mdx-js/mdx')
|
const mdx = require('@mdx-js/mdx')
|
||||||
|
|
||||||
function remarkSmartypants(options) {
|
function remarkSmartypants(options) {
|
||||||
const processor = retext()
|
const processor = retext().use(retextSmartypants, options)
|
||||||
.use(retextSmartypants, options)
|
|
||||||
|
|
||||||
function transformer(tree) {
|
function transformer(tree) {
|
||||||
visit(tree, 'text', node => {
|
visit(tree, 'text', node => {
|
||||||
@ -141,33 +140,21 @@ mdx.sync(mdxText, {
|
|||||||
// regular quotes → smart quotes,
|
// regular quotes → smart quotes,
|
||||||
// triple dash → em dash
|
// triple dash → em dash
|
||||||
// etc.
|
// etc.
|
||||||
[remarkSmartypants, { dashes: 'oldschool' }]
|
[remarkSmartypants, {dashes: 'oldschool'}]
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
[ast]: /advanced/ast
|
[ast]: /advanced/ast
|
||||||
|
|
||||||
[write-plugin]: /guides/writing-a-plugin
|
[write-plugin]: /guides/writing-a-plugin
|
||||||
|
|
||||||
[remark]: https://github.com/remarkjs/remark
|
[remark]: https://github.com/remarkjs/remark
|
||||||
|
|
||||||
[rehype]: https://github.com/rehypejs/rehype
|
[rehype]: https://github.com/rehypejs/rehype
|
||||||
|
|
||||||
[remark-capitalize]: https://github.com/zeit/remark-capitalize
|
[remark-capitalize]: https://github.com/zeit/remark-capitalize
|
||||||
|
|
||||||
[remark-toc]: https://github.com/remarkjs/remark-toc
|
[remark-toc]: https://github.com/remarkjs/remark-toc
|
||||||
|
|
||||||
[remark-plugins]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md#list-of-plugins
|
[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
|
[rehype-plugins]: https://github.com/rehypejs/rehype/blob/master/doc/plugins.md#list-of-plugins
|
||||||
|
|
||||||
[retext]: https://github.com/retextjs/retext
|
[retext]: https://github.com/retextjs/retext
|
||||||
|
|
||||||
[remarkjs/remark#224]: https://github.com/remarkjs/remark/issues/224
|
[remarkjs/remark#224]: https://github.com/remarkjs/remark/issues/224
|
||||||
|
|
||||||
[visit]: https://github.com/syntax-tree/unist-util-visit
|
[visit]: https://github.com/syntax-tree/unist-util-visit
|
||||||
|
|
||||||
[retext-smartypants]: https://github.com/retextjs/retext-smartypants
|
[retext-smartypants]: https://github.com/retextjs/retext-smartypants
|
||||||
|
|
||||||
[create-plugin]: https://unifiedjs.com/create-a-plugin.html
|
[create-plugin]: https://unifiedjs.com/create-a-plugin.html
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
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" />
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
||||||
|
|
||||||
<Redirect to='/advanced/ast' />
|
<Redirect to="/advanced/ast" />
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
||||||
|
|
||||||
<Redirect to='/advanced/api#sync-api' />
|
<Redirect to="/advanced/api#sync-api" />
|
||||||
|
@ -6,7 +6,7 @@ are many utilities you can use to work with MDX.
|
|||||||
|
|
||||||
You can utilize [to-vfile][] to read and write MDX files
|
You can utilize [to-vfile][] to read and write MDX files
|
||||||
and you can leverage [remark][] and [remark-mdx][]
|
and you can leverage [remark][] and [remark-mdx][]
|
||||||
to parse and process MDX content. The remark-mdx library is a parsing
|
to parse and process MDX content. The remark-mdx library is a parsing
|
||||||
extension to enhance the Markdown [AST][] to understand MDX
|
extension to enhance the Markdown [AST][] to understand MDX
|
||||||
(resulting in [MDXAST][]), giving you access and insight to MDX
|
(resulting in [MDXAST][]), giving you access and insight to MDX
|
||||||
attributes, namely imports, exports, and jsx.
|
attributes, namely imports, exports, and jsx.
|
||||||
@ -15,12 +15,12 @@ Let’s see an example of what we have explained so far.
|
|||||||
|
|
||||||
Say we have the following file, `example.mdx`:
|
Say we have the following file, `example.mdx`:
|
||||||
|
|
||||||
```md
|
```mdx
|
||||||
import Component from 'Component';
|
import Component from 'Component'
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
prop: 'value'
|
prop: 'value'
|
||||||
};
|
}
|
||||||
|
|
||||||
# Title
|
# Title
|
||||||
|
|
||||||
@ -33,24 +33,24 @@ And our script, `example.js`, looks as follows:
|
|||||||
|
|
||||||
```js
|
```js
|
||||||
const {read, write} = require('to-vfile')
|
const {read, write} = require('to-vfile')
|
||||||
const remark = require('remark');
|
const remark = require('remark')
|
||||||
const mdx = require('remark-mdx');
|
const mdx = require('remark-mdx')
|
||||||
|
|
||||||
(async () => {
|
;(async () => {
|
||||||
const path = './example.mdx';
|
const path = './example.mdx'
|
||||||
const file = await read(path);
|
const file = await read(path)
|
||||||
const contents = await remark()
|
const contents = await remark()
|
||||||
.use(mdx)
|
.use(mdx)
|
||||||
.use(() => (tree) => {
|
.use(() => tree => {
|
||||||
console.log(tree)
|
console.log(tree)
|
||||||
})
|
|
||||||
.process(file);
|
|
||||||
|
|
||||||
await write({
|
|
||||||
path,
|
|
||||||
contents
|
|
||||||
})
|
})
|
||||||
})();
|
.process(file)
|
||||||
|
|
||||||
|
await write({
|
||||||
|
path,
|
||||||
|
contents
|
||||||
|
})
|
||||||
|
})()
|
||||||
```
|
```
|
||||||
|
|
||||||
Now, running `node example.js` yields:
|
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.
|
save the modified content back to the original file.
|
||||||
|
|
||||||
[ast]: /advanced/ast
|
[ast]: /advanced/ast
|
||||||
|
|
||||||
[mdxast]: /advanced/ast#mdxast
|
[mdxast]: /advanced/ast#mdxast
|
||||||
|
|
||||||
[remark]: https://github.com/remarkjs/remark
|
[remark]: https://github.com/remarkjs/remark
|
||||||
|
|
||||||
[remark-mdx]: https://github.com/mdx-js/mdx/tree/master/packages/remark-mdx
|
[remark-mdx]: https://github.com/mdx-js/mdx/tree/master/packages/remark-mdx
|
||||||
|
|
||||||
[remark-mdx-metadata]: https://github.com/manovotny/remark-mdx-metadata
|
[remark-mdx-metadata]: https://github.com/manovotny/remark-mdx-metadata
|
||||||
|
|
||||||
[remark-plugins]: /advanced/plugins
|
[remark-plugins]: /advanced/plugins
|
||||||
|
|
||||||
[remark-toc]: https://github.com/remarkjs/remark-toc
|
[remark-toc]: https://github.com/remarkjs/remark-toc
|
||||||
|
|
||||||
[to-vfile]: https://github.com/vfile/to-vfile
|
[to-vfile]: https://github.com/vfile/to-vfile
|
||||||
|
|
||||||
[unified]: https://unifiedjs.com
|
[unified]: https://unifiedjs.com
|
||||||
|
|
||||||
[writing-a-plugin]: /guides/writing-a-plugin
|
[writing-a-plugin]: /guides/writing-a-plugin
|
||||||
|
@ -38,7 +38,7 @@ declare module '@mdx-js/react' {
|
|||||||
| 'img'
|
| 'img'
|
||||||
|
|
||||||
export type Components = {
|
export type Components = {
|
||||||
[key in ComponentType]?: React.ComponentType<{ children: React.ReactNode }>
|
[key in ComponentType]?: React.ComponentType<{children: React.ReactNode}>
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MDXProviderProps {
|
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.
|
improve the developer experience for TypeScript users.
|
||||||
|
|
||||||
* * *
|
---
|
||||||
|
|
||||||
If you’re getting errors from TypeScript related to imports with an `*.mdx`
|
If you’re getting errors from TypeScript related to imports with an `*.mdx`
|
||||||
extension, create an `mdx.d.ts` file in your types directory and include it
|
extension, create an `mdx.d.ts` file in your types directory and include it
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
`MDXTag`, for those that aren’t aware, is a critical piece in the way
|
`MDXTag`, for those that aren’t aware, is a critical piece in the way
|
||||||
MDX replaces HTML primitives like `<pre>` and `<h1>` with custom React
|
MDX replaces HTML primitives like `<pre>` and `<h1>` with custom React
|
||||||
Components. [I’ve previously
|
Components. [I’ve previously
|
||||||
written](https://www.christopherbiscardi.com/post/codeblocks-mdx-and-mdx-utils)
|
written](https://www.christopherbiscardi.com/post/codeblocks-mdx-and-mdx-utils)
|
||||||
about the way `MDXTag` works when trying to replace the `<pre>` tag
|
about the way `MDXTag` works when trying to replace the `<pre>` tag
|
||||||
with a custom code component.
|
with a custom code component.
|
||||||
@ -39,7 +39,7 @@ exports.preToCodeBlock = preProps => {
|
|||||||
```
|
```
|
||||||
|
|
||||||
So `MDXTag` is a real Component in the middle of all of the other MDX
|
So `MDXTag` is a real Component in the middle of all of the other MDX
|
||||||
rendered elements. All of the code is included here for reference.
|
rendered elements. All of the code is included here for reference.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
import React, {Component} from 'react'
|
import React, {Component} from 'react'
|
||||||
@ -86,7 +86,7 @@ export default withMDXComponents(MDXTag)
|
|||||||
|
|
||||||
`MDXTag` is used in the [mdx-hast-to-jsx
|
`MDXTag` is used in the [mdx-hast-to-jsx
|
||||||
conversion](https://github.com/mdx-js/mdx/blob/e1bcf1b1a352c9728424b01c1bb5d62e450eb48d/packages/mdx/mdx-hast-to-jsx.js#L163-L165),
|
conversion](https://github.com/mdx-js/mdx/blob/e1bcf1b1a352c9728424b01c1bb5d62e450eb48d/packages/mdx/mdx-hast-to-jsx.js#L163-L165),
|
||||||
which is the final step in the MDX AST pipeline. Every renderable
|
which is the final step in the MDX AST pipeline. Every renderable
|
||||||
element is wrapped in an `MDXTag`, and `MDXTag` handles rendering the
|
element is wrapped in an `MDXTag`, and `MDXTag` handles rendering the
|
||||||
element later.
|
element later.
|
||||||
|
|
||||||
@ -171,12 +171,12 @@ wrapping `MDXTag`.
|
|||||||
|
|
||||||
Now that we’ve cleaned up the intermediary representation, we need to
|
Now that we’ve cleaned up the intermediary representation, we need to
|
||||||
make sure that we have the same functionality as the old
|
make sure that we have the same functionality as the old
|
||||||
`MDXTag`. This is done through a custom `createElement`
|
`MDXTag`. This is done through a custom `createElement`
|
||||||
implementation. Typically when using React, we use
|
implementation. Typically when using React, we use
|
||||||
`React.createElement` to render the elements on screen. This is even
|
`React.createElement` to render the elements on screen. This is even
|
||||||
true if you’re using JSX because JSX tags such as `<div>` compile to
|
true if you’re using JSX because JSX tags such as `<div>` compile to
|
||||||
`createElement` calls. So this time instead of using
|
`createElement` calls. So this time instead of using
|
||||||
`React.createElement` we’ll be using our own. [Check it out in the MDX
|
`React.createElement` we’ll be using our own. [Check it out in the MDX
|
||||||
repo](https://github.com/mdx-js/mdx/blob/0506708bed0ac787f605b0a97ef77d1954fa1275/packages/react/src/create-element.js)
|
repo](https://github.com/mdx-js/mdx/blob/0506708bed0ac787f605b0a97ef77d1954fa1275/packages/react/src/create-element.js)
|
||||||
|
|
||||||
Reproduced here is our `createElement` function and the logic for how
|
Reproduced here is our `createElement` function and the logic for how
|
||||||
@ -220,12 +220,12 @@ export default function(type, props) {
|
|||||||
|
|
||||||
One really cool application of the new output format using a custom
|
One really cool application of the new output format using a custom
|
||||||
`createElement` is that we can now write versions of it for Vue and
|
`createElement` is that we can now write versions of it for Vue and
|
||||||
other frameworks. Since the pragma insertion is the responsibility of
|
other frameworks. Since the pragma insertion is the responsibility of
|
||||||
the webpack (or other bundlers) loader, swapping the pragma can be an
|
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
|
option in mdx-loader as long as we have a Vue `createElement` to point
|
||||||
to.
|
to.
|
||||||
|
|
||||||
* * *
|
---
|
||||||
|
|
||||||
Written by [Chris Biscardi](https://christopherbiscardi.com)
|
Written by [Chris Biscardi](https://christopherbiscardi.com)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Blog
|
# Blog
|
||||||
|
|
||||||
* [Shortcodes](/blog/shortcodes)
|
- [Shortcodes](/blog/shortcodes)
|
||||||
* [V1: MDX goes stable](/blog/v1)
|
- [V1: MDX goes stable](/blog/v1)
|
||||||
* [Custom pragma](/blog/custom-pragma)
|
- [Custom pragma](/blog/custom-pragma)
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
import { Button } from '@rebass/emotion'
|
import {Button} from '@rebass/emotion'
|
||||||
|
|
||||||
[MDX Blog](/blog)
|
[MDX Blog](/blog)
|
||||||
|
|
||||||
# Shortcodes
|
# Shortcodes
|
||||||
|
|
||||||
An exciting new feature in MDX v1 is global shortcodes. This
|
An exciting new feature in MDX v1 is global shortcodes. This
|
||||||
allows you to expose components to all of your documents in
|
allows you to expose components to all of your documents in
|
||||||
your app or website. This is a useful feature for common
|
your app or website. This is a useful feature for common
|
||||||
components like YouTube embeds, Twitter cards, or anything
|
components like YouTube embeds, Twitter cards, or anything
|
||||||
else frequently used in your documents.
|
else frequently used in your documents.
|
||||||
|
|
||||||
@ -16,26 +16,24 @@ you can add in components with the `MDXProvider`:
|
|||||||
```js
|
```js
|
||||||
// src/App.js
|
// src/App.js
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { MDXProvider } from '@mdx-js/react'
|
import {MDXProvider} from '@mdx-js/react'
|
||||||
import { YouTube, Twitter, TomatoBox } from './ui'
|
import {YouTube, Twitter, TomatoBox} from './ui'
|
||||||
|
|
||||||
const shortcodes = { YouTube, Twitter, TomatoBox }
|
const shortcodes = {YouTube, Twitter, TomatoBox}
|
||||||
|
|
||||||
export default ({ children }) => (
|
export default ({children}) => (
|
||||||
<MDXProvider components={shortcodes}>
|
<MDXProvider components={shortcodes}>{children}</MDXProvider>
|
||||||
{children}
|
|
||||||
</MDXProvider>
|
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, any MDX document that’s wrapped in `App` has access to
|
Then, any MDX document that’s wrapped in `App` has access to
|
||||||
`YouTube`, `Twitter`, and `TomatoBox`. Shortcodes are nothing
|
`YouTube`, `Twitter`, and `TomatoBox`. Shortcodes are nothing
|
||||||
more than components, so you can reference them anywhere in an
|
more than components, so you can reference them anywhere in an
|
||||||
MDX document with JSX.
|
MDX document with JSX.
|
||||||
|
|
||||||
`example.mdx`
|
`example.mdx`
|
||||||
|
|
||||||
```md
|
```mdx
|
||||||
# Hello world!
|
# Hello world!
|
||||||
|
|
||||||
Here’s a YouTube shortcode:
|
Here’s a YouTube shortcode:
|
||||||
@ -49,18 +47,21 @@ Here’s a YouTube shortcode wrapped in TomatoBox:
|
|||||||
</TomatoBox>
|
</TomatoBox>
|
||||||
```
|
```
|
||||||
|
|
||||||
That’s it. :tada: :rocket:
|
That’s 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
|
Try it on CodeSandbox
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
* * *
|
---
|
||||||
|
|
||||||
Huge thanks to [Chris Biscardi](https://christopherbiscardi.com)
|
Huge thanks to [Chris Biscardi](https://christopherbiscardi.com)
|
||||||
for building out most of this functionality.
|
for building out most of this functionality.
|
||||||
|
|
||||||
* * *
|
---
|
||||||
|
|
||||||
Written by [John Otander](https://johno.com)
|
Written by [John Otander](https://johno.com)
|
||||||
|
|
||||||
|
118
docs/blog/v1.mdx
118
docs/blog/v1.mdx
@ -3,11 +3,11 @@
|
|||||||
# MDX goes stable
|
# MDX goes stable
|
||||||
|
|
||||||
It’s been a year and a half since the first MDX commit and a year since MDX was first announced at
|
It’s 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. It’s
|
ZEIT Day. MDX is a radical paradigm shift in how to write immersive content using components. It’s
|
||||||
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 we’ve been working on numerous bug fixes, new features, better parsing, and integration
|
Since announcing MDX we’ve been working on numerous bug fixes, new features, better parsing, and integration
|
||||||
tests. Now, we think it’s ready. **We’re happy to finally release v1!**
|
tests. Now, we think it’s ready. **We’re happy to finally release v1!**
|
||||||
|
|
||||||
## 🎉 What’s new?
|
## 🎉 What’s new?
|
||||||
|
|
||||||
@ -19,15 +19,15 @@ MDX document parsing is significantly improved.
|
|||||||
We won’t get into the nitty gritty here, but we’ve seen how MDX is used in real-world projects, integrated
|
We won’t get into the nitty gritty here, but we’ve seen how MDX is used in real-world projects, integrated
|
||||||
the edge cases we came across into our test suite, and now handle JSX, imports, and exports much more
|
the edge cases we came across into our test suite, and now handle JSX, imports, and exports much more
|
||||||
intuitively.
|
intuitively.
|
||||||
Please open an issue if you find a case we haven’t covered! 😸
|
Please open an issue if you find a case we haven’t covered! 😸
|
||||||
|
|
||||||
### remark-mdx
|
### remark-mdx
|
||||||
|
|
||||||
`remark-mdx` is the syntactic extension for MDX in remark. It provides the parsing functionality for
|
`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
|
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 it’s
|
is that before we had the syntax parsing bits _in_ the library (unusable from the outside), and now it’s
|
||||||
externalized (usable from the outside). This is useful if you want to inspect or transform MDX documents.
|
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
|
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
|
use `remark-mdx` in combination with [remark-lint](https://github.com/remarkjs/remark-lint) to check your
|
||||||
MDX.
|
MDX.
|
||||||
|
|
||||||
@ -46,94 +46,94 @@ Special thanks to [@christopherbiscardi](https://github.com/christopherbiscardi)
|
|||||||
**Good libraries need great docs**, so we’ve been working on adding content and improving the overall documentation
|
**Good libraries need great docs**, so we’ve been working on adding content and improving the overall documentation
|
||||||
website experience.
|
website experience.
|
||||||
|
|
||||||
* [Search (thanks Algolia)](https://mobile.twitter.com/4lpine/status/1114270174096412672)
|
- [Search (thanks Algolia)](https://mobile.twitter.com/4lpine/status/1114270174096412672)
|
||||||
* [Guides](https://mdxjs.com)
|
- [Guides](https://mdxjs.com)
|
||||||
* [Automatic deployment via ZEIT](https://zeit.co)
|
- [Automatic deployment via ZEIT](https://zeit.co)
|
||||||
* [Custom Gatsby theme](https://gatsbyjs.org)
|
- [Custom Gatsby theme](https://gatsbyjs.org)
|
||||||
* Reorganization of docs for intuitiveness
|
- Reorganization of docs for intuitiveness
|
||||||
* Full page rewrites to improve clarity
|
- Full page rewrites to improve clarity
|
||||||
|
|
||||||
Special thanks to [@jxnblk](https://github.com/jxnblks) and [@wooorm](https://github.com/wooorm) for their help
|
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.
|
improving the docs and updating the build tooling.
|
||||||
|
|
||||||
## Breaking changes
|
## Breaking changes
|
||||||
|
|
||||||
In order to make some improvements we were forced to introduce a few breaking changes. **These were the
|
In order to make some improvements we were forced to introduce a few breaking changes. **These were the
|
||||||
result of real-world production testing and feedback**. The community has evolved and we’ve come up with
|
result of real-world production testing and feedback**. The community has evolved and we’ve come up with
|
||||||
newer, better ideas over the last year. We have made sure the impact is small and have written a full
|
newer, better ideas over the last year. We have made sure the impact is small and have written a full
|
||||||
migration guide.
|
migration guide.
|
||||||
|
|
||||||
* 🚨`@mdx-js/tag` is replaced by `@mdx-js/react` and an `@mdx` pragma - [migration guide](/migrating/v1#pragma)
|
- 🚨`@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)
|
- 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)
|
- React support now requires `>= 16.8` in `@mdx-js/react` - [migration guide](/migrating/v1#react)
|
||||||
|
|
||||||
[Read the full v1 migration guide](/migrating/v1)
|
[Read the full v1 migration guide](/migrating/v1)
|
||||||
|
|
||||||
#### Deprecations
|
#### Deprecations
|
||||||
|
|
||||||
We only needed to introduce one deprecation. The `mdPlugins` and `hastPlugins` options have been renamed
|
We only needed to introduce one deprecation. The `mdPlugins` and `hastPlugins` options have been renamed
|
||||||
`remarkPlugins` and `rehypePlugins` respectively. For the time being we will issue a warning when the old options
|
`remarkPlugins` and `rehypePlugins` respectively. For the time being we will issue a warning when the old options
|
||||||
are used. In v2, the old options will be removed.
|
are used. In v2, the old options will be removed.
|
||||||
|
|
||||||
## 📈 Growth
|
## 📈 Growth
|
||||||
|
|
||||||
A major release is always a good time to take a step back and reflect on what’s been happening in terms of growth
|
A major release is always a good time to take a step back and reflect on what’s been happening in terms of growth
|
||||||
and the greater community. The ecosystem surrounding MDX has already grown larger than we ever dreamed. We’ve also
|
and the greater community. The ecosystem surrounding MDX has already grown larger than we ever dreamed. We’ve also
|
||||||
seen projects/products/application we never even imagined.
|
seen projects/products/application we never even imagined.
|
||||||
|
|
||||||
### Numbers
|
### Numbers
|
||||||
|
|
||||||
* **Downloads**: 125,000/week, 2.4M total
|
- **Downloads**: 125,000/week, 2.4M total
|
||||||
* **Stars**: 6,200
|
- **Stars**: 6,200
|
||||||
* **Contributors**: 50
|
- **Contributors**: 50
|
||||||
* **Pull requests**: 281
|
- **Pull requests**: 281
|
||||||
* **Commits**: 670
|
- **Commits**: 670
|
||||||
|
|
||||||
The contributor growth is one of the most important aspects here as we have numerous community members that are familiar
|
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
|
with MDX internals. This allows us to continually improve the project and spread the workload against an ever growing
|
||||||
team of contributors.
|
team of contributors.
|
||||||
|
|
||||||
[See the contributor graph](https://github.com/mdx-js/mdx/graphs/contributors)
|
[See the contributor graph](https://github.com/mdx-js/mdx/graphs/contributors)
|
||||||
|
|
||||||
### Ecosystem
|
### Ecosystem
|
||||||
|
|
||||||
* [Prettier](https://prettier.io)
|
- [Prettier](https://prettier.io)
|
||||||
* [Docz](https://docz.site)
|
- [Docz](https://docz.site)
|
||||||
* [MDX Deck](https://github.com/jxnblk/mdx-deck)
|
- [MDX Deck](https://github.com/jxnblk/mdx-deck)
|
||||||
* [Next.js](https://nextjs.org)
|
- [Next.js](https://nextjs.org)
|
||||||
* [Gatsby](https://gatsbyjs.org)
|
- [Gatsby](https://gatsbyjs.org)
|
||||||
* [AST Explorer](https://astexplorer.net)
|
- [AST Explorer](https://astexplorer.net)
|
||||||
* [Vue support (alpha)](/vue)
|
- [Vue support (alpha)](/vue)
|
||||||
* [Demoboard](https://frontarm.com/demoboard/)
|
- [Demoboard](https://frontarm.com/demoboard/)
|
||||||
* [Editors](/editors)
|
- [Editors](/editors)
|
||||||
|
|
||||||
## 🛣 Roadmap
|
## 🛣 Roadmap
|
||||||
|
|
||||||
With v1 released we have a roadmap in place that we’ll continue working towards over the next 6 months or
|
With v1 released we have a roadmap in place that we’ll continue working towards over the next 6 months or
|
||||||
so in addition to bug fixes and parsing issues we might encounter.
|
so in addition to bug fixes and parsing issues we might encounter.
|
||||||
|
|
||||||
* MDXs: [#454](https://github.com/mdx-js/mdx/issues/454)
|
- MDXs: [#454](https://github.com/mdx-js/mdx/issues/454)
|
||||||
* Interleaving: [#195](https://github.com/mdx-js/mdx/issues/195)
|
- Interleaving: [#195](https://github.com/mdx-js/mdx/issues/195)
|
||||||
* Global shortcodes: [#508](https://github.com/mdx-js/mdx/pull/508)
|
- Global shortcodes: [#508](https://github.com/mdx-js/mdx/pull/508)
|
||||||
* Stable Vue support: [#238](https://github.com/mdx-js/mdx/issues/238)
|
- Stable Vue support: [#238](https://github.com/mdx-js/mdx/issues/238)
|
||||||
* Blocks: MDX WYSIWYG: [blocks/blocks](https://github.com/blocks/blocks)
|
- 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)
|
- 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)
|
- New splash page: [#444](https://github.com/mdx-js/mdx/issues/444)
|
||||||
* Showcase page: [#414](https://github.com/mdx-js/mdx/issues/414)
|
- Showcase page: [#414](https://github.com/mdx-js/mdx/issues/414)
|
||||||
|
|
||||||
### Vue support
|
### Vue support
|
||||||
|
|
||||||
Supporting Vue is an important goal for MDX and is one of the primary reasons we’ve rearchitected MDX to use
|
Supporting Vue is an important goal for MDX and is one of the primary reasons we’ve rearchitected MDX to use
|
||||||
custom pragma. We’re delighted that **we now have an alpha version for Vue working**. We’d love it if anyone
|
custom pragma. We’re delighted that **we now have an alpha version for Vue working**. We’d love it if anyone
|
||||||
from the Vue community wants to give it a try and provide feedback.
|
from the Vue community wants to give it a try and provide feedback.
|
||||||
|
|
||||||
[See the Vue example](https://github.com/mdx-js/mdx/tree/master/examples/vue)
|
[See the Vue example](https://github.com/mdx-js/mdx/tree/master/examples/vue)
|
||||||
|
|
||||||
### Blocks project
|
### Blocks project
|
||||||
|
|
||||||
One of the key missing aspects of authoring MDX documents is the editing experience. Currently, there isn’t an
|
One of the key missing aspects of authoring MDX documents is the editing experience. Currently, there isn’t an
|
||||||
approachable way to write MDX unless you enjoy working in a text editor and writing raw Markdown/code. We’d
|
approachable way to write MDX unless you enjoy working in a text editor and writing raw Markdown/code. We’d
|
||||||
like to solve that and have begun work on an MDX “blocks editor” that’s a **content-focused WYSIWYG**. Not to mention,
|
like to solve that and have begun work on an MDX “blocks editor” that’s a **content-focused WYSIWYG**. Not to mention,
|
||||||
we’ll be doing all that we can to make sure the editor is as accessible as it can be from the beginning.
|
we’ll be doing all that we can to make sure the editor is as accessible as it can be from the beginning.
|
||||||
|
|
||||||
When we have a beta ready we will be open sourcing it and announcing, so stay tuned.
|
When we have a beta ready we will be open sourcing it and announcing, so stay tuned.
|
||||||
@ -145,15 +145,15 @@ 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
|
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.
|
projects are used all over the web, and it would never be possible without financial support from our fine sponsors.
|
||||||
|
|
||||||
* [ZEIT](https://zeit.co) 🥇
|
- [ZEIT](https://zeit.co) 🥇
|
||||||
* [Gatsby](https://gatsbyjs.org) 🥇
|
- [Gatsby](https://gatsbyjs.org) 🥇
|
||||||
* [Holloway](https://www.holloway.com) 🥉
|
- [Holloway](https://www.holloway.com) 🥉
|
||||||
* [Backers](https://opencollective.com/unified#budget) 🏆
|
- [Backers](https://opencollective.com/unified#budget) 🏆
|
||||||
* [You?](https://opencollective.com/unified) 👤
|
- [You?](https://opencollective.com/unified) 👤
|
||||||
|
|
||||||
## 🙏 Thanks
|
## 🙏 Thanks
|
||||||
|
|
||||||
We’d like to say thanks to all our contributors and our happy users. Special thanks to
|
We’d like to say thanks to all our contributors and our happy users. Special thanks to
|
||||||
[@wooorm](https://github.com/wooorm),
|
[@wooorm](https://github.com/wooorm),
|
||||||
[@silvenon](https://github.com/silvenon),
|
[@silvenon](https://github.com/silvenon),
|
||||||
[@timneutkens](https://github.com/timneutkens),
|
[@timneutkens](https://github.com/timneutkens),
|
||||||
@ -188,7 +188,7 @@ We’d like to say thanks to all our contributors and our happy users. Special
|
|||||||
[@sw-yx](https://github.com/sw-yx),
|
[@sw-yx](https://github.com/sw-yx),
|
||||||
and anyone we may have forgotten.
|
and anyone we may have forgotten.
|
||||||
|
|
||||||
* * *
|
---
|
||||||
|
|
||||||
Written by [John Otander](https://johno.com)
|
Written by [John Otander](https://johno.com)
|
||||||
|
|
||||||
|
@ -4,10 +4,10 @@
|
|||||||
> By interacting with this repository, organization, or community you agree to
|
> By interacting with this repository, organization, or community you agree to
|
||||||
> abide by its terms.
|
> abide by its terms.
|
||||||
|
|
||||||
Hi! 👋
|
Hi! 👋
|
||||||
We’re excited that you’re interested in contributing!
|
We’re excited that you’re interested in contributing!
|
||||||
Take a moment to read the following guidelines.
|
Take a moment to read the following guidelines.
|
||||||
And thanks for contributing to **MDX**! 👏👌✨
|
And thanks for contributing to **MDX**! 👏👌✨
|
||||||
|
|
||||||
If you’re raising an issue, please understand that people involved with this
|
If you’re raising an issue, please understand that people involved with this
|
||||||
project often do so for fun, next to their day job; you are not entitled to
|
project often do so for fun, next to their day job; you are not entitled to
|
||||||
@ -15,21 +15,21 @@ free customer service.
|
|||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
* [Support](#support)
|
- [Support](#support)
|
||||||
* [Contributions](#contributions)
|
- [Contributions](#contributions)
|
||||||
* [Financial support](#financial-support)
|
- [Financial support](#financial-support)
|
||||||
* [Improve documentation](#improve-documentation)
|
- [Improve documentation](#improve-documentation)
|
||||||
* [Improve issues](#improve-issues)
|
- [Improve issues](#improve-issues)
|
||||||
* [Give feedback on issues and pull requests](#give-feedback-on-issues-and-pull-requests)
|
- [Give feedback on issues and pull requests](#give-feedback-on-issues-and-pull-requests)
|
||||||
* [Write code](#write-code)
|
- [Write code](#write-code)
|
||||||
* [Running the tests](#running-the-tests)
|
- [Running the tests](#running-the-tests)
|
||||||
* [Running the docs site](#running-the-docs-site)
|
- [Running the docs site](#running-the-docs-site)
|
||||||
* [Submitting an issue](#submitting-an-issue)
|
- [Submitting an issue](#submitting-an-issue)
|
||||||
* [Submitting a pull request](#submitting-a-pull-request)
|
- [Submitting a pull request](#submitting-a-pull-request)
|
||||||
* [Project structure](#project-structure)
|
- [Project structure](#project-structure)
|
||||||
* [Releases](#releases)
|
- [Releases](#releases)
|
||||||
* [Troubleshooting](#troubleshooting)
|
- [Troubleshooting](#troubleshooting)
|
||||||
* [Resources](#resources)
|
- [Resources](#resources)
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ We’re always looking for more opinions on discussions in the issue tracker.
|
|||||||
|
|
||||||
### Write code
|
### Write code
|
||||||
|
|
||||||
Code contributions are very welcome. It’s often good to first create an issue
|
Code contributions are very welcome. It’s often good to first create an issue
|
||||||
to report a bug or suggest a new feature before creating a pull request to
|
to report a bug or suggest a new feature before creating a pull request to
|
||||||
prevent you from doing unnecessary work.
|
prevent you from doing unnecessary work.
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ prevent you from doing unnecessary work.
|
|||||||
3. `yarn test`
|
3. `yarn test`
|
||||||
|
|
||||||
Tests for an individual package can be run as a yarn workspace:
|
Tests for an individual package can be run as a yarn workspace:
|
||||||
`yarn workspace remark-mdx test`. To see what packages ar available to test
|
`yarn workspace remark-mdx test`. To see what packages ar available to test
|
||||||
you can list out all workspaces with `yarn workspaces info`.
|
you can list out all workspaces with `yarn workspaces info`.
|
||||||
|
|
||||||
## Running the docs site
|
## Running the docs site
|
||||||
@ -91,48 +91,48 @@ you can list out all workspaces with `yarn workspaces info`.
|
|||||||
|
|
||||||
## Submitting an issue
|
## Submitting an issue
|
||||||
|
|
||||||
* The issue tracker is for issues. Use chat for support
|
- The issue tracker is for issues. Use chat for support
|
||||||
* Search the issue tracker (including closed issues) before opening a new
|
- Search the issue tracker (including closed issues) before opening a new
|
||||||
issue
|
issue
|
||||||
* Ensure you’re using the latest version of our packages
|
- Ensure you’re using the latest version of our packages
|
||||||
* Use a clear and descriptive title
|
- Use a clear and descriptive title
|
||||||
* Include as much information as possible: steps to reproduce the issue,
|
- Include as much information as possible: steps to reproduce the issue,
|
||||||
error message, version, operating system, etcetera
|
error message, version, operating system, etcetera
|
||||||
* The more time you put into an issue, the better we will be able to help you
|
- 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 best issue report is a [failing test][unit-test] proving it
|
||||||
|
|
||||||
## Submitting a pull request
|
## 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
|
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
|
community for feedback as soon as possible
|
||||||
* New features should be accompanied with tests and documentation
|
- New features should be accompanied with tests and documentation
|
||||||
* Don’t include unrelated changes
|
- Don’t include unrelated changes
|
||||||
* Test before submitting code by running `yarn test`
|
- Test before submitting code by running `yarn test`
|
||||||
* Write a convincing description of why we should land your pull request:
|
- Write a convincing description of why we should land your pull request:
|
||||||
it’s your job to convince us
|
it’s your job to convince us
|
||||||
|
|
||||||
## Project structure
|
## Project structure
|
||||||
|
|
||||||
MDX is a monorepo that uses [lerna][].
|
MDX is a monorepo that uses [lerna][].
|
||||||
|
|
||||||
* All packages are found in `./packages`
|
- All packages are found in `./packages`
|
||||||
* All documentation is found in `./docs` and can be viewed with `yarn docs -- -o`
|
- All documentation is found in `./docs` and can be viewed with `yarn docs -- -o`
|
||||||
* There’s an `./examples` directory where examples for different tools and
|
- There’s an `./examples` directory where examples for different tools and
|
||||||
frameworks
|
frameworks
|
||||||
|
|
||||||
## Releases
|
## Releases
|
||||||
|
|
||||||
In order to release a new version you can follow these steps:
|
In order to release a new version you can follow these steps:
|
||||||
|
|
||||||
* Draft a release for the next version (vX.X.X)
|
- Draft a release for the next version (vX.X.X)
|
||||||
* Release a prerelease
|
- Release a prerelease
|
||||||
* `yarn lerna publish`
|
- `yarn lerna publish`
|
||||||
* Select prepatch/preminor/premajor
|
- Select prepatch/preminor/premajor
|
||||||
* Sanity check in a project or two with the prerelease
|
- Sanity check in a project or two with the prerelease
|
||||||
* `yarn lerna publish`
|
- `yarn lerna publish`
|
||||||
* Publish release on GitHub
|
- Publish release on GitHub
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
@ -142,24 +142,18 @@ If you’re having issues installing locally you might need to run
|
|||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
* [Good first issues in the MDX repository](https://github.com/mdx-js/mdx/labels/good%20first%20issue%20👋)
|
- [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/)
|
- [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)
|
- [Making your first contribution](https://medium.com/@vadimdemedes/making-your-first-contribution-de6576ddb190)
|
||||||
* [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
|
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
|
||||||
* [GitHub Help](https://help.github.com)
|
- [GitHub Help](https://help.github.com)
|
||||||
|
|
||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[unit-test]: https://twitter.com/sindresorhus/status/579306280495357953
|
[unit-test]: https://twitter.com/sindresorhus/status/579306280495357953
|
||||||
|
|
||||||
[collective]: https://opencollective.com/unified
|
[collective]: https://opencollective.com/unified
|
||||||
|
|
||||||
[micromark]: https://github.com/micromark/micromark
|
[micromark]: https://github.com/micromark/micromark
|
||||||
|
|
||||||
[lerna]: https://lernajs.io
|
[lerna]: https://lernajs.io
|
||||||
|
|
||||||
[lerna-install]: https://github.com/lerna/lerna/issues/1457
|
[lerna-install]: https://github.com/lerna/lerna/issues/1457
|
||||||
|
@ -2,27 +2,23 @@
|
|||||||
|
|
||||||
The community has begun adding MDX syntax highlighting support for some editors!
|
The community has begun adding MDX syntax highlighting support for some editors!
|
||||||
|
|
||||||
* [vscode][]: VSCode
|
- [vscode][]: VSCode
|
||||||
* [vscode-mdx-preview][]: MDX Preview for VS Code
|
- [vscode-mdx-preview][]: MDX Preview for VS Code
|
||||||
* [vim][]: Vim
|
- [vim][]: Vim
|
||||||
* [sublime][]: Sublime
|
- [sublime][]: Sublime
|
||||||
|
|
||||||
### Editors needing support
|
### Editors needing support
|
||||||
|
|
||||||
* Atom
|
- Atom
|
||||||
* Emacs
|
- Emacs
|
||||||
* [JetBrains IntelliJ/WebStorm][jetbrains]
|
- [JetBrains IntelliJ/WebStorm][jetbrains]
|
||||||
|
|
||||||
* * *
|
---
|
||||||
|
|
||||||
Original GitHub issue: [#119](https://github.com/mdx-js/mdx/issues/119)
|
Original GitHub issue: [#119](https://github.com/mdx-js/mdx/issues/119)
|
||||||
|
|
||||||
[vscode]: https://github.com/silvenon/vscode-mdx
|
[vscode]: https://github.com/silvenon/vscode-mdx
|
||||||
|
|
||||||
[vscode-mdx-preview]: https://github.com/xyc/vscode-mdx-preview
|
[vscode-mdx-preview]: https://github.com/xyc/vscode-mdx-preview
|
||||||
|
|
||||||
[vim]: https://github.com/jxnblk/vim-mdx-js
|
[vim]: https://github.com/jxnblk/vim-mdx-js
|
||||||
|
|
||||||
[sublime]: https://github.com/jonsuh/mdx-sublime
|
[sublime]: https://github.com/jonsuh/mdx-sublime
|
||||||
|
|
||||||
[jetbrains]: https://youtrack.jetbrains.com/issue/WEB-32599
|
[jetbrains]: https://youtrack.jetbrains.com/issue/WEB-32599
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
# Babel configuration
|
# Babel configuration
|
||||||
|
|
||||||
You will also need to configure [babel][] to support the language features that
|
You will also need to configure [babel][] to support the language features that
|
||||||
MDX uses. One way you can achieve that is using the following `.babelrc`
|
MDX uses. One way you can achieve that is using the following `.babelrc`
|
||||||
at your project root.
|
at your project root.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"presets": [
|
"presets": ["@babel/env", "@babel/react"]
|
||||||
"@babel/env",
|
|
||||||
"@babel/react"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -17,10 +17,10 @@ Then create the following `src/App.js`:
|
|||||||
```js
|
```js
|
||||||
// src/App.js
|
// src/App.js
|
||||||
|
|
||||||
import React, { lazy, Component, Suspense } from 'react';
|
import React, {lazy, Component, Suspense} from 'react'
|
||||||
import { importMDX } from 'mdx.macro';
|
import {importMDX} from 'mdx.macro'
|
||||||
|
|
||||||
const Content = lazy(() => importMDX('./Content.mdx'));
|
const Content = lazy(() => importMDX('./Content.mdx'))
|
||||||
|
|
||||||
class App extends Component {
|
class App extends Component {
|
||||||
render() {
|
render() {
|
||||||
@ -30,11 +30,11 @@ class App extends Component {
|
|||||||
<Content />
|
<Content />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
</div>
|
</div>
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default App;
|
export default App
|
||||||
```
|
```
|
||||||
|
|
||||||
And then create the following `src/Content.mdx`:
|
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]
|
[See the full example][cra-example]
|
||||||
|
|
||||||
[mdx-macro]: https://www.npmjs.com/package/mdx.macro
|
[mdx-macro]: https://www.npmjs.com/package/mdx.macro
|
||||||
|
|
||||||
[cra-example]: https://github.com/mdx-js/mdx/tree/master/examples/create-react-app
|
[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
|
[known bug]: https://github.com/facebook/create-react-app/issues/5580
|
||||||
|
@ -35,7 +35,5 @@ For more documentation on programmatically creating pages with Gatsby, see
|
|||||||
the [Gatsby MDX docs][gatsby-mdx-docs].
|
the [Gatsby MDX docs][gatsby-mdx-docs].
|
||||||
|
|
||||||
[gatsby]: https://gatsbyjs.org
|
[gatsby]: https://gatsbyjs.org
|
||||||
|
|
||||||
[gatsby-mdx-docs]: https://gatsbyjs.org/docs/mdx/
|
[gatsby-mdx-docs]: https://gatsbyjs.org/docs/mdx/
|
||||||
|
|
||||||
[gatsby-plugin-mdx]: https://gatsbyjs.org/packages/gatsby-plugin-mdx/
|
[gatsby-plugin-mdx]: https://gatsbyjs.org/packages/gatsby-plugin-mdx/
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Box } from '@rebass/emotion'
|
import {Box} from '@rebass/emotion'
|
||||||
|
|
||||||
# Getting Started
|
# Getting Started
|
||||||
|
|
||||||
@ -26,17 +26,17 @@ the installation guides.
|
|||||||
|
|
||||||
## Table of contents
|
## Table of contents
|
||||||
|
|
||||||
* [Hello World](#hello-world)
|
- [Hello World](#hello-world)
|
||||||
* [Syntax](#syntax)
|
- [Syntax](#syntax)
|
||||||
* [Markdown](#markdown)
|
- [Markdown](#markdown)
|
||||||
* [JSX](#jsx)
|
- [JSX](#jsx)
|
||||||
* [MDX](#mdx)
|
- [MDX](#mdx)
|
||||||
* [Working with components](#working-with-components)
|
- [Working with components](#working-with-components)
|
||||||
* [MDXProvider](#mdxprovider)
|
- [MDXProvider](#mdxprovider)
|
||||||
* [Table of components](#table-of-components)
|
- [Table of components](#table-of-components)
|
||||||
* [Installation guides](#installation-guides)
|
- [Installation guides](#installation-guides)
|
||||||
* [Scaffold out an app](#scaffold-out-an-app)
|
- [Scaffold out an app](#scaffold-out-an-app)
|
||||||
* [Do it yourself](#do-it-yourself)
|
- [Do it yourself](#do-it-yourself)
|
||||||
|
|
||||||
## Hello World
|
## Hello World
|
||||||
|
|
||||||
@ -70,14 +70,14 @@ Instead of the following HTML:
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<p>A blockquote with <em>some</em> emphasis.</p>
|
<p>A blockquote with <em>some</em> emphasis.</p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
```
|
```
|
||||||
|
|
||||||
You can write the equivalent in Markdown (or MDX) like so:
|
You can write the equivalent in Markdown (or MDX) like so:
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
> A blockquote with *some* emphasis.
|
> A blockquote with _some_ emphasis.
|
||||||
```
|
```
|
||||||
|
|
||||||
Markdown is good for **content**.
|
Markdown is good for **content**.
|
||||||
@ -194,7 +194,7 @@ Say we import our MDX file, using webpack and React, like so:
|
|||||||
```jsx
|
```jsx
|
||||||
// index.js
|
// index.js
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import MDXDocument, { metadata } from 'posts/post.mdx'
|
import MDXDocument, {metadata} from 'posts/post.mdx'
|
||||||
|
|
||||||
export default () => (
|
export default () => (
|
||||||
<>
|
<>
|
||||||
@ -225,7 +225,9 @@ After bundling and evaluating, we could get something like this:
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<h1>Post about MDX</h1>
|
<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>
|
<footer><p>By: Sue, Fred.</p></footer>
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -236,7 +238,7 @@ structures.
|
|||||||
##### Defining variables with exports
|
##### Defining variables with exports
|
||||||
|
|
||||||
If you need to define a variable in your MDX document, you can use an export
|
If you need to define a variable in your MDX document, you can use an export
|
||||||
to do so. Not only do exports emit data, they instantiate data you can reference
|
to do so. Not only do exports emit data, they instantiate data you can reference
|
||||||
in JSX blocks:
|
in JSX blocks:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
@ -262,8 +264,8 @@ component you’d like to render.
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import Hello from '../hello.mdx'
|
import Hello from '../hello.mdx'
|
||||||
|
|
||||||
const MyH1 = props => <h1 style={{ color: 'tomato' }} {...props} />
|
const MyH1 = props => <h1 style={{color: 'tomato'}} {...props} />
|
||||||
const MyParagraph = props => <p style={{ fontSize: '18px', lineHeight: 1.6 }} />
|
const MyParagraph = props => <p style={{fontSize: '18px', lineHeight: 1.6}} />
|
||||||
|
|
||||||
const components = {
|
const components = {
|
||||||
h1: MyH1,
|
h1: MyH1,
|
||||||
@ -279,14 +281,9 @@ You can also import your components from another location like your UI library:
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import Hello from '../hello.mdx'
|
import Hello from '../hello.mdx'
|
||||||
|
|
||||||
import {
|
import {Text, Heading, Code, InlineCode} from '../my-ui-library'
|
||||||
Text,
|
|
||||||
Heading,
|
|
||||||
Code,
|
|
||||||
InlineCode
|
|
||||||
} from '../my-ui-library'
|
|
||||||
|
|
||||||
export default () =>
|
export default () => (
|
||||||
<Hello
|
<Hello
|
||||||
components={{
|
components={{
|
||||||
h1: Heading,
|
h1: Heading,
|
||||||
@ -295,6 +292,7 @@ export default () =>
|
|||||||
inlineCode: InlineCode
|
inlineCode: InlineCode
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
With the above, the `Heading` component will be rendered for any `h1`, `Text`
|
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
|
```jsx
|
||||||
// src/App.js
|
// src/App.js
|
||||||
import React from 'react'
|
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 = {
|
const components = {
|
||||||
h1: Heading.H1,
|
h1: Heading.H1,
|
||||||
@ -326,10 +324,11 @@ const components = {
|
|||||||
inlineCode: Code
|
inlineCode: Code
|
||||||
}
|
}
|
||||||
|
|
||||||
export default props =>
|
export default props => (
|
||||||
<MDXProvider components={components}>
|
<MDXProvider components={components}>
|
||||||
<main {...props} />
|
<main {...props} />
|
||||||
</MDXProvider>
|
</MDXProvider>
|
||||||
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
This allows you to remove duplicated component passing and importing.
|
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
|
```js
|
||||||
// src/App.js
|
// src/App.js
|
||||||
import React from 'react'
|
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 }) =>
|
export default ({children}) => (
|
||||||
<MDXProvider components={{ wrapper: Wrapper }}>
|
<MDXProvider components={{wrapper: Wrapper}}>{children}</MDXProvider>
|
||||||
{children}
|
)
|
||||||
</MDXProvider>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
If you would like to see more advanced usage, see the
|
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
|
This is especially useful when you want to override layout for a single entry
|
||||||
point at the page level.
|
point at the page level.
|
||||||
To achieve this you can use the ES default [export][] and it will wrap your MDX
|
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:
|
You can declare a default export as a function:
|
||||||
|
|
||||||
@ -434,13 +434,13 @@ Now that we’ve gone over how MDX works, you’re ready to get installing.
|
|||||||
If you’re the type of person that wants to scaffold out an app quickly and start
|
If you’re the type of person that wants to scaffold out an app quickly and start
|
||||||
playing around you can use `npm init`:
|
playing around you can use `npm init`:
|
||||||
|
|
||||||
* `npm init mdx` [`webpack`](/getting-started/webpack)
|
- `npm init mdx` [`webpack`](/getting-started/webpack)
|
||||||
* `npm init mdx` [`parcel`](/getting-started/parcel)
|
- `npm init mdx` [`parcel`](/getting-started/parcel)
|
||||||
* `npm init mdx` [`next`](/getting-started/next)
|
- `npm init mdx` [`next`](/getting-started/next)
|
||||||
* `npm init mdx` [`create-react-app`](/getting-started/create-react-app)
|
- `npm init mdx` [`create-react-app`](/getting-started/create-react-app)
|
||||||
* `npm init mdx` [`gatsby`](/getting-started/gatsby)
|
- `npm init mdx` [`gatsby`](/getting-started/gatsby)
|
||||||
* `npm init mdx` [`x0`](/getting-started/x0)
|
- `npm init mdx` [`x0`](/getting-started/x0)
|
||||||
* `npm init mdx` [`react-static`](/getting-started/react-static)
|
- `npm init mdx` [`react-static`](/getting-started/react-static)
|
||||||
|
|
||||||
### Do it yourself
|
### Do it yourself
|
||||||
|
|
||||||
@ -491,21 +491,12 @@ const renderWithReact = async mdxCode => {
|
|||||||
```
|
```
|
||||||
|
|
||||||
[imports]: #imports
|
[imports]: #imports
|
||||||
|
|
||||||
[exports]: #exports
|
[exports]: #exports
|
||||||
|
|
||||||
[components]: #table-of-components
|
[components]: #table-of-components
|
||||||
|
|
||||||
[md]: https://daringfireball.net/projects/markdown/syntax
|
[md]: https://daringfireball.net/projects/markdown/syntax
|
||||||
|
|
||||||
[jsx]: https://reactjs.org/docs/introducing-jsx.html
|
[jsx]: https://reactjs.org/docs/introducing-jsx.html
|
||||||
|
|
||||||
[import]: https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/import
|
[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
|
[export]: https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export
|
||||||
|
|
||||||
[rebass]: https://rebassjs.org
|
[rebass]: https://rebassjs.org
|
||||||
|
|
||||||
[transclude]: https://en.wikipedia.org/wiki/Transclusion
|
[transclude]: https://en.wikipedia.org/wiki/Transclusion
|
||||||
|
|
||||||
[context]: https://reactjs.org/docs/context.html
|
[context]: https://reactjs.org/docs/context.html
|
||||||
|
@ -4,7 +4,7 @@ Next.js provides an [official plugin][next-plugin] to simplify MDX importing
|
|||||||
into your project.
|
into your project.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
npm install --save @next/mdx @mdx-js/loader
|
npm install --save @next/mdx @mdx-js/loader
|
||||||
```
|
```
|
||||||
|
|
||||||
To configure MDX, add the following to your `next.config.js`:
|
To configure MDX, add the following to your `next.config.js`:
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
||||||
|
|
||||||
<Redirect to='/advanced/typescript' />
|
<Redirect to="/advanced/typescript" />
|
||||||
|
@ -13,7 +13,7 @@ npm install --save-dev @mdx-js/loader
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
The loader needs to be used in tandem with the [babel-loader][]. Most projects will typically
|
The loader needs to be used in tandem with the [babel-loader][]. Most projects will typically
|
||||||
already include this if you are using JSX syntax.
|
already include this if you are using JSX syntax.
|
||||||
|
|
||||||
For webpack projects you can define the following `webpack.config.js` extension
|
For webpack projects you can define the following `webpack.config.js` extension
|
||||||
@ -29,10 +29,7 @@ module.exports = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
test: /\.mdx?$/,
|
test: /\.mdx?$/,
|
||||||
use: [
|
use: ['babel-loader', '@mdx-js/loader']
|
||||||
'babel-loader',
|
|
||||||
'@mdx-js/loader'
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -41,8 +38,8 @@ module.exports = {
|
|||||||
|
|
||||||
If you only want the loader for `.mdx` files you can change the regex to `/\.mdx$/`.
|
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
|
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
|
from the end of the loaders array and works backward, so it is important to
|
||||||
follow the ordering above.
|
follow the ordering above.
|
||||||
|
|
||||||
@ -94,5 +91,4 @@ module.exports = {
|
|||||||
<BabelConfig />
|
<BabelConfig />
|
||||||
|
|
||||||
[babel-loader]: https://webpack.js.org/loaders/babel-loader/
|
[babel-loader]: https://webpack.js.org/loaders/babel-loader/
|
||||||
|
|
||||||
[babel]: https://babeljs.io
|
[babel]: https://babeljs.io
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# x0
|
# x0
|
||||||
|
|
||||||
[x0][] is a zero-config tool with built in support for MDX. You will need
|
[x0][] is a zero-config tool with built in support for MDX. You will need
|
||||||
to install the library and set up the npm script.
|
to install the library and set up the npm script.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
@ -21,17 +21,17 @@ Then, in your `package.json` add the following to the `scripts`:
|
|||||||
## Customizing the layout
|
## Customizing the layout
|
||||||
|
|
||||||
[x0][] supports MDX files with either `.md` or `.mdx` file extensions out of
|
[x0][] supports MDX files with either `.md` or `.mdx` file extensions out of
|
||||||
the box. For components requiring providers you will need to use customize
|
the box. For components requiring providers you will need to use customize
|
||||||
`_app.js`. Here’s an example using [Rebass][] components:
|
`_app.js`. Here’s an example using [Rebass][] components:
|
||||||
|
|
||||||
```jsx
|
```jsx
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import * as Rebass from 'rebass'
|
import * as Rebass from 'rebass'
|
||||||
import createScope from '@rebass/markdown'
|
import createScope from '@rebass/markdown'
|
||||||
import { ScopeProvider } from '@compositor/x0/components'
|
import {ScopeProvider} from '@compositor/x0/components'
|
||||||
|
|
||||||
export default ({ route, routes, ...props }) => (
|
export default ({route, routes, ...props}) => (
|
||||||
<ScopeProvider scope={{ ...Rebass, ...createScope() }}>
|
<ScopeProvider scope={{...Rebass, ...createScope()}}>
|
||||||
<Rebass.Provider>
|
<Rebass.Provider>
|
||||||
<Rebass.Container {...props} />
|
<Rebass.Container {...props} />
|
||||||
</Rebass.Provider>
|
</Rebass.Provider>
|
||||||
@ -40,5 +40,4 @@ export default ({ route, routes, ...props }) => (
|
|||||||
```
|
```
|
||||||
|
|
||||||
[x0]: https://compositor.io/x0
|
[x0]: https://compositor.io/x0
|
||||||
|
|
||||||
[rebass]: https://rebassjs.com
|
[rebass]: https://rebassjs.com
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Zero
|
# Zero
|
||||||
|
|
||||||
[Zero](https://zeroserver.io) is a no-config web framework for React, MDX,
|
[Zero](https://zeroserver.io) is a no-config web framework for React, MDX,
|
||||||
Node.js, and Vue. It has built in support for MDX. To get started, install
|
Node.js, and Vue. It has built in support for MDX. To get started, install
|
||||||
Zero (globally or locally in your project).
|
Zero (globally or locally in your project).
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
@ -12,7 +12,7 @@ npm install -g zero
|
|||||||
|
|
||||||
## Writing MDX files
|
## Writing MDX files
|
||||||
|
|
||||||
Create a new directory for your project and add an `index.mdx` file with the
|
Create a new directory for your project and add an `index.mdx` file with the
|
||||||
following markdown:
|
following markdown:
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
@ -27,7 +27,7 @@ Zero has some additional features for MDX, you can [read them here](https://gith
|
|||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
* [Example Project](https://github.com/mdx-js/mdx/tree/master/examples/zero)
|
- [Example Project](https://github.com/mdx-js/mdx/tree/master/examples/zero)
|
||||||
* [Zero GitHub](https://github.com/remoteinterview/zero/)
|
- [Zero GitHub](https://github.com/remoteinterview/zero/)
|
||||||
* [Zero Website](https://zeroserver.io/)
|
- [Zero Website](https://zeroserver.io/)
|
||||||
* [Zero MDX Docs](https://github.com/remoteinterview/zero/tree/master/docs/mdx)
|
- [Zero MDX Docs](https://github.com/remoteinterview/zero/tree/master/docs/mdx)
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
# Custom loader
|
# Custom loader
|
||||||
|
|
||||||
By design, the default MDX is very minimal and likely won’t see any additional features outside of the MDX spec. However, webpack [makes it straightforward][webpack-loader] to write your own loader to add custom syntax support.
|
By design, the default MDX is very minimal and likely won’t see any additional features outside of the MDX spec. However, webpack [makes it straightforward][webpack-loader] to write your own loader to add custom syntax support.
|
||||||
|
|
||||||
Consider a scenario where you wanted to add frontmatter support to all your MDX documents. You could achieve this with a remark plugin or a custom loader. Here we’ll write a [custom loader][x0]:
|
Consider a scenario where you wanted to add frontmatter support to all your MDX documents. You could achieve this with a remark plugin or a custom loader. Here we’ll write a [custom loader][x0]:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
// lib/fm-loader.js
|
// lib/fm-loader.js
|
||||||
const matter = require('gray-matter')
|
const matter = require('gray-matter')
|
||||||
const stringifyObject = require('stringify-object')
|
const stringifyObject = require('stringify-object')
|
||||||
|
|
||||||
module.exports = async function (src) {
|
module.exports = async function(src) {
|
||||||
const callback = this.async()
|
const callback = this.async()
|
||||||
const { content, data } = matter(src)
|
const {content, data} = matter(src)
|
||||||
|
|
||||||
const code = `export const frontMatter = ${stringifyObject(data)}
|
const code = `export const frontMatter = ${stringifyObject(data)}
|
||||||
|
|
||||||
${content}`
|
${content}`
|
||||||
|
|
||||||
return callback(null, code)
|
return callback(null, code)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@ -43,5 +43,4 @@ module.exports = {
|
|||||||
```
|
```
|
||||||
|
|
||||||
[webpack-loader]: https://webpack.js.org/contribute/writing-a-loader
|
[webpack-loader]: https://webpack.js.org/contribute/writing-a-loader
|
||||||
|
|
||||||
[x0]: https://github.com/c8r/x0/blob/master/lib/mdx-fm-loader.js
|
[x0]: https://github.com/c8r/x0/blob/master/lib/mdx-fm-loader.js
|
||||||
|
@ -5,11 +5,11 @@ for common use cases, tools, and patterns.
|
|||||||
It’s intended to become the central knowledge base for MDX, so please feel free
|
It’s intended to become the central knowledge base for MDX, so please feel free
|
||||||
to add to them by [contributing](/contributing)!
|
to add to them by [contributing](/contributing)!
|
||||||
|
|
||||||
* [Add syntax highlighting to code blocks](/guides/syntax-highlighting)
|
- [Add syntax highlighting to code blocks](/guides/syntax-highlighting)
|
||||||
* [Add a live code block](/guides/live-code)
|
- [Add a live code block](/guides/live-code)
|
||||||
* [Render MDX to the terminal](/guides/terminal)
|
- [Render MDX to the terminal](/guides/terminal)
|
||||||
* [**\[WIP\]** Implement a dynamic table of contents](/guides/table-of-contents)
|
- [**\[WIP\]** Implement a dynamic table of contents](/guides/table-of-contents)
|
||||||
* [**\[WIP\]** Use MDX in a Vue project](/guides/vue)
|
- [**\[WIP\]** Use MDX in a Vue project](/guides/vue)
|
||||||
|
|
||||||
## Customizing
|
## Customizing
|
||||||
|
|
||||||
@ -17,6 +17,6 @@ At it’s core MDX is minimal and unopinionated, so there’s often a need to
|
|||||||
customize it.
|
customize it.
|
||||||
Here are a few ways to do that:
|
Here are a few ways to do that:
|
||||||
|
|
||||||
* [Write a custom remark plugin](/guides/writing-a-plugin)
|
- [Write a custom remark plugin](/guides/writing-a-plugin)
|
||||||
* [Building a custom webpack loader](/guides/custom-loader)
|
- [Building a custom webpack loader](/guides/custom-loader)
|
||||||
* [Wrapper customization](/guides/wrapper-customization)
|
- [Wrapper customization](/guides/wrapper-customization)
|
||||||
|
@ -5,7 +5,7 @@ If you haven’t read the syntax highlighting guide it’s recommended start the
|
|||||||
# Live code
|
# Live code
|
||||||
|
|
||||||
An increasingly common approach for live code editors is to overload the
|
An increasingly common approach for live code editors is to overload the
|
||||||
code block. This is often done so that the code shows up nicely when rendered
|
code block. This is often done so that the code shows up nicely when rendered
|
||||||
to GitHub and it’s a nice usage of meta strings.
|
to GitHub and it’s a nice usage of meta strings.
|
||||||
|
|
||||||
## Code block meta string
|
## Code block meta string
|
||||||
@ -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.
|
be automatically passed as props to your code block.
|
||||||
|
|
||||||
````md
|
````md
|
||||||
```js live=true
|
```js live=true
|
||||||
|
```
|
||||||
````
|
````
|
||||||
|
|
||||||
## Component
|
## Component
|
||||||
@ -79,8 +80,7 @@ const components = {
|
|||||||
}
|
}
|
||||||
export default props => (
|
export default props => (
|
||||||
<MDXProvider components={components}>
|
<MDXProvider components={components}>
|
||||||
<main {...props}>
|
<main {...props}></main>
|
||||||
</main>
|
|
||||||
</MDXProvider>
|
</MDXProvider>
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
@ -88,7 +88,7 @@ export default props => (
|
|||||||
## Using the MDXProvider context for rendering
|
## Using the MDXProvider context for rendering
|
||||||
|
|
||||||
With the react-live editor you can ensure that your MDX components
|
With the react-live editor you can ensure that your MDX components
|
||||||
in context are rendered in the preview. In order to do this you
|
in context are rendered in the preview. In order to do this you
|
||||||
can use the MDX custom pragma.
|
can use the MDX custom pragma.
|
||||||
|
|
||||||
To achieve this, import the pragma:
|
To achieve this, import the pragma:
|
||||||
@ -127,7 +127,7 @@ export default ({children, className, live, render}) => {
|
|||||||
<LiveProvider
|
<LiveProvider
|
||||||
code={children.trim()}
|
code={children.trim()}
|
||||||
transformCode={code => '/** @jsx mdx */' + code}
|
transformCode={code => '/** @jsx mdx */' + code}
|
||||||
scope={{ mdx }}
|
scope={{mdx}}
|
||||||
>
|
>
|
||||||
<LivePreview />
|
<LivePreview />
|
||||||
<LiveEditor />
|
<LiveEditor />
|
||||||
|
@ -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:
|
First, link a stylesheet and use the `$` syntax:
|
||||||
|
|
||||||
```md
|
```mdx
|
||||||
<!-- index.mdx -->
|
<!-- index.mdx -->
|
||||||
|
|
||||||
<!-- Apply katex css -->
|
<!-- 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.
|
Lift($L$) can be determined by Lift Coefficient ($C_L$) like the following equation.
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
There are two primary approaches for adding syntax highlighting to MDX:
|
There are two primary approaches for adding syntax highlighting to MDX:
|
||||||
|
|
||||||
* composition via the MDXProvider
|
- composition via the MDXProvider
|
||||||
* remark plugin
|
- remark plugin
|
||||||
|
|
||||||
It’s typically preferred to take the compositional approach, but both
|
It’s typically preferred to take the compositional approach, but both
|
||||||
will be documented here.
|
will be documented here.
|
||||||
@ -11,8 +11,8 @@ will be documented here.
|
|||||||
## Composition
|
## Composition
|
||||||
|
|
||||||
The [MDXProvider](https://mdxjs.com/getting-started/#mdxprovider) provides
|
The [MDXProvider](https://mdxjs.com/getting-started/#mdxprovider) provides
|
||||||
a way to map components to be rendered for a given Markdown element. So,
|
a way to map components to be rendered for a given Markdown element. So,
|
||||||
this allows you to choose a specific component for the `code` block. To
|
this allows you to choose a specific component for the `code` block. To
|
||||||
get started you can wrap your app in the MDXProvider and add in a component
|
get started you can wrap your app in the MDXProvider and add in a component
|
||||||
to ensure it’s being picked up:
|
to ensure it’s being picked up:
|
||||||
|
|
||||||
@ -25,13 +25,12 @@ import {MDXProvider} from '@mdx-js/react'
|
|||||||
|
|
||||||
const components = {
|
const components = {
|
||||||
pre: props => <div {...props} />,
|
pre: props => <div {...props} />,
|
||||||
code: props => <pre style={{ color: 'tomato' }} {...props} />
|
code: props => <pre style={{color: 'tomato'}} {...props} />
|
||||||
}
|
}
|
||||||
|
|
||||||
export default props => (
|
export default props => (
|
||||||
<MDXProvider components={components}>
|
<MDXProvider components={components}>
|
||||||
<main {...props}>
|
<main {...props}></main>
|
||||||
</main>
|
|
||||||
</MDXProvider>
|
</MDXProvider>
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
@ -42,7 +41,7 @@ any code block found in your MDX files.
|
|||||||
### prism-react-renderer
|
### prism-react-renderer
|
||||||
|
|
||||||
Now that you have a custom component being rendered for code blocks you can
|
Now that you have a custom component being rendered for code blocks you can
|
||||||
choose any React component library to handle the syntax highlighting. A solid
|
choose any React component library to handle the syntax highlighting. A solid
|
||||||
library to choose is [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer).
|
library to choose is [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer).
|
||||||
|
|
||||||
You can install it with:
|
You can install it with:
|
||||||
@ -54,7 +53,7 @@ yarn add prism-react-renderer
|
|||||||
#### Build a CodeBlock component
|
#### Build a CodeBlock component
|
||||||
|
|
||||||
You can essentially cut and paste the entire example into a new
|
You can essentially cut and paste the entire example into a new
|
||||||
component file. The only big difference is the MDX will pass in the
|
component file. The only big difference is the MDX will pass in the
|
||||||
code string as `children` so you will need to destructure that prop
|
code string as `children` so you will need to destructure that prop
|
||||||
and pass it to Highlight as the `code` prop.
|
and pass it to Highlight as the `code` prop.
|
||||||
|
|
||||||
@ -65,7 +64,7 @@ import Highlight, {defaultProps} from 'prism-react-renderer'
|
|||||||
|
|
||||||
export default ({children}) => {
|
export default ({children}) => {
|
||||||
return (
|
return (
|
||||||
<Highlight {...defaultProps} code={children} language='javascript'>
|
<Highlight {...defaultProps} code={children} language="javascript">
|
||||||
{({className, style, tokens, getLineProps, getTokenProps}) => (
|
{({className, style, tokens, getLineProps, getTokenProps}) => (
|
||||||
<pre className={className} style={{...style, padding: '20px'}}>
|
<pre className={className} style={{...style, padding: '20px'}}>
|
||||||
{tokens.map((line, i) => (
|
{tokens.map((line, i) => (
|
||||||
@ -82,9 +81,9 @@ export default ({children}) => {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Now you should see syntax highlighting in your MDX files. However, right now
|
Now you should see syntax highlighting in your MDX files. However, right now
|
||||||
`javascript` is hardcoded as the language. You will need to take the language
|
`javascript` is hardcoded as the language. You will need to take the language
|
||||||
from the code fence and pass it to Highlight directly. MDX will pass the language
|
from the code fence and pass it to Highlight directly. MDX will pass the language
|
||||||
as `className` so you can pull out the language with:
|
as `className` so you can pull out the language with:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
@ -123,7 +122,7 @@ export default ({children, className}) => {
|
|||||||
## Remark plugin
|
## Remark plugin
|
||||||
|
|
||||||
In addition to composition you can use any plugin from the remark
|
In addition to composition you can use any plugin from the remark
|
||||||
ecosystem. One solid library for syntax highlighting is
|
ecosystem. One solid library for syntax highlighting is
|
||||||
[@mapbox/rehype-prism](https://github.com/mapbox/rehype-prism).
|
[@mapbox/rehype-prism](https://github.com/mapbox/rehype-prism).
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
@ -2,6 +2,4 @@ import Note from 'gatsby-theme-mdx/src/components/note'
|
|||||||
|
|
||||||
# Table of contents
|
# Table of contents
|
||||||
|
|
||||||
<Note>
|
<Note>This guide is a WIP</Note>
|
||||||
This guide is a WIP
|
|
||||||
</Note>
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Tweet } from '@blocks/kit'
|
import {Tweet} from '@blocks/kit'
|
||||||
|
|
||||||
# Terminal
|
# Terminal
|
||||||
|
|
||||||
@ -41,15 +41,15 @@ const {MDXProvider} = require('@mdx-js/react')
|
|||||||
const MDX = require('@mdx-js/runtime')
|
const MDX = require('@mdx-js/runtime')
|
||||||
|
|
||||||
const components = {
|
const components = {
|
||||||
h1: ({ children }) => <Text bold>{children}</Text>,
|
h1: ({children}) => <Text bold>{children}</Text>,
|
||||||
p: ({ children }) => <Text>{children}</Text>
|
p: ({children}) => <Text>{children}</Text>
|
||||||
}
|
}
|
||||||
|
|
||||||
render(
|
render(
|
||||||
<MDXProvider components={components}>
|
<MDXProvider components={components}>
|
||||||
<MDX>{MDXContent}</MDX>
|
<MDX>{MDXContent}</MDX>
|
||||||
</MDXProvider>
|
</MDXProvider>
|
||||||
);
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also provide other components to the runtime scope for additional
|
You can also provide other components to the runtime scope for additional
|
||||||
@ -60,8 +60,8 @@ const components = {
|
|||||||
Box,
|
Box,
|
||||||
Color,
|
Color,
|
||||||
Text,
|
Text,
|
||||||
h1: ({ children }) => <Text bold>{children}</Text>,
|
h1: ({children}) => <Text bold>{children}</Text>,
|
||||||
p: ({ children }) => <Text>{children}</Text>
|
p: ({children}) => <Text>{children}</Text>
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ This will allow you to write content like the following
|
|||||||
```mdx
|
```mdx
|
||||||
# Hello, world!
|
# Hello, world!
|
||||||
|
|
||||||
From <Color bgBlack white bold> MDX! </Color>
|
From <Color bgBlack white bold> MDX! </Color>
|
||||||
|
|
||||||
<Box marginTop={1}>
|
<Box marginTop={1}>
|
||||||
<Color bgCyan white bold>
|
<Color bgCyan white bold>
|
||||||
@ -83,10 +83,10 @@ From <Color bgBlack white bold> MDX! </Color>
|
|||||||
## All together
|
## All together
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const React = require('react');
|
const React = require('react')
|
||||||
const {render, Color, Box, Text} = require('ink');
|
const {render, Color, Box, Text} = require('ink')
|
||||||
const MDX = require('@mdx-js/runtime')
|
const MDX = require('@mdx-js/runtime')
|
||||||
const { MDXProvider } = require('@mdx-js/react')
|
const {MDXProvider} = require('@mdx-js/react')
|
||||||
|
|
||||||
const MDXContent = `
|
const MDXContent = `
|
||||||
# Hello, world!
|
# Hello, world!
|
||||||
@ -103,15 +103,15 @@ From <Color bgBlack white bold> MDX! </Color>
|
|||||||
const components = {
|
const components = {
|
||||||
Box,
|
Box,
|
||||||
Color,
|
Color,
|
||||||
h1: ({ children }) => <Text bold>{children}</Text>,
|
h1: ({children}) => <Text bold>{children}</Text>,
|
||||||
p: ({ children }) => <Text>{children}</Text>
|
p: ({children}) => <Text>{children}</Text>
|
||||||
}
|
}
|
||||||
|
|
||||||
render(
|
render(
|
||||||
<MDXProvider components={components}>
|
<MDXProvider components={components}>
|
||||||
<MDX>{MDXContent}</MDX>
|
<MDX>{MDXContent}</MDX>
|
||||||
</MDXProvider>
|
</MDXProvider>
|
||||||
);
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
<Tweet tweetId="1141781114786160641" />
|
<Tweet tweetId="1141781114786160641" />
|
||||||
@ -119,5 +119,4 @@ render(
|
|||||||
[See the full example](https://github.com/mdx-js/mdx/tree/master/examples/cli)
|
[See the full example](https://github.com/mdx-js/mdx/tree/master/examples/cli)
|
||||||
|
|
||||||
[ink]: https://github.com/vadimdemedes/ink
|
[ink]: https://github.com/vadimdemedes/ink
|
||||||
|
|
||||||
[runtime]: https://mdxjs.com/advanced/runtime
|
[runtime]: https://mdxjs.com/advanced/runtime
|
||||||
|
@ -2,9 +2,7 @@ import Note from 'gatsby-theme-mdx/src/components/note'
|
|||||||
|
|
||||||
# Vue
|
# Vue
|
||||||
|
|
||||||
<Note>
|
<Note>This guide is a WIP</Note>
|
||||||
This guide is a WIP
|
|
||||||
</Note>
|
|
||||||
|
|
||||||
If you want to initialize a project to try Vue + MDX you can
|
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).
|
[use the Vue example](https://github.com/mdx-js/mdx/tree/master/examples/vue).
|
||||||
@ -30,10 +28,7 @@ module.exports = {
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
test: /.mdx?$/,
|
test: /.mdx?$/,
|
||||||
use: [
|
use: ['babel-loader', '@mdx-js/vue-loader']
|
||||||
'babel-loader',
|
|
||||||
'@mdx-js/vue-loader'
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -41,5 +36,5 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
That’s it. Now restart your server and you should be able to create `.mdx` files
|
That’s it. Now restart your server and you should be able to create `.mdx` files
|
||||||
and import them in other components.
|
and import them in other components.
|
||||||
|
@ -3,22 +3,22 @@ import Note from 'gatsby-theme-mdx/src/components/note'
|
|||||||
# Wrapper customization
|
# Wrapper customization
|
||||||
|
|
||||||
The [wrapper](/getting-started#using-the-wrapper) component can be used
|
The [wrapper](/getting-started#using-the-wrapper) component can be used
|
||||||
to set the layout for the MDX document. It’s often used to set container
|
to set the layout for the MDX document. It’s often used to set container
|
||||||
width, borders, background colors, etc. However, it’s also unique because
|
width, borders, background colors, etc. However, it’s also unique because
|
||||||
it has access to the children passed to it.
|
it has access to the children passed to it.
|
||||||
|
|
||||||
This means that you can do powerful things with the MDX document elements.
|
This means that you can do powerful things with the MDX document elements.
|
||||||
If you aren’t very familiar with React children, it might be worthwile to
|
If you aren’t 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.
|
by Max Stoiber.
|
||||||
|
|
||||||
> We can render arbitrary components as children, but still control them from the
|
> We can render arbitrary components as children, but still control them from the
|
||||||
> parent instead of the component we render them from.
|
> 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
|
The implications of this are very interesting from the context of an
|
||||||
MDX wrapper component. This means the wrapper can do things like reordering
|
MDX wrapper component. This means the wrapper can do things like reordering
|
||||||
components, wrapping them, or even further customizing them.
|
components, wrapping them, or even further customizing them.
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
@ -46,7 +46,7 @@ import {MDXProvider} from '@mdx-js/react'
|
|||||||
|
|
||||||
const components = {
|
const components = {
|
||||||
wrapper: props => (
|
wrapper: props => (
|
||||||
<div style={{ padding: '20px', backgroundColor: 'tomato' }}>
|
<div style={{padding: '20px', backgroundColor: 'tomato'}}>
|
||||||
<main {...props} />
|
<main {...props} />
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
@ -62,13 +62,14 @@ export default props => (
|
|||||||
### Inspecting types
|
### Inspecting types
|
||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This only works on the latest alpha version @mdx-js/mdx@next (>= 1.0.0-alpha.7)
|
This only works on the latest alpha version @mdx-js/mdx@next (>=
|
||||||
|
1.0.0-alpha.7)
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
Sometimes you might want to inspect the element type of that
|
Sometimes you might want to inspect the element type of that
|
||||||
MDX will be rendering with its custom pragma. You can use the
|
MDX will be rendering with its custom pragma. You can use the
|
||||||
wrapper to achieve this because it will have access to the MDX
|
wrapper to achieve this because it will have access to the MDX
|
||||||
components as children. You can check their type by accessing
|
components as children. You can check their type by accessing
|
||||||
the `mdxType` in props.
|
the `mdxType` in props.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
@ -78,7 +79,7 @@ import React from 'react'
|
|||||||
import {MDXProvider} from '@mdx-js/react'
|
import {MDXProvider} from '@mdx-js/react'
|
||||||
|
|
||||||
const components = {
|
const components = {
|
||||||
wrapper: ({ children, ...props }) => {
|
wrapper: ({children, ...props}) => {
|
||||||
console.log(children.map(child => child.props.mdxType))
|
console.log(children.map(child => child.props.mdxType))
|
||||||
return <>{children}</>
|
return <>{children}</>
|
||||||
}
|
}
|
||||||
@ -93,7 +94,7 @@ export default props => (
|
|||||||
|
|
||||||
### Manipulating children
|
### Manipulating children
|
||||||
|
|
||||||
You can also manipulate and modify children. Here is an example of reordering
|
You can also manipulate and modify children. Here is an example of reordering
|
||||||
them by converting them to an array and calling `reverse`.
|
them by converting them to an array and calling `reverse`.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
@ -103,7 +104,7 @@ import React from 'react'
|
|||||||
import {MDXProvider} from '@mdx-js/react'
|
import {MDXProvider} from '@mdx-js/react'
|
||||||
|
|
||||||
const components = {
|
const components = {
|
||||||
wrapper: ({ children, ...props }) => {
|
wrapper: ({children, ...props}) => {
|
||||||
const reversedChildren = React.Children.toArray(children).reverse()
|
const reversedChildren = React.Children.toArray(children).reverse()
|
||||||
return <>{reversedChildren}</>
|
return <>{reversedChildren}</>
|
||||||
}
|
}
|
||||||
@ -119,10 +120,10 @@ export default props => (
|
|||||||
## Related
|
## Related
|
||||||
|
|
||||||
If you would like to dive deeper, check out
|
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 Jackson’s [MDX Blocks](https://github.com/jxnblk/mdx-blocks)
|
or Brent Jackson’s [MDX Blocks](https://github.com/jxnblk/mdx-blocks)
|
||||||
|
|
||||||
* * *
|
---
|
||||||
|
|
||||||
* <https://mxstbr.blog/2017/02/react-children-deepdive>
|
- <https://mxstbr.blog/2017/02/react-children-deepdive>
|
||||||
* <https://github.com/jxnblk/mdx-blocks>
|
- <https://github.com/jxnblk/mdx-blocks>
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
For a full-fledged introduction to plugins it’s recommended to read the [remark guides][remark-guides] and study up on [syntax trees][syntax-trees].
|
For a full-fledged introduction to plugins it’s recommended to read the [remark guides][remark-guides] and study up on [syntax trees][syntax-trees].
|
||||||
|
|
||||||
Now let’s consider an example where you want to pass all headings through the [title][] module to ensure consistent capitalization. We can use [unist-util-visit][] to visit all headings and change the text nodes with `title(text)`.
|
Now let’s consider an example where you want to pass all headings through the [title][] module to ensure consistent capitalization. We can use [unist-util-visit][] to visit all headings and change the text nodes with `title(text)`.
|
||||||
|
|
||||||
## Visiting heading nodes
|
## Visiting heading nodes
|
||||||
|
|
||||||
The first thing you want to do is install the `unist-util-visit` library. This is a utility library that allows you
|
The first thing you want to do is install the `unist-util-visit` library. This is a utility library that allows you
|
||||||
to visit all heading (or any other type of nodes) without having to write a lot of boiler plate code. It handles that
|
to visit all heading (or any other type of nodes) without having to write a lot of boiler plate code. It handles that
|
||||||
for you.
|
for you.
|
||||||
|
|
||||||
Then you can first log out the nodes to see it in action:
|
Then you can first log out the nodes to see it in action:
|
||||||
@ -22,11 +22,11 @@ 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
|
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.
|
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
|
“[phrasing content][phrasing]” nodes. For example if your heading looked like `# Hello, _world_`. In addition to the
|
||||||
text there is also an emphasis node.
|
text there is also an emphasis node.
|
||||||
|
|
||||||
## Visiting text nodes
|
## Visiting text nodes
|
||||||
@ -57,7 +57,7 @@ const visit = require('unist-util-visit')
|
|||||||
module.exports = () => (tree, file) => {
|
module.exports = () => (tree, file) => {
|
||||||
visit(tree, 'heading', node => {
|
visit(tree, 'heading', node => {
|
||||||
visit(node, 'text', textNode => {
|
visit(node, 'text', textNode => {
|
||||||
const text = textNode.value ? textNode.value.trim() : ''
|
const text = textNode.value ? textNode.value.trim() : ''
|
||||||
textNode.value = title(text)
|
textNode.value = title(text)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -65,11 +65,7 @@ module.exports = () => (tree, file) => {
|
|||||||
```
|
```
|
||||||
|
|
||||||
[remark-guides]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md#creating-plugins
|
[remark-guides]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md#creating-plugins
|
||||||
|
|
||||||
[syntax-trees]: https://github.com/syntax-tree/unist#syntax-tree
|
[syntax-trees]: https://github.com/syntax-tree/unist#syntax-tree
|
||||||
|
|
||||||
[title]: https://github.com/zeit/title
|
[title]: https://github.com/zeit/title
|
||||||
|
|
||||||
[unist-util-visit]: https://github.com/syntax-tree/unist-util-visit
|
[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
|
[phrasing]: https://www.w3.org/TR/2011/WD-html5-author-20110809/content-models.html#phrasing-content-0
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
### Markdown for the component era
|
### Markdown for the component era
|
||||||
|
|
||||||
MDX is an authorable format that lets you seamlessly write JSX in your Markdown
|
MDX is an authorable format that lets you seamlessly write JSX in your Markdown
|
||||||
documents. You can import components, such as interactive charts or alerts, and
|
documents. You can import components, such as interactive charts or alerts, and
|
||||||
embed them within your content. This makes writing long-form content with
|
embed them within your content. This makes writing long-form content with
|
||||||
components a blast :rocket:.
|
components a blast :rocket:.
|
||||||
|
|
||||||
#### Try it
|
#### Try it
|
||||||
@ -43,16 +43,15 @@ during the build stage.
|
|||||||
## Why?
|
## Why?
|
||||||
|
|
||||||
Before MDX, some of the benefits of writing Markdown were lost when integrating
|
Before MDX, some of the benefits of writing Markdown were lost when integrating
|
||||||
with JSX. Implementations were often template string-based which required lots
|
with JSX. Implementations were often template string-based which required lots
|
||||||
of escaping and cumbersome syntax.
|
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
|
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
|
even be dynamic or load data, with the simplicity of Markdown for long-form
|
||||||
content.
|
content.
|
||||||
|
|
||||||
> [Watch some of these features in action][intro]
|
> [Watch some of these features in action][intro]
|
||||||
|
|
||||||
[quote]: https://twitter.com/chrisbiscardi/status/1022304288326864896
|
[quote]: https://twitter.com/chrisbiscardi/status/1022304288326864896
|
||||||
|
|
||||||
[intro]: https://www.youtube.com/watch?v=d2sQiI5NFAM&list=PLV5CVI1eNcJgCrPH_e6d57KRUTiDZgs0u
|
[intro]: https://www.youtube.com/watch?v=d2sQiI5NFAM&list=PLV5CVI1eNcJgCrPH_e6d57KRUTiDZgs0u
|
||||||
|
@ -6,9 +6,9 @@ In order to ensure as seamless of an upgrade as possible we plan on supporting v
|
|||||||
|
|
||||||
## ⚠️ Breaking changes
|
## ⚠️ Breaking changes
|
||||||
|
|
||||||
* [🚨`@mdx-js/tag` is replaced by `@mdx-js/react` and an `mdx` pragma](#pragma) 🚨
|
- [🚨`@mdx-js/tag` is replaced by `@mdx-js/react` and an `mdx` pragma](#pragma) 🚨
|
||||||
* [MDXProvider now merges component contexts when nested](#mdxprovider)
|
- [MDXProvider now merges component contexts when nested](#mdxprovider)
|
||||||
* [React support now requires `>= 16.8` in `@mdx-js/react`](#react)
|
- [React support now requires `>= 16.8` in `@mdx-js/react`](#react)
|
||||||
|
|
||||||
## Pragma
|
## Pragma
|
||||||
|
|
||||||
@ -56,4 +56,4 @@ By ignoring outer context components and returning a new component mapping, you
|
|||||||
|
|
||||||
## React
|
## React
|
||||||
|
|
||||||
Before upgrading to `@mdx-js/mdx@1`, update your website/application to `react@16.8 react-dom@16.8` and ensure it works as expected. Then upgrade to v1.
|
Before upgrading to `@mdx-js/mdx@1`, update your website/application to `react@16.8 react-dom@16.8` and ensure it works as expected. Then upgrade to v1.
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
import Redirect from 'gatsby-theme-mdx/src/components/redirect'
|
||||||
|
|
||||||
<Redirect to='/advanced/plugins' />
|
<Redirect to="/advanced/plugins" />
|
||||||
|
@ -2,55 +2,42 @@
|
|||||||
|
|
||||||
## Apps
|
## Apps
|
||||||
|
|
||||||
* [demoboard][]: The simplest editor alive
|
- [demoboard][]: The simplest editor alive
|
||||||
|
|
||||||
## Libraries
|
## Libraries
|
||||||
|
|
||||||
* [ok-mdx][]: Browser-based MDX editor
|
- [ok-mdx][]: Browser-based MDX editor
|
||||||
* [docz][]: Documentation framework
|
- [docz][]: Documentation framework
|
||||||
* [mdx-deck][]: MDX-based presentation decks
|
- [mdx-deck][]: MDX-based presentation decks
|
||||||
* [mdx-docs][]: Next-based documentation framework
|
- [mdx-docs][]: Next-based documentation framework
|
||||||
* [mdx-paper][]: MDX-based research articles
|
- [mdx-paper][]: MDX-based research articles
|
||||||
* [spectacle-boilerplate-mdx][]: Boilerplate that facilitates using MDX with
|
- [spectacle-boilerplate-mdx][]: Boilerplate that facilitates using MDX with
|
||||||
Spectacle
|
Spectacle
|
||||||
* [Charge][]: An opinionated, zero-config static site generator
|
- [Charge][]: An opinionated, zero-config static site generator
|
||||||
|
|
||||||
## Sites
|
## Sites
|
||||||
|
|
||||||
* [ZEIT Docs][zeit-docs]
|
- [ZEIT Docs][zeit-docs]
|
||||||
* [Compositor][]
|
- [Compositor][]
|
||||||
* [Prisma][]
|
- [Prisma][]
|
||||||
* [Max Stoiber’s Blog][mxstbr]
|
- [Max Stoiber’s Blog][mxstbr]
|
||||||
|
|
||||||
## Other related links
|
## Other related links
|
||||||
|
|
||||||
* [awesome-mdx][]
|
- [awesome-mdx][]
|
||||||
* [MDX: content for kings and princesses][mdx-fairy-tale]
|
- [MDX: content for kings and princesses][mdx-fairy-tale]
|
||||||
|
|
||||||
[demoboard]: https://frontarm.com/demoboard
|
[demoboard]: https://frontarm.com/demoboard
|
||||||
|
|
||||||
[ok-mdx]: https://github.com/jxnblk/ok-mdx
|
[ok-mdx]: https://github.com/jxnblk/ok-mdx
|
||||||
|
|
||||||
[mdx-deck]: https://github.com/jxnblk/mdx-deck
|
[mdx-deck]: https://github.com/jxnblk/mdx-deck
|
||||||
|
|
||||||
[mdx-docs]: https://github.com/jxnblk/mdx-docs
|
[mdx-docs]: https://github.com/jxnblk/mdx-docs
|
||||||
|
|
||||||
[mdx-paper]: https://github.com/hubgit/mdx-paper
|
[mdx-paper]: https://github.com/hubgit/mdx-paper
|
||||||
|
|
||||||
[docz]: https://www.docz.site/
|
[docz]: https://www.docz.site/
|
||||||
|
|
||||||
[zeit-docs]: https://github.com/zeit/docs
|
[zeit-docs]: https://github.com/zeit/docs
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[prisma]: https://www.prisma.io/docs
|
[prisma]: https://www.prisma.io/docs
|
||||||
|
|
||||||
[mxstbr]: https://mxstbr.com
|
[mxstbr]: https://mxstbr.com
|
||||||
|
|
||||||
[awesome-mdx]: https://github.com/transitive-bullshit/awesome-mdx
|
[awesome-mdx]: https://github.com/transitive-bullshit/awesome-mdx
|
||||||
|
|
||||||
[spectacle-boilerplate-mdx]: https://github.com/FormidableLabs/spectacle-boilerplate-mdx
|
[spectacle-boilerplate-mdx]: https://github.com/FormidableLabs/spectacle-boilerplate-mdx
|
||||||
|
|
||||||
[charge]: https://charge.js.org
|
[charge]: https://charge.js.org
|
||||||
|
|
||||||
[mdx-fairy-tale]: https://github.com/DeveloperMode/mdx-fairy-tale
|
[mdx-fairy-tale]: https://github.com/DeveloperMode/mdx-fairy-tale
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
> By interacting with this repository, organization, or community you agree to
|
> By interacting with this repository, organization, or community you agree to
|
||||||
> abide by its terms.
|
> abide by its terms.
|
||||||
|
|
||||||
Hi! 👋
|
Hi! 👋
|
||||||
We’re excited that you’re using **MDX** and we’d love to help.
|
We’re excited that you’re using **MDX** and we’d love to help.
|
||||||
To help us help you, please read through the following guidelines.
|
To help us help you, please read through the following guidelines.
|
||||||
|
|
||||||
@ -14,9 +14,9 @@ free customer service.
|
|||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
* [Questions](#questions)
|
- [Questions](#questions)
|
||||||
* [Asking quality questions](#asking-quality-questions)
|
- [Asking quality questions](#asking-quality-questions)
|
||||||
* [Contributions](#contributions)
|
- [Contributions](#contributions)
|
||||||
|
|
||||||
## Questions
|
## Questions
|
||||||
|
|
||||||
@ -28,23 +28,23 @@ Jump in there and lurk, talk to us, and help others.
|
|||||||
Help us help you!
|
Help us help you!
|
||||||
|
|
||||||
Spending time framing a question and adding support links or resources makes it
|
Spending time framing a question and adding support links or resources makes it
|
||||||
much easier for us to help. It’s easy to fall into the trap of asking something too
|
much easier for us to help. It’s easy to fall into the trap of asking something too
|
||||||
specific when you’re close to a problem. Then, those trying to help you out have
|
specific when you’re close to a problem. Then, those trying to help you out have
|
||||||
to spend a lot of time asking additional questions to understand what you are
|
to spend a lot of time asking additional questions to understand what you are
|
||||||
hoping to achieve.
|
hoping to achieve.
|
||||||
|
|
||||||
Spending the extra time up front can help save everyone time in the long run.
|
Spending the extra time up front can help save everyone time in the long run.
|
||||||
|
|
||||||
* Try to define what you need help with:
|
- Try to define what you need help with:
|
||||||
* Is there something in particular you want to do?
|
- 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?
|
- What problem are you encountering and what steps have you taken to try and fix it?
|
||||||
* Is there a concept you’re not understanding?
|
- Is there a concept you’re not understanding?
|
||||||
* Learn about the [rubber duck debugging method][rubberduck]
|
- Learn about the [rubber duck debugging method][rubberduck]
|
||||||
* Avoid falling for the [XY problem][xy]
|
- Avoid falling for the [XY problem][xy]
|
||||||
* Search on GitHub and Spectrum to see if a similar question has been asked
|
- 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)
|
- Read through the [Getting Started Guide](https://mdxjs.com/getting-started)
|
||||||
* If possible, provide sample code, a [CodeSandbox](https://codesandbox.io), or a video
|
- 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
|
- The more time you put into asking your question, the better we can help you
|
||||||
|
|
||||||
## Contributions
|
## Contributions
|
||||||
|
|
||||||
@ -53,11 +53,7 @@ Spending the extra time up front can help save everyone time in the long run.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[rubberduck]: https://rubberduckdebugging.com
|
[rubberduck]: https://rubberduckdebugging.com
|
||||||
|
|
||||||
[xy]: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378
|
[xy]: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378
|
||||||
|
|
||||||
[chat]: https://spectrum.chat/mdx
|
[chat]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
@ -31,13 +31,13 @@ See the section about [deployment](https://facebook.github.io/create-react-app/d
|
|||||||
|
|
||||||
### `npm run eject`
|
### `npm run eject`
|
||||||
|
|
||||||
**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
|
**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
|
||||||
|
|
||||||
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
|
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
|
||||||
|
|
||||||
Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
|
Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
|
||||||
|
|
||||||
You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
|
You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
|
||||||
|
|
||||||
## Learn More
|
## Learn More
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import React, {lazy, Component, Suspense} from 'react'
|
import React, {lazy, Component, Suspense} from 'react'
|
||||||
import {importMDX} from 'mdx.macro'
|
import {importMDX} from 'mdx.macro'
|
||||||
|
|
||||||
const Content = lazy(() => importMDX('./Content.mdx'))
|
const Content = lazy(() => importMDX('./content.mdx'))
|
||||||
|
|
||||||
class App extends Component {
|
class App extends Component {
|
||||||
render() {
|
render() {
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
export const Demo = () => (
|
|
||||||
<div style={{ padding: 20, backgroundColor: "tomato" }} />
|
|
||||||
);
|
|
||||||
|
|
||||||
# Hello, world!
|
|
||||||
|
|
||||||
<Demo />
|
|
7
examples/create-react-app/src/content.mdx
Normal file
7
examples/create-react-app/src/content.mdx
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
export const Demo = () => (
|
||||||
|
<div style={{padding: 20, backgroundColor: 'tomato'}} />
|
||||||
|
)
|
||||||
|
|
||||||
|
# Hello, world!
|
||||||
|
|
||||||
|
<Demo />
|
@ -1,3 +1,3 @@
|
|||||||
# Hello, world!
|
# Hello, world!
|
||||||
|
|
||||||
<div style={{ padding: '20px', backgroundColor: 'tomato' }} />
|
<div style={{padding: '20px', backgroundColor: 'tomato'}} />
|
||||||
|
@ -4,15 +4,15 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import Example from './place'
|
import Example from './place'
|
||||||
|
|
||||||
export default () => (
|
export default () => <Example />
|
||||||
<Example />
|
|
||||||
)
|
|
||||||
```
|
```
|
||||||
|
|
||||||
```js render=true
|
```js render=true
|
||||||
<div style={{ backgroundColor: 'rebeccapurple', padding: '20px', marginTop: '20px' }} />
|
<div
|
||||||
|
style={{backgroundColor: 'rebeccapurple', padding: '20px', marginTop: '20px'}}
|
||||||
|
/>
|
||||||
```
|
```
|
||||||
|
|
||||||
```js live=true
|
```js live=true
|
||||||
<div style={{ backgroundColor: 'tomato', padding: '20px' }} />
|
<div style={{backgroundColor: 'tomato', padding: '20px'}} />
|
||||||
```
|
```
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import Counter from './_counter.jsx';
|
import Counter from './_counter.jsx'
|
||||||
|
|
||||||
# Hello, world!
|
# Hello, world!
|
||||||
|
|
||||||
Zero supports MDX natively.
|
Zero supports MDX natively.
|
||||||
You can import React components in an `.mdx` file.
|
You can import React components in an `.mdx` file.
|
||||||
|
|
||||||
<Counter />
|
<Counter />
|
||||||
|
24
package.json
24
package.json
@ -66,7 +66,7 @@
|
|||||||
"lerna": "3.20.2",
|
"lerna": "3.20.2",
|
||||||
"lint-staged": "10.0.2",
|
"lint-staged": "10.0.2",
|
||||||
"memory-fs": "0.5.0",
|
"memory-fs": "0.5.0",
|
||||||
"prettier": "1.19.1",
|
"prettier": "prettier/prettier",
|
||||||
"prettier-plugin-pkg": "0.4.10",
|
"prettier-plugin-pkg": "0.4.10",
|
||||||
"react": "16.12.0",
|
"react": "16.12.0",
|
||||||
"react-dom": "16.12.0",
|
"react-dom": "16.12.0",
|
||||||
@ -76,9 +76,13 @@
|
|||||||
"remark-math": "2.0.0",
|
"remark-math": "2.0.0",
|
||||||
"remark-mdx": "^1.5.1",
|
"remark-mdx": "^1.5.1",
|
||||||
"remark-parse": "7.0.2",
|
"remark-parse": "7.0.2",
|
||||||
|
"remark-preset-prettier": "^0.3.0",
|
||||||
"remark-preset-wooorm": "6.0.1",
|
"remark-preset-wooorm": "6.0.1",
|
||||||
"remark-slug": "5.1.2",
|
"remark-slug": "5.1.2",
|
||||||
"remark-stringify": "7.0.4",
|
"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",
|
"rimraf": "3.0.0",
|
||||||
"typescript": "3.7.5",
|
"typescript": "3.7.5",
|
||||||
"unified": "8.4.2",
|
"unified": "8.4.2",
|
||||||
@ -123,23 +127,5 @@
|
|||||||
"bracketSpacing": false,
|
"bracketSpacing": false,
|
||||||
"semi": false,
|
"semi": false,
|
||||||
"trailingComma": "none"
|
"trailingComma": "none"
|
||||||
},
|
|
||||||
"remarkConfig": {
|
|
||||||
"plugins": [
|
|
||||||
"./packages/remark-mdx",
|
|
||||||
"preset-wooorm",
|
|
||||||
[
|
|
||||||
"lint-no-file-name-mixed-case",
|
|
||||||
false
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"lint-maximum-line-length",
|
|
||||||
false
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"validate-links",
|
|
||||||
false
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,10 +38,7 @@ const plugin = new BabelPluginApplyMdxTypeProp()
|
|||||||
|
|
||||||
const result = babel.transform(jsx, {
|
const result = babel.transform(jsx, {
|
||||||
configFile: false,
|
configFile: false,
|
||||||
plugins: [
|
plugins: ['@babel/plugin-syntax-jsx', plugin.plugin]
|
||||||
'@babel/plugin-syntax-jsx',
|
|
||||||
plugin.plugin
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log(result.code)
|
console.log(result.code)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# `babel-plugin-extract-import-names`
|
# `babel-plugin-extract-import-names`
|
||||||
|
|
||||||
Babel plugin that extracts all variable names from
|
Babel plugin that extracts all variable names from
|
||||||
import statements. Used by the [MDX](https://mdxjs.com)
|
import statements. Used by the [MDX](https://mdxjs.com)
|
||||||
pragma.
|
pragma.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# `babel-plugin-html-attributes-to-jsx`
|
# `babel-plugin-html-attributes-to-jsx`
|
||||||
|
|
||||||
Coerce HTML attributes into something JSX and React
|
Coerce HTML attributes into something JSX and React
|
||||||
friendly. Used by [MDX](https://mdxjs.com).
|
friendly. Used by [MDX](https://mdxjs.com).
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@ -28,10 +28,7 @@ const plugin = new BabelPluginHtmlAttributesToJsx()
|
|||||||
|
|
||||||
const result = babel.transform(jsx, {
|
const result = babel.transform(jsx, {
|
||||||
configFile: false,
|
configFile: false,
|
||||||
plugins: [
|
plugins: ['@babel/plugin-syntax-jsx', plugin]
|
||||||
'@babel/plugin-syntax-jsx',
|
|
||||||
plugin
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log(result.code)
|
console.log(result.code)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# `babel-plugin-remove-export-keywords`
|
# `babel-plugin-remove-export-keywords`
|
||||||
|
|
||||||
Remove export keywords by coercing them into variable
|
Remove export keywords by coercing them into variable
|
||||||
declarations. Used by [MDX](https://mdxjs.com).
|
declarations. Used by [MDX](https://mdxjs.com).
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@ -28,10 +28,7 @@ const plugin = new BabelPluginApplyMdxTypeProp()
|
|||||||
|
|
||||||
const result = babel.transform(jsx, {
|
const result = babel.transform(jsx, {
|
||||||
configFile: false,
|
configFile: false,
|
||||||
plugins: [
|
plugins: ['@babel/plugin-syntax-jsx', plugin]
|
||||||
'@babel/plugin-syntax-jsx',
|
|
||||||
plugin
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log(result.code)
|
console.log(result.code)
|
||||||
|
@ -39,31 +39,17 @@ abide by its terms.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: https://github.com/mdx-js/mdx/blob/master/license
|
[mit]: https://github.com/mdx-js/mdx/blob/master/license
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[zeit]: https://zeit.co
|
[zeit]: https://zeit.co
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[npm]: https://docs.npmjs.com/cli/init
|
[npm]: https://docs.npmjs.com/cli/init
|
||||||
|
|
||||||
[next]: https://github.com/mdx-js/mdx/tree/master/examples/next
|
[next]: https://github.com/mdx-js/mdx/tree/master/examples/next
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
* [Introduction](/)
|
- [Introduction](/)
|
||||||
* [Getting Started](/getting-started)
|
- [Getting Started](/getting-started)
|
||||||
* [Next.js](/getting-started/next)
|
- [Next.js](/getting-started/next)
|
||||||
* [Gatsby](/getting-started/gatsby)
|
- [Gatsby](/getting-started/gatsby)
|
||||||
* [Create React App](/getting-started/create-react-app)
|
- [Create React App](/getting-started/create-react-app)
|
||||||
* [React Static](/getting-started/react-static)
|
- [React Static](/getting-started/react-static)
|
||||||
* [Webpack](/getting-started/webpack)
|
- [Webpack](/getting-started/webpack)
|
||||||
* [Parcel](/getting-started/parcel)
|
- [Parcel](/getting-started/parcel)
|
||||||
* [Zero](/getting-started/zero)
|
- [Zero](/getting-started/zero)
|
||||||
* [Playground <sup style={{ color: '#444', textTransform: 'uppercase' }}>*alpha*</sup>](/playground)
|
- [Playground <sup style={{ color: '#444', textTransform: 'uppercase' }}>_alpha_</sup>](/playground)
|
||||||
* [Guides](/guides)
|
- [Guides](/guides)
|
||||||
* [Syntax highlighting](/guides/syntax-highlighting)
|
- [Syntax highlighting](/guides/syntax-highlighting)
|
||||||
* [Live code editor](/guides/live-code)
|
- [Live code editor](/guides/live-code)
|
||||||
* [Math blocks](/guides/math-blocks)
|
- [Math blocks](/guides/math-blocks)
|
||||||
* [Table of contents](/guides/table-of-contents)
|
- [Table of contents](/guides/table-of-contents)
|
||||||
* [Writing a plugin](/guides/writing-a-plugin)
|
- [Writing a plugin](/guides/writing-a-plugin)
|
||||||
* [Custom loader](/guides/custom-loader)
|
- [Custom loader](/guides/custom-loader)
|
||||||
* [Wrapper customization](/guides/wrapper-customization)
|
- [Wrapper customization](/guides/wrapper-customization)
|
||||||
* [Render MDX to the terminal](/guides/terminal)
|
- [Render MDX to the terminal](/guides/terminal)
|
||||||
* [Vue <sup style={{ color: '#444', textTransform: 'uppercase' }}>*alpha*</sup>](/guides/vue)
|
- [Vue <sup style={{ color: '#444', textTransform: 'uppercase' }}>_alpha_</sup>](/guides/vue)
|
||||||
* [Advanced](/advanced)
|
- [Advanced](/advanced)
|
||||||
* [API](/advanced/api)
|
- [API](/advanced/api)
|
||||||
* [Runtime](/advanced/runtime)
|
- [Runtime](/advanced/runtime)
|
||||||
* [AST](/advanced/ast)
|
- [AST](/advanced/ast)
|
||||||
* [Components](/advanced/components)
|
- [Components](/advanced/components)
|
||||||
* [Plugins](/advanced/plugins)
|
- [Plugins](/advanced/plugins)
|
||||||
* [Transform Content](/advanced/transform-content)
|
- [Transform Content](/advanced/transform-content)
|
||||||
* [Typescript](/advanced/typescript)
|
- [Typescript](/advanced/typescript)
|
||||||
* [Support](/support)
|
- [Support](/support)
|
||||||
* [Contributing](/contributing)
|
- [Contributing](/contributing)
|
||||||
* [Projects](/projects)
|
- [Projects](/projects)
|
||||||
* [Editors](/editors)
|
- [Editors](/editors)
|
||||||
* [Blog](/blog)
|
- [Blog](/blog)
|
||||||
* [About](/about)
|
- [About](/about)
|
||||||
* [Migrating from v0 to v1](/migrating/v1)
|
- [Migrating from v0 to v1](/migrating/v1)
|
||||||
* [V0](https://v0.mdxjs.com)
|
- [V0](https://v0.mdxjs.com)
|
||||||
|
@ -5,9 +5,9 @@ export default Layout
|
|||||||
|
|
||||||
# Playground
|
# Playground
|
||||||
|
|
||||||
Write some MDX code and see it render to the right. Below, you can also
|
Write some MDX code and see it render to the right. Below, you can also
|
||||||
see the output JSX and the intermediary ASTs. This can be helpful for
|
see the output JSX and the intermediary ASTs. This can be helpful for
|
||||||
debugging or exploring how MDX works. All [Rebass][] components are in
|
debugging or exploring how MDX works. All [Rebass][] components are in
|
||||||
scope, so you can use those in the editor.
|
scope, so you can use those in the editor.
|
||||||
|
|
||||||
<Playground />
|
<Playground />
|
||||||
|
@ -23,23 +23,20 @@ module: {
|
|||||||
// ...
|
// ...
|
||||||
{
|
{
|
||||||
test: /\.mdx?$/,
|
test: /\.mdx?$/,
|
||||||
use: [
|
use: ['babel-loader', '@mdx-js/loader']
|
||||||
'babel-loader',
|
|
||||||
'@mdx-js/loader'
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The `renderer` option specifies a string that will be prepended to the generated source allowing for the use of any `createElement` implementation. By default, that string is:
|
The `renderer` option specifies a string that will be prepended to the generated source allowing for the use of any `createElement` implementation. By default, that string is:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
import React from 'react'
|
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`.
|
Using the `renderer` option, one can swap out React for another implementation. The example below wraps a generic JSX compatible function named `h`.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const renderer = `
|
const renderer = `
|
||||||
@ -95,29 +92,16 @@ abide by its terms.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[zeit]: https://zeit.co
|
[zeit]: https://zeit.co
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[npm]: https://docs.npmjs.com/cli/install
|
[npm]: https://docs.npmjs.com/cli/install
|
||||||
|
@ -31,8 +31,12 @@ console.log(result)
|
|||||||
Yields:
|
Yields:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
export default ({components, ...props}) => <MDXTag name="wrapper" components={components}><MDXTag name="h1" components={components}>{`Hello, MDX`}</MDXTag>
|
export default ({components, ...props}) => (
|
||||||
<MDXTag name="p" components={components}>{`I <3 Markdown and JSX`}</MDXTag></MDXTag>
|
<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
|
## Contribute
|
||||||
@ -51,31 +55,17 @@ abide by its terms.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[remark]: https://github.com/remarkjs/remark
|
[remark]: https://github.com/remarkjs/remark
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[zeit]: https://zeit.co
|
[zeit]: https://zeit.co
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[npm]: https://docs.npmjs.com/cli/install
|
[npm]: https://docs.npmjs.com/cli/install
|
||||||
|
@ -47,33 +47,18 @@ abide by its terms.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: https://github.com/mdx-js/mdx/blob/master/license
|
[mit]: https://github.com/mdx-js/mdx/blob/master/license
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[zeit]: https://zeit.co
|
[zeit]: https://zeit.co
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[parcel]: https://parceljs.org
|
[parcel]: https://parceljs.org
|
||||||
|
|
||||||
[npm]: https://docs.npmjs.com/cli/install
|
[npm]: https://docs.npmjs.com/cli/install
|
||||||
|
|
||||||
[yarn]: https://yarnpkg.com/lang/en/docs/cli/install/
|
[yarn]: https://yarnpkg.com/lang/en/docs/cli/install/
|
||||||
|
@ -18,14 +18,15 @@ npm install --save @mdx-js/react
|
|||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```md
|
```md
|
||||||
// helloworld.md
|
<!-- helloworld.md -->
|
||||||
|
|
||||||
# Hello, World!
|
# Hello, World!
|
||||||
```
|
```
|
||||||
|
|
||||||
```jsx
|
```jsx
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { MDXProvider } from '@mdx-js/react'
|
import {MDXProvider} from '@mdx-js/react'
|
||||||
import { renderToString } from 'react-dom/server'
|
import {renderToString} from 'react-dom/server'
|
||||||
|
|
||||||
import HelloWorld from './helloworld.md'
|
import HelloWorld from './helloworld.md'
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ const H1 = props => <h1 style={{color: 'tomato'}} {...props} />
|
|||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
renderToString(
|
renderToString(
|
||||||
<MDXProvider components={{ h1: H1 }}>
|
<MDXProvider components={{h1: H1}}>
|
||||||
<HelloWorld />
|
<HelloWorld />
|
||||||
</MDXProvider>
|
</MDXProvider>
|
||||||
)
|
)
|
||||||
@ -62,29 +63,16 @@ abide by its terms.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[zeit]: https://zeit.co
|
[zeit]: https://zeit.co
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[npm]: https://docs.npmjs.com/cli/install
|
[npm]: https://docs.npmjs.com/cli/install
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
[![lerna][lerna-badge]][lerna]
|
[![lerna][lerna-badge]][lerna]
|
||||||
[![Join the community on Spectrum][spectrum-badge]][spectrum]
|
[![Join the community on Spectrum][spectrum-badge]][spectrum]
|
||||||
|
|
||||||
Remove export nodes from the [MDXAST][]. This is useful for scenarios where the exports aren’t needed like an MDX playground.
|
Remove export nodes from the [MDXAST][]. This is useful for scenarios where the exports aren’t needed like an MDX playground.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@ -75,31 +75,17 @@ abide by its terms.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[remark]: https://github.com/remarkjs/remark
|
[remark]: https://github.com/remarkjs/remark
|
||||||
|
|
||||||
[johno]: https://johno.com
|
[johno]: https://johno.com
|
||||||
|
|
||||||
[npm]: https://docs.npmjs.com/cli/install
|
[npm]: https://docs.npmjs.com/cli/install
|
||||||
|
|
||||||
[mdx]: https://mdxjs.com
|
[mdx]: https://mdxjs.com
|
||||||
|
|
||||||
[mdxast]: https://github.com/mdx-js/specification#mdxast
|
[mdxast]: https://github.com/mdx-js/specification#mdxast
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
[![lerna][lerna-badge]][lerna]
|
[![lerna][lerna-badge]][lerna]
|
||||||
[![Join the community on Spectrum][spectrum-badge]][spectrum]
|
[![Join the community on Spectrum][spectrum-badge]][spectrum]
|
||||||
|
|
||||||
Remove import nodes from the [MDXAST][]. This is useful for scenarios where the imports aren’t needed like an MDX playground.
|
Remove import nodes from the [MDXAST][]. This is useful for scenarios where the imports aren’t needed like an MDX playground.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@ -73,31 +73,17 @@ abide by its terms.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[remark]: https://github.com/remarkjs/remark
|
[remark]: https://github.com/remarkjs/remark
|
||||||
|
|
||||||
[johno]: https://johno.com
|
[johno]: https://johno.com
|
||||||
|
|
||||||
[npm]: https://docs.npmjs.com/cli/install
|
[npm]: https://docs.npmjs.com/cli/install
|
||||||
|
|
||||||
[mdx]: https://mdxjs.com
|
[mdx]: https://mdxjs.com
|
||||||
|
|
||||||
[mdxast]: https://github.com/mdx-js/specification#mdxast
|
[mdxast]: https://github.com/mdx-js/specification#mdxast
|
||||||
|
@ -30,29 +30,16 @@ abide by its terms.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[remark]: https://github.com/remarkjs/remark
|
[remark]: https://github.com/remarkjs/remark
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[author]: https://wooorm.com
|
[author]: https://wooorm.com
|
||||||
|
|
||||||
[author2]: https://johno.com
|
[author2]: https://johno.com
|
||||||
|
@ -27,7 +27,7 @@ import MDX from '@mdx-js/runtime'
|
|||||||
|
|
||||||
// Provide custom components for markdown elements
|
// Provide custom components for markdown elements
|
||||||
const components = {
|
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>
|
Demo: props => <h1>This is a demo component</h1>
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,7 +43,9 @@ const mdx = `
|
|||||||
`
|
`
|
||||||
|
|
||||||
export default () => (
|
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 -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[zeit]: https://zeit.co
|
[zeit]: https://zeit.co
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[npm]: https://docs.npmjs.com/cli/install
|
[npm]: https://docs.npmjs.com/cli/install
|
||||||
|
@ -9,7 +9,5 @@ Test utility functions used in [MDX][].
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[author]: https://johno.com
|
[author]: https://johno.com
|
||||||
|
@ -15,7 +15,5 @@ yarn add @mdx-js/util
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[author]: https://johno.com
|
[author]: https://johno.com
|
||||||
|
@ -23,10 +23,7 @@ module: {
|
|||||||
// ...
|
// ...
|
||||||
{
|
{
|
||||||
test: /\.mdx?$/,
|
test: /\.mdx?$/,
|
||||||
use: [
|
use: ['babel-loader', '@mdx-js/vue-loader']
|
||||||
'babel-loader',
|
|
||||||
'@mdx-js/vue-loader'
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -48,29 +45,16 @@ abide by its terms.
|
|||||||
<!-- Definitions -->
|
<!-- Definitions -->
|
||||||
|
|
||||||
[build]: https://travis-ci.com/mdx-js/mdx
|
[build]: https://travis-ci.com/mdx-js/mdx
|
||||||
|
|
||||||
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
[build-badge]: https://travis-ci.com/mdx-js/mdx.svg?branch=master
|
||||||
|
|
||||||
[lerna]: https://lernajs.io/
|
[lerna]: https://lernajs.io/
|
||||||
|
|
||||||
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
[lerna-badge]: https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[zeit]: https://zeit.co
|
[zeit]: https://zeit.co
|
||||||
|
|
||||||
[mdx]: https://github.com/mdx-js/mdx
|
[mdx]: https://github.com/mdx-js/mdx
|
||||||
|
|
||||||
[npm]: https://docs.npmjs.com/cli/install
|
[npm]: https://docs.npmjs.com/cli/install
|
||||||
|
56
readme.md
56
readme.md
@ -74,22 +74,22 @@ and cumbersome syntax.
|
|||||||
>
|
>
|
||||||
> — [@chrisbiscardi][tweet]
|
> — [@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.
|
expressive.
|
||||||
The possibilities are endless when you combine components (that can even be
|
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.
|
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.
|
A nice example of this is [mdx-deck][], a great way to create slides with MDX.
|
||||||
|
|
||||||
* Fast
|
- Fast
|
||||||
* No runtime compilation
|
- No runtime compilation
|
||||||
* [Pluggable][remark-plugins]
|
- [Pluggable][remark-plugins]
|
||||||
* Element to React component mapping
|
- Element to React component mapping
|
||||||
* React component `import`/`export`
|
- React component `import`/`export`
|
||||||
* Customizable layouts
|
- Customizable layouts
|
||||||
* [Webpack loader](https://mdxjs.com/getting-started/webpack)
|
- [Webpack loader](https://mdxjs.com/getting-started/webpack)
|
||||||
* [Parcel plugin](https://mdxjs.com/getting-started/parcel)
|
- [Parcel plugin](https://mdxjs.com/getting-started/parcel)
|
||||||
* [Next.js plugin](https://mdxjs.com/getting-started/next)
|
- [Next.js plugin](https://mdxjs.com/getting-started/next)
|
||||||
* [Gatsby plugin](https://mdxjs.com/getting-started/gatsby)
|
- [Gatsby plugin](https://mdxjs.com/getting-started/gatsby)
|
||||||
|
|
||||||
## Sponsors
|
## Sponsors
|
||||||
|
|
||||||
@ -128,10 +128,10 @@ A nice example of this is [mdx-deck][], a great way to create slides with MDX.
|
|||||||
|
|
||||||
## Authors
|
## Authors
|
||||||
|
|
||||||
* [John Otander][john] ([@4lpine][4lpine]) – [Compositor][] + [Clearbit][]
|
- [John Otander][john] ([@4lpine][4lpine]) – [Compositor][] + [Clearbit][]
|
||||||
* [Tim Neutkens][tim] ([@timneutkens][timneutkens]) – [ZEIT][]
|
- [Tim Neutkens][tim] ([@timneutkens][timneutkens]) – [ZEIT][]
|
||||||
* [Guillermo Rauch][guillermo] ([@rauchg][rauchg]) – [ZEIT][]
|
- [Guillermo Rauch][guillermo] ([@rauchg][rauchg]) – [ZEIT][]
|
||||||
* [Brent Jackson][brent] ([@jxnblk][jxnblk]) – [Compositor][]
|
- [Brent Jackson][brent] ([@jxnblk][jxnblk]) – [Compositor][]
|
||||||
|
|
||||||
## Related
|
## Related
|
||||||
|
|
||||||
@ -155,55 +155,29 @@ Join us on [Spectrum][]!
|
|||||||
[MIT][] © [Compositor][] and [ZEIT][]
|
[MIT][] © [Compositor][] and [ZEIT][]
|
||||||
|
|
||||||
[build]: https://github.com/mdx-js/mdx/actions?query=workflow%3A%22CI%22
|
[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
|
[build-badge]: https://github.com/mdx-js/mdx/workflows/CI/badge.svg
|
||||||
|
|
||||||
[spectrum]: https://spectrum.chat/mdx
|
[spectrum]: https://spectrum.chat/mdx
|
||||||
|
|
||||||
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg
|
||||||
|
|
||||||
[intro]: https://www.youtube.com/watch?v=d2sQiI5NFAM&list=PLV5CVI1eNcJgCrPH_e6d57KRUTiDZgs0u
|
[intro]: https://www.youtube.com/watch?v=d2sQiI5NFAM&list=PLV5CVI1eNcJgCrPH_e6d57KRUTiDZgs0u
|
||||||
|
|
||||||
[tweet]: https://twitter.com/chrisbiscardi/status/1022304288326864896
|
[tweet]: https://twitter.com/chrisbiscardi/status/1022304288326864896
|
||||||
|
|
||||||
[remark-plugins]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md
|
[remark-plugins]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md
|
||||||
|
|
||||||
[website]: https://mdxjs.com
|
[website]: https://mdxjs.com
|
||||||
|
|
||||||
[spec]: https://github.com/mdx-js/specification#related
|
[spec]: https://github.com/mdx-js/specification#related
|
||||||
|
|
||||||
[john]: https://johno.com
|
[john]: https://johno.com
|
||||||
|
|
||||||
[tim]: https://github.com/timneutkens
|
[tim]: https://github.com/timneutkens
|
||||||
|
|
||||||
[guillermo]: https://rauchg.com
|
[guillermo]: https://rauchg.com
|
||||||
|
|
||||||
[brent]: https://jxnblk.com
|
[brent]: https://jxnblk.com
|
||||||
|
|
||||||
[4lpine]: https://twitter.com/4lpine
|
[4lpine]: https://twitter.com/4lpine
|
||||||
|
|
||||||
[rauchg]: https://twitter.com/rauchg
|
[rauchg]: https://twitter.com/rauchg
|
||||||
|
|
||||||
[timneutkens]: https://twitter.com/timneutkens
|
[timneutkens]: https://twitter.com/timneutkens
|
||||||
|
|
||||||
[jxnblk]: https://twitter.com/jxnblk
|
[jxnblk]: https://twitter.com/jxnblk
|
||||||
|
|
||||||
[compositor]: https://compositor.io
|
[compositor]: https://compositor.io
|
||||||
|
|
||||||
[zeit]: https://zeit.co
|
[zeit]: https://zeit.co
|
||||||
|
|
||||||
[clearbit]: https://clearbit.com
|
[clearbit]: https://clearbit.com
|
||||||
|
|
||||||
[announcement]: https://medium.com/unifiedjs/collectively-evolving-through-crowdsourcing-22c359ea95cc
|
[announcement]: https://medium.com/unifiedjs/collectively-evolving-through-crowdsourcing-22c359ea95cc
|
||||||
|
|
||||||
[contribute]: #contribute
|
[contribute]: #contribute
|
||||||
|
|
||||||
[contributing]: https://mdxjs.com/contributing
|
[contributing]: https://mdxjs.com/contributing
|
||||||
|
|
||||||
[support]: https://mdxjs.com/support
|
[support]: https://mdxjs.com/support
|
||||||
|
|
||||||
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
[coc]: https://github.com/mdx-js/.github/blob/master/code-of-conduct.md
|
||||||
|
|
||||||
[mdx-deck]: https://github.com/jxnblk/mdx-deck
|
[mdx-deck]: https://github.com/jxnblk/mdx-deck
|
||||||
|
|
||||||
[mit]: license
|
[mit]: license
|
||||||
|
468
yarn.lock
468
yarn.lock
@ -33,6 +33,13 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@ampproject/toolbox-script-csp/-/toolbox-script-csp-1.1.1.tgz#0b049a1c86c99f300162a10e1b9ce83c6e354a45"
|
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==
|
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":
|
"@babel/cli@^7.1.5":
|
||||||
version "7.8.3"
|
version "7.8.3"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.8.3.tgz#121beb7c273e0521eb2feeb3883a2b7435d12328"
|
resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.8.3.tgz#121beb7c273e0521eb2feeb3883a2b7435d12328"
|
||||||
@ -322,7 +329,7 @@
|
|||||||
esutils "^2.0.2"
|
esutils "^2.0.2"
|
||||||
js-tokens "^4.0.0"
|
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"
|
version "7.8.3"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081"
|
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081"
|
||||||
integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==
|
integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==
|
||||||
@ -1504,6 +1511,26 @@
|
|||||||
unique-filename "^1.1.1"
|
unique-filename "^1.1.1"
|
||||||
which "^1.3.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":
|
"@hapi/address@2.x.x":
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a"
|
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a"
|
||||||
@ -1546,7 +1573,7 @@
|
|||||||
prop-types "^15.6.2"
|
prop-types "^15.6.2"
|
||||||
scheduler "^0.17.0"
|
scheduler "^0.17.0"
|
||||||
|
|
||||||
"@iarna/toml@^2.2.0":
|
"@iarna/toml@2.2.3", "@iarna/toml@^2.2.0":
|
||||||
version "2.2.3"
|
version "2.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab"
|
resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab"
|
||||||
integrity sha512-FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg==
|
integrity sha512-FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg==
|
||||||
@ -3558,6 +3585,19 @@
|
|||||||
"@typescript-eslint/typescript-estree" "2.17.0"
|
"@typescript-eslint/typescript-estree" "2.17.0"
|
||||||
eslint-visitor-keys "^1.1.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":
|
"@typescript-eslint/typescript-estree@2.17.0":
|
||||||
version "2.17.0"
|
version "2.17.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.17.0.tgz#2ce1531ec0925ef8d22d7026235917c2638a82af"
|
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"
|
commander "2.9.0"
|
||||||
promise "7.1.1"
|
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:
|
ansi-align@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
|
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"
|
resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz#e09dbc2dd3e2928442403e2d45b41cea06bc0a93"
|
||||||
integrity sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw==
|
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:
|
class-utils@^0.3.5:
|
||||||
version "0.3.6"
|
version "0.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
|
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"
|
object-assign "^4"
|
||||||
vary "^1"
|
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"
|
version "5.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
|
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
|
||||||
integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
|
integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
|
||||||
@ -8401,6 +8464,11 @@ dashdash@^1.12.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
assert-plus "^1.0.0"
|
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:
|
data-urls@^1.0.0, data-urls@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe"
|
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"
|
pify "^2.3.0"
|
||||||
strip-dirs "^2.0.0"
|
strip-dirs "^2.0.0"
|
||||||
|
|
||||||
dedent@^0.7.0:
|
dedent@0.7.0, dedent@^0.7.0:
|
||||||
version "0.7.0"
|
version "0.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
|
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
|
||||||
integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
|
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"
|
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.1.0.tgz#fd29a46f1c913fd66c22645dc75bffbe43051f32"
|
||||||
integrity sha512-nFIfVk5B/NStCsJ+zaPO4vYuLjlzQ6uFvPxzYyHlejNZ/UGa7G/n7peOXVrVNvRuyfstt+mZQYGpjxg9Z6N8Kw==
|
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:
|
diff@^3.2.0:
|
||||||
version "3.5.0"
|
version "3.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
|
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"
|
jsbn "~0.1.0"
|
||||||
safer-buffer "^2.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"
|
version "0.15.3"
|
||||||
resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5"
|
resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5"
|
||||||
integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==
|
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"
|
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
|
||||||
integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
|
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"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
||||||
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
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"
|
make-dir "^3.0.0"
|
||||||
pkg-dir "^4.1.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:
|
find-root@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
|
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"
|
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b"
|
||||||
integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==
|
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:
|
flush-write-stream@^1.0.0:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
|
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"
|
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
|
||||||
integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
|
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:
|
get-stream@^2.2.0:
|
||||||
version "2.3.1"
|
version "2.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de"
|
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"
|
object-assign "^4.0.1"
|
||||||
pinkie-promise "^2.0.0"
|
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:
|
get-stream@^5.0.0, get-stream@^5.1.0:
|
||||||
version "5.1.0"
|
version "5.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
|
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"
|
merge2 "^1.2.3"
|
||||||
slash "^3.0.0"
|
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:
|
globby@8.0.1:
|
||||||
version "8.0.1"
|
version "8.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50"
|
resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50"
|
||||||
@ -11701,17 +11805,6 @@ globby@8.0.2:
|
|||||||
pify "^3.0.0"
|
pify "^3.0.0"
|
||||||
slash "^1.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:
|
globby@^7.1.1:
|
||||||
version "7.1.1"
|
version "7.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
|
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"
|
resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.2.4.tgz#545af27903e40c061edd30840a272ea0a49992f9"
|
||||||
integrity sha512-/tq02ayMQjrG4oDFDRLLrPk0KvJXue0nVXoItBe7uAdbNXjQUu+HYCBdAmPLQoseVzUKKMzrhq2P/sfI76ON6w==
|
integrity sha512-/tq02ayMQjrG4oDFDRLLrPk0KvJXue0nVXoItBe7uAdbNXjQUu+HYCBdAmPLQoseVzUKKMzrhq2P/sfI76ON6w==
|
||||||
|
|
||||||
graphql@^14.5.8:
|
graphql@14.5.8, graphql@^14.5.8:
|
||||||
version "14.5.8"
|
version "14.5.8"
|
||||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.8.tgz#504f3d3114cb9a0a3f359bbbcf38d9e5bf6a6b3c"
|
resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.8.tgz#504f3d3114cb9a0a3f359bbbcf38d9e5bf6a6b3c"
|
||||||
integrity sha512-MMwmi0zlVLQKLdGiMfWkgQD7dY/TUKt4L+zgJ/aR0Howebod3aNgP5JkgvAULiR2HPVZaP2VEElqtdidHweLkg==
|
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"
|
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754"
|
||||||
integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==
|
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"
|
version "4.7.2"
|
||||||
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.2.tgz#01127b3840156a0927058779482031afe0e730d7"
|
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.2.tgz#01127b3840156a0927058779482031afe0e730d7"
|
||||||
integrity sha512-4PwqDL2laXtTWZghzzCtunQUTLbo31pcCJrd/B/9JP8XbhVzpS5ZXuKqlOzsd1rtcaLo4KqAn8nl8mkknS4MHw==
|
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"
|
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
|
||||||
integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
|
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:
|
html-encoding-sniffer@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
|
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"
|
relateurl "0.2.x"
|
||||||
uglify-js "3.4.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:
|
html-tags@^1.0.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-1.2.0.tgz#c78de65b5663aa597989dd2b7ab49200d7e4db98"
|
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-1.2.0.tgz#c78de65b5663aa597989dd2b7ab49200d7e4db98"
|
||||||
@ -12686,16 +12794,16 @@ ignore-walk@^3.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
minimatch "^3.0.4"
|
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:
|
ignore@^3.3.5:
|
||||||
version "3.3.10"
|
version "3.3.10"
|
||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
|
||||||
integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
|
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:
|
ignore@^5.0.5, ignore@^5.1.1:
|
||||||
version "5.1.4"
|
version "5.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf"
|
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"
|
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
|
||||||
integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==
|
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:
|
is-ci@^1.0.10:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
|
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
|
||||||
@ -13184,13 +13299,6 @@ is-ci@^1.0.10:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ci-info "^1.5.0"
|
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:
|
is-color-stop@^1.0.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
|
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"
|
jest-get-type "^25.1.0"
|
||||||
pretty-format "^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:
|
jest-docblock@^23.2.0:
|
||||||
version "23.2.0"
|
version "23.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7"
|
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7"
|
||||||
@ -14158,13 +14273,6 @@ jest-docblock@^23.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
detect-newline "^2.1.0"
|
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:
|
jest-docblock@^25.1.0:
|
||||||
version "25.1.0"
|
version "25.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.1.0.tgz#0f44bea3d6ca6dfc38373d465b347c8818eccb64"
|
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"
|
import-local "^1.0.0"
|
||||||
jest-cli "^23.6.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:
|
js-beautify@^1.6.12:
|
||||||
version "1.10.2"
|
version "1.10.2"
|
||||||
resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.2.tgz#88c9099cd6559402b124cfab18754936f8a7b178"
|
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"
|
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
|
||||||
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
|
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"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
|
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
|
||||||
integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
|
integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
|
||||||
@ -15527,16 +15640,16 @@ lerna@3.20.2:
|
|||||||
import-local "^2.0.0"
|
import-local "^2.0.0"
|
||||||
npmlog "^4.1.2"
|
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:
|
leven@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
|
resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
|
||||||
integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA=
|
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:
|
levenary@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.0.tgz#fc146fe75f32dc483a0a2c64aef720f602cd6210"
|
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"
|
prelude-ls "~1.1.2"
|
||||||
type-check "~0.3.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"
|
version "1.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
|
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
|
||||||
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
|
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:
|
lint-staged@10.0.2:
|
||||||
version "10.0.2"
|
version "10.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.0.2.tgz#cfdd9fa5080b05fc6e29536897da1795bc67c7f9"
|
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"
|
resolved "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0"
|
||||||
integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=
|
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:
|
lodash.uniq@4.5.0, lodash.uniq@^4.5.0:
|
||||||
version "4.5.0"
|
version "4.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
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"
|
resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce"
|
||||||
integrity sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=
|
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"
|
version "4.17.15"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
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"
|
resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
|
||||||
integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==
|
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"
|
version "0.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
|
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
|
||||||
integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
|
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"
|
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
|
||||||
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
|
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:
|
mem@^4.0.0:
|
||||||
version "4.3.0"
|
version "4.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
|
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"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||||
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
|
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"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||||
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
|
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
|
||||||
@ -16931,6 +17063,11 @@ mz@^2.4.0, mz@^2.5.0, mz@^2.6.0:
|
|||||||
object-assign "^4.0.1"
|
object-assign "^4.0.1"
|
||||||
thenify-all "^1.0.0"
|
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:
|
name-all-modules-plugin@^1.0.1:
|
||||||
version "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"
|
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"
|
semver "2 || 3 || 4 || 5"
|
||||||
validate-npm-package-license "^3.0.1"
|
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:
|
normalize-path@^2.0.1, normalize-path@^2.1.1:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
|
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:
|
dependencies:
|
||||||
remove-trailing-separator "^1.0.1"
|
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:
|
normalize-range@^0.1.2:
|
||||||
version "0.1.2"
|
version "0.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
|
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"
|
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e"
|
||||||
integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=
|
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"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
|
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
|
||||||
integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
|
integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
|
||||||
@ -18255,6 +18392,10 @@ parse-path@^4.0.0:
|
|||||||
is-ssh "^1.3.0"
|
is-ssh "^1.3.0"
|
||||||
protocols "^1.4.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:
|
parse-unit@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/parse-unit/-/parse-unit-1.0.1.tgz#7e1bb6d5bef3874c28e392526a2541170291eecf"
|
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 "^7.0.2"
|
||||||
postcss-values-parser "^2.0.0"
|
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:
|
postcss-load-config@^2.0.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003"
|
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:
|
dependencies:
|
||||||
postcss "^7.0.2"
|
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:
|
postcss-merge-longhand@^4.0.11:
|
||||||
version "4.0.11"
|
version "4.0.11"
|
||||||
resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
|
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:
|
dependencies:
|
||||||
postcss "^7.0.0"
|
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:
|
postcss-selector-matches@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff"
|
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"
|
balanced-match "^1.0.0"
|
||||||
postcss "^7.0.2"
|
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:
|
postcss-selector-parser@6.0.2, postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
|
||||||
version "6.0.2"
|
version "6.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
|
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"
|
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9"
|
||||||
integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==
|
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"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f"
|
resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f"
|
||||||
integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==
|
integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==
|
||||||
@ -19377,6 +19546,16 @@ postcss@7.0.21:
|
|||||||
source-map "^0.6.1"
|
source-map "^0.6.1"
|
||||||
supports-color "^6.1.0"
|
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:
|
postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.23:
|
||||||
version "6.0.23"
|
version "6.0.23"
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
|
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"
|
resolved "https://registry.yarnpkg.com/prettier-plugin-pkg/-/prettier-plugin-pkg-0.4.10.tgz#e32da7f72bc5c2b91c23711497a00a26955255ad"
|
||||||
integrity sha512-BPv9xcqRfycXefabThMFqqmHn4OV7Utv0c5rH6b/sf+JQidmEZCn25oyujvA+yTi4gG2/KbhE5dpDbJz4IOZpQ==
|
integrity sha512-BPv9xcqRfycXefabThMFqqmHn4OV7Utv0c5rH6b/sf+JQidmEZCn25oyujvA+yTi4gG2/KbhE5dpDbJz4IOZpQ==
|
||||||
|
|
||||||
prettier@1.19.1, prettier@^1.18.2:
|
prettier@^1.18.2:
|
||||||
version "1.19.1"
|
version "1.19.1"
|
||||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
|
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
|
||||||
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
|
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:
|
pretty-bytes@^5.1.0, pretty-bytes@^5.3.0:
|
||||||
version "5.3.0"
|
version "5.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2"
|
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"
|
resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37"
|
||||||
integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==
|
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:
|
regexp.prototype.flags@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c"
|
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:
|
dependencies:
|
||||||
remark-message-control "^4.0.0"
|
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:
|
remark-math@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/remark-math/-/remark-math-2.0.0.tgz#bc0e981fb7c6c79d6a5f99937709549bebe6bb04"
|
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"
|
unified-message-control "^1.0.0"
|
||||||
xtend "^4.0.1"
|
xtend "^4.0.1"
|
||||||
|
|
||||||
remark-parse@7.0.2, remark-parse@^7.0.2:
|
remark-parse@5.0.0, remark-parse@^5.0.0:
|
||||||
version "7.0.2"
|
version "5.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf"
|
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95"
|
||||||
integrity sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==
|
integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==
|
||||||
dependencies:
|
dependencies:
|
||||||
collapse-white-space "^1.0.2"
|
collapse-white-space "^1.0.2"
|
||||||
is-alphabetical "^1.0.0"
|
is-alphabetical "^1.0.0"
|
||||||
@ -21653,10 +21909,10 @@ remark-parse@7.0.2, remark-parse@^7.0.2:
|
|||||||
vfile-location "^2.0.0"
|
vfile-location "^2.0.0"
|
||||||
xtend "^4.0.1"
|
xtend "^4.0.1"
|
||||||
|
|
||||||
remark-parse@^5.0.0:
|
remark-parse@7.0.2, remark-parse@^7.0.2:
|
||||||
version "5.0.0"
|
version "7.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95"
|
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf"
|
||||||
integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==
|
integrity sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==
|
||||||
dependencies:
|
dependencies:
|
||||||
collapse-white-space "^1.0.2"
|
collapse-white-space "^1.0.2"
|
||||||
is-alphabetical "^1.0.0"
|
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-no-unused-definitions "^1.0.0"
|
||||||
remark-lint-ordered-list-marker-style "^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:
|
remark-preset-wooorm@6.0.1:
|
||||||
version "6.0.1"
|
version "6.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/remark-preset-wooorm/-/remark-preset-wooorm-6.0.1.tgz#d4ca4b37d1d4f3b56f586331ea170bd9b967cacb"
|
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:
|
dependencies:
|
||||||
path-parse "^1.0.6"
|
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:
|
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"
|
version "1.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5"
|
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"
|
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||||
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
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:
|
simple-swizzle@^0.2.2:
|
||||||
version "0.2.2"
|
version "0.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
|
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.map "^4.6.0"
|
||||||
lodash.maxby "^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:
|
string-width@^1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
|
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"
|
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
|
||||||
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
|
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
|
||||||
|
|
||||||
trim-trailing-lines@^1.0.0:
|
trim-trailing-lines@^1.0.0, trim-trailing-lines@^1.1.0:
|
||||||
version "1.1.2"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a"
|
resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94"
|
||||||
integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==
|
integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==
|
||||||
|
|
||||||
trim@0.0.1:
|
trim@0.0.1:
|
||||||
version "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"
|
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.5.tgz#840e0739c89fce5f3abd9037bb091dbff16d9dec"
|
||||||
integrity sha512-ti7OGMOUOzo66wLF3liskw6YQIaSsBgc4GOAlWRnIEj8htCxJUxskanMUoJOD6MDCRAXo36goXJZch+nOS0VMA==
|
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"
|
version "1.10.0"
|
||||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
|
||||||
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
|
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"
|
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
|
||||||
integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==
|
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:
|
unicode-trie@^0.3.1:
|
||||||
version "0.3.1"
|
version "0.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085"
|
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"
|
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
|
||||||
integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
|
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:
|
vue-hot-reload-api@^2.3.0:
|
||||||
version "2.3.3"
|
version "2.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz#2756f46cb3258054c5f4723de8ae7e87302a1ccf"
|
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:
|
dependencies:
|
||||||
js-yaml "^3.5.2"
|
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"
|
version "1.7.2"
|
||||||
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2"
|
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2"
|
||||||
integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==
|
integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==
|
||||||
|
Loading…
Reference in New Issue
Block a user