├── .gitignore
├── .travis.yml
├── CHANGELOG.md
├── Dockerfile
├── LICENSE.md
├── README.md
├── babel.config.js
├── docs
├── .gitignore
├── README.md
├── babel.config.js
├── next.config.js
├── package-lock.json
├── package.json
├── pages
│ ├── _app.js
│ ├── _document.js
│ ├── components.md
│ ├── custom-setup.md
│ ├── exporting.md
│ ├── getting-started.md
│ ├── index.md
│ ├── migrating-from-x0.md
│ ├── theming.md
│ └── typography.mdx
├── src
│ ├── card.js
│ └── components.js
└── static
│ ├── card.png
│ └── mdx-docs.gif
├── lerna.json
├── now.json
├── package-lock.json
├── package.json
├── packages
├── create-docs
│ ├── README.md
│ ├── cli.js
│ ├── package-lock.json
│ └── package.json
├── mdx-docs
│ ├── .npmignore
│ ├── README.md
│ ├── babel.config.js
│ ├── package-lock.json
│ ├── package.json
│ └── src
│ │ ├── Layout.js
│ │ ├── NavLinks.js
│ │ ├── Pagination.js
│ │ ├── components.js
│ │ ├── context.js
│ │ ├── index.js
│ │ └── withComponents.js
├── mdx-live
│ ├── .npmignore
│ ├── README.md
│ ├── babel.config.js
│ ├── docs
│ │ └── index.mdx
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ └── index.js
│ └── test
│ │ ├── __snapshots__
│ │ └── index.js.snap
│ │ └── index.js
├── mdx-style
│ ├── .npmignore
│ ├── README.md
│ ├── babel.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── index.js
│ │ └── themes
│ │ │ ├── base.js
│ │ │ ├── index.js
│ │ │ └── term.js
│ ├── test
│ │ ├── __fixtures__
│ │ │ └── hello.mdx
│ │ ├── __snapshots__
│ │ │ └── index.js.snap
│ │ └── index.js
│ └── themes.js
└── next-mdx-docs
│ ├── README.md
│ ├── index.js
│ ├── package-lock.json
│ └── package.json
└── templates
└── next
├── .gitignore
├── README.md
├── next.config.js
├── package-lock.json
├── package.json
└── pages
├── _app.js
├── _document.js
├── components
├── Button.md
└── index.md
├── getting-started.md
└── index.md
/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | coverage
3 | node_modules
4 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 10
4 | before_deploy:
5 | - cd docs
6 | - npm install
7 | - npm run build
8 | - touch out/.nojekyll
9 | deploy:
10 | provider: pages
11 | skip_cleanup: true
12 | github_token: $GH_TOKEN
13 | local_dir: docs/out
14 | on:
15 | branch: master
16 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 |
2 | # Changelog
3 |
4 | ## Unreleased
5 |
6 | - Reorganized as monorepo
7 | - Added mdx-live package
8 | - Added mdx-style package
9 | - Update to Next.js 7
10 | - Update to Babel 7
11 | - Use links from MDXProvider
12 | - New Layout component API
13 | - Removes styled-components and emotion dependencies
14 | - Added `getRoute` prop for use outside of Next.js
15 | - Renamed `SideNav` to `NavLinks`
16 | - Removed `Header` component
17 | - Removed `Root` component
18 | - Removed `Container` component
19 | - Removed `LiveCode` component
20 | - Removed `MenuButton` component
21 | - Removed theming API
22 |
23 | ## v1.0.0-9 (2018-08-30)
24 |
25 | - Adds `active` className to NavLink
26 |
27 | ## v1.0.0-8 (2018-08-18)
28 | ## v1.0.0-7 (2018-08-18)
29 | ## v1.0.0-3 (2018-08-16)
30 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:10-alpine
2 |
3 | WORKDIR /usr/src
4 |
5 | COPY . .
6 |
7 | RUN npm i
8 | RUN npm run prepare
9 | RUN npm t
10 |
11 | RUN cd docs && npm i && npm run build && mv out /public
12 |
13 | COPY docs/static/* /public/
14 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 |
2 | # The MIT License (MIT)
3 | Copyright (c) 2018 Brent Jackson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10 |
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # MDX Docs
3 |
4 | :memo: Document and develop React components with [MDX][] and [Next.js][]
5 |
6 | 
7 |
8 | https://mdx-docs.now.sh/
9 |
10 | [![Build Status][badge]][travis]
11 | [![Downloads][downloads-badge]][npm]
12 | [![Version][version-badge]][npm]
13 | [![MIT License][license]](LICENSE.md)
14 |
15 | ```sh
16 | npm init docs
17 | ```
18 |
19 | - :memo: Create documentation with markdown
20 | - :atom_symbol: Import and use React components
21 | - :gear: Component-based API
22 | - :computer: Live code examples
23 | - :nail_care: Customizable themes
24 | - ▲ Built for Next.js
25 |
26 | [badge]: https://flat.badgen.net/travis/jxnblk/mdx-docs
27 | [travis]: https://travis-ci.org/jxnblk/mdx-docs
28 | [version-badge]: https://flat.badgen.net/npm/v/mdx-docs
29 | [downloads-badge]: https://flat.badgen.net/npm/dt/mdx-docs
30 | [npm]: https://npmjs.com/package/mdx-docs
31 | [license]: https://flat.badgen.net/badge/license/MIT/blue
32 |
33 | ## Getting Started
34 |
35 | To create a new documentation site, run `npm init docs` and follow the prompts.
36 | Once the application has been generated, see the [README.md](templates/next/README.md)
37 | for more documentation.
38 |
39 | To add MDX Docs to an existing Next.js app, see the [Custom Setup](docs/pages/custom-setup.md) docs.
40 |
41 | ## Using MDX
42 |
43 | MDX lets you mix markdown with inline JSX to render React components.
44 | Write markdown as you normally would and use ES import syntax to use custom components in your document.
45 |
46 | ```mdx
47 | import { Box } from 'grid-styled'
48 |
49 | # Hello MDX!
50 |
51 |
tag from MDX 31 | pre: props => props.children, 32 | } 33 | ``` 34 | 35 | ## LiveCode 36 | 37 | Styled wrapper around [react-live][] 38 | 39 | ```js 40 | import { LiveCode } from 'mdx-go' 41 | ``` 42 | 43 | ```jsx 44 |50 | ``` 51 | 52 | **Props** 53 | 54 | - `previewStyle` 55 | - `editorStyle` 56 | - `errorStyle` 57 | - `previewProps` 58 | - `editorProps` 59 | - `errorProps` 60 | - `components` 61 | - `scope` 62 | 63 | [react-live]: https://github.com/FormidableLabs/react-live 64 | -------------------------------------------------------------------------------- /packages/mdx-live/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../../babel.config') 2 | -------------------------------------------------------------------------------- /packages/mdx-live/docs/index.mdx: -------------------------------------------------------------------------------- 1 | import { MDXLiveProvider } from '../src' 2 | 3 | export const Root = props => 4 | 5 | 13 | 14 | 15 | # MDX Live 16 | 17 | ```jsx 18 | 19 | ``` 20 | 21 | ```.jsx 22 |Live Code
23 | ``` 24 | -------------------------------------------------------------------------------- /packages/mdx-live/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mdx-live", 3 | "version": "2.0.0-alpha.2", 4 | "description": "React Live for fenced code blocks in MDX", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "prepare": "babel src -d dist", 8 | "clean": "rm -r dist", 9 | "start": "mdx-go docs", 10 | "test": "jest" 11 | }, 12 | "keywords": [], 13 | "author": "Brent Jackson", 14 | "license": "MIT", 15 | "dependencies": { 16 | "@mdx-js/tag": "^0.15.0", 17 | "react-live": "^1.11.0" 18 | }, 19 | "devDependencies": { 20 | "@babel/cli": "^7.1.0", 21 | "@mdx-js/mdx": "^0.15.4", 22 | "mdx-go": "^2.0.0-23", 23 | "react": "^16.5.2", 24 | "react-dom": "^16.5.2", 25 | "react-test-renderer": "^16.5.2" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /packages/mdx-live/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { 3 | LiveProvider, 4 | LivePreview, 5 | LiveEditor, 6 | LiveError 7 | } from 'react-live' 8 | import { MDXProvider } from '@mdx-js/tag' 9 | import { withMDXComponents } from '@mdx-js/tag/dist/mdx-provider' 10 | export { withMDXComponents } from '@mdx-js/tag/dist/mdx-provider' 11 | 12 | export const LiveCode = withMDXComponents(({ 13 | previewStyle = {}, 14 | editorStyle = {}, 15 | errorStyle = {}, 16 | previewProps = {}, 17 | editorProps = {}, 18 | errorProps = {}, 19 | components, 20 | scope, 21 | ...props 22 | }) => 23 |36 | 69 | ) 70 | 71 | LiveCode.defaultProps = { 72 | mountStylesheet: false, 73 | transformCode: src => `43 | 56 | 68 | ${src} ` 74 | } 75 | 76 | const REG = /language\-\.jsx/ 77 | 78 | export const withMDXLive = Fallback => ({ 79 | pre: Pre, 80 | match = REG, 81 | children, 82 | metaString, 83 | ...props 84 | }) => { 85 | const isLive = match.test(props.className) 86 | const Comp = Pre || Fallback 87 | if (!isLive) return88 | 89 | const code = React.Children.toArray(children).join('\n') 90 | 91 | return ( 92 | 96 | ) 97 | } 98 | 99 | export const MDXLiveProvider = ({ components, ...props }) => 100 | props.children, 104 | code: withMDXLive('pre'), 105 | }} 106 | {...props} 107 | /> 108 | 109 | export default withMDXLive('pre') 110 | -------------------------------------------------------------------------------- /packages/mdx-live/test/__snapshots__/index.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`LiveCode renders 1`] = ` 4 | 15 |55 | `; 56 | 57 | exports[`withMDXLive renders LiveCode 1`] = ` 58 |23 |27 |24 | hello 25 |
26 |<h1>hello</h1>", 33 | } 34 | } 35 | onChange={[Function]} 36 | onClick={[Function]} 37 | onCompositionEnd={[Function]} 38 | onCompositionStart={[Function]} 39 | onKeyDown={[Function]} 40 | onKeyUp={[Function]} 41 | spellCheck="false" 42 | style={ 43 | Object { 44 | "backgroundColor": "#f6f6ff", 45 | "fontFamily": "Menlo, monospace", 46 | "fontSize": 14, 47 | "margin": 0, 48 | "outline": "none", 49 | "overflowX": "auto", 50 | "padding": "1em", 51 | } 52 | } 53 | /> 54 |69 |109 | `; 110 | 111 | exports[`withMDXLive renders normal tag 1`] = ` 112 |77 |81 |78 | hello 79 |
80 |<h1>hello</h1>", 87 | } 88 | } 89 | onChange={[Function]} 90 | onClick={[Function]} 91 | onCompositionEnd={[Function]} 92 | onCompositionStart={[Function]} 93 | onKeyDown={[Function]} 94 | onKeyUp={[Function]} 95 | spellCheck="false" 96 | style={ 97 | Object { 98 | "backgroundColor": "#f6f6ff", 99 | "fontFamily": "Menlo, monospace", 100 | "fontSize": 14, 101 | "margin": 0, 102 | "outline": "none", 103 | "overflowX": "auto", 104 | "padding": "1em", 105 | } 106 | } 107 | /> 108 |113 | <h1>hello</h1> 114 |115 | `; 116 | -------------------------------------------------------------------------------- /packages/mdx-live/test/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import TestRenderer from 'react-test-renderer' 3 | import mdx from '@mdx-js/mdx' 4 | import { transform } from '@babel/core' 5 | import { 6 | LiveCode, 7 | withMDXLive, 8 | MDXLiveProvider, 9 | withMDXComponents 10 | } from '../src' 11 | 12 | const code = 'hello
' 13 | const createNodeMock = () => ({ 14 | innerHTML: code 15 | }) 16 | 17 | const renderJSON = el => TestRenderer.create(el, { 18 | createNodeMock 19 | }).toJSON() 20 | 21 | describe('LiveCode', () => { 22 | test('renders', () => { 23 | const json = renderJSON( 24 |27 | ) 28 | expect(json).toMatchSnapshot() 29 | }) 30 | }) 31 | 32 | describe('withMDXLive', () => { 33 | const Pre = withMDXLive('pre') 34 | test('renders normal tag', () => { 35 | const json = renderJSON( 36 | 37 | ) 38 | expect(json).toMatchSnapshot() 39 | }) 40 | 41 | test('renders LiveCode', () => { 42 | const json = renderJSON( 43 | 44 | ) 45 | expect(json).toMatchSnapshot() 46 | }) 47 | }) 48 | 49 | describe('MDXLiveProvider', () => { 50 | let expected 51 | const Demo = withMDXComponents(({ components, ...props }) => { 52 | expected = components 53 | return false 54 | }) 55 | 56 | test('provides custom scope', () => { 57 | const json = renderJSON( 58 | 59 | 61 | ) 62 | expect(typeof expected).toBe('object') 63 | expect(expected.pre({ children: 'passthrough' })).toBe('passthrough') 64 | }) 65 | }) 66 | -------------------------------------------------------------------------------- /packages/mdx-style/.npmignore: -------------------------------------------------------------------------------- 1 | src 2 | test 3 | coverage 4 | docs 5 | site 6 | babel.config.js 7 | -------------------------------------------------------------------------------- /packages/mdx-style/README.md: -------------------------------------------------------------------------------- 1 | 2 | # mdx-style 3 | 4 | Add styles to markdown elements in MDX 5 | 6 | ```sh 7 | npm i mdx-style 8 | ``` 9 | 10 | ```js 11 | import React from 'react' 12 | import MDXStyle from 'mdx-style' 13 | import Doc from './doc.mdx' 14 | 15 | export default () => 16 |60 | 34 | 36 | ``` 37 | 38 | ## Props 39 | 40 | - `css` 41 | - `components` 42 | 43 | MIT License 44 | -------------------------------------------------------------------------------- /packages/mdx-style/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../../babel.config') 2 | -------------------------------------------------------------------------------- /packages/mdx-style/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mdx-style", 3 | "version": "1.0.0-3", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/cli": { 8 | "version": "7.0.0", 9 | "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.0.0.tgz", 10 | "integrity": "sha512-SH/x7W1dz4FSSBeJZXIiYSbHIOU3ZxNgwQPLTG+I8KXyTS81pzmLouPa2st6hji7VbVrEF/D8EQzQbXAYj1TsA==", 11 | "dev": true, 12 | "requires": { 13 | "chokidar": "^2.0.3", 14 | "commander": "^2.8.1", 15 | "convert-source-map": "^1.1.0", 16 | "fs-readdir-recursive": "^1.1.0", 17 | "glob": "^7.0.0", 18 | "lodash": "^4.17.10", 19 | "mkdirp": "^0.5.1", 20 | "output-file-sync": "^2.0.0", 21 | "slash": "^2.0.0", 22 | "source-map": "^0.5.0" 23 | } 24 | }, 25 | "@mdx-js/tag": { 26 | "version": "0.15.0", 27 | "resolved": "https://registry.npmjs.org/@mdx-js/tag/-/tag-0.15.0.tgz", 28 | "integrity": "sha512-W5HVjced5SMJDoV56aVkZjIfTRM/R1RBpdcDdHMdoza0rSU6lorj7xM5VJtD1AMYRRFuDUu2idkuAJaNosO4Gw==", 29 | "requires": { 30 | "create-react-context": "^0.2.2", 31 | "hoist-non-react-statics": "^2.5.5", 32 | "prop-types": "^15.6.1" 33 | } 34 | }, 35 | "anymatch": { 36 | "version": "2.0.0", 37 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", 38 | "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", 39 | "dev": true, 40 | "optional": true, 41 | "requires": { 42 | "micromatch": "^3.1.4", 43 | "normalize-path": "^2.1.1" 44 | } 45 | }, 46 | "arr-diff": { 47 | "version": "4.0.0", 48 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 49 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", 50 | "dev": true 51 | }, 52 | "arr-flatten": { 53 | "version": "1.1.0", 54 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 55 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 56 | "dev": true 57 | }, 58 | "arr-union": { 59 | "version": "3.1.0", 60 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 61 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", 62 | "dev": true 63 | }, 64 | "array-unique": { 65 | "version": "0.3.2", 66 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 67 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", 68 | "dev": true 69 | }, 70 | "asap": { 71 | "version": "2.0.6", 72 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", 73 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" 74 | }, 75 | "assign-symbols": { 76 | "version": "1.0.0", 77 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 78 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", 79 | "dev": true 80 | }, 81 | "async-each": { 82 | "version": "1.0.1", 83 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", 84 | "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", 85 | "dev": true, 86 | "optional": true 87 | }, 88 | "atob": { 89 | "version": "2.1.2", 90 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", 91 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", 92 | "dev": true 93 | }, 94 | "balanced-match": { 95 | "version": "1.0.0", 96 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 97 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 98 | "dev": true 99 | }, 100 | "base": { 101 | "version": "0.11.2", 102 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 103 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 104 | "dev": true, 105 | "requires": { 106 | "cache-base": "^1.0.1", 107 | "class-utils": "^0.3.5", 108 | "component-emitter": "^1.2.1", 109 | "define-property": "^1.0.0", 110 | "isobject": "^3.0.1", 111 | "mixin-deep": "^1.2.0", 112 | "pascalcase": "^0.1.1" 113 | }, 114 | "dependencies": { 115 | "define-property": { 116 | "version": "1.0.0", 117 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 118 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 119 | "dev": true, 120 | "requires": { 121 | "is-descriptor": "^1.0.0" 122 | } 123 | }, 124 | "is-accessor-descriptor": { 125 | "version": "1.0.0", 126 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 127 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 128 | "dev": true, 129 | "requires": { 130 | "kind-of": "^6.0.0" 131 | } 132 | }, 133 | "is-data-descriptor": { 134 | "version": "1.0.0", 135 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 136 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 137 | "dev": true, 138 | "requires": { 139 | "kind-of": "^6.0.0" 140 | } 141 | }, 142 | "is-descriptor": { 143 | "version": "1.0.2", 144 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 145 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 146 | "dev": true, 147 | "requires": { 148 | "is-accessor-descriptor": "^1.0.0", 149 | "is-data-descriptor": "^1.0.0", 150 | "kind-of": "^6.0.2" 151 | } 152 | } 153 | } 154 | }, 155 | "binary-extensions": { 156 | "version": "1.11.0", 157 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", 158 | "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", 159 | "dev": true, 160 | "optional": true 161 | }, 162 | "brace-expansion": { 163 | "version": "1.1.11", 164 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 165 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 166 | "dev": true, 167 | "requires": { 168 | "balanced-match": "^1.0.0", 169 | "concat-map": "0.0.1" 170 | } 171 | }, 172 | "braces": { 173 | "version": "2.3.2", 174 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", 175 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", 176 | "dev": true, 177 | "requires": { 178 | "arr-flatten": "^1.1.0", 179 | "array-unique": "^0.3.2", 180 | "extend-shallow": "^2.0.1", 181 | "fill-range": "^4.0.0", 182 | "isobject": "^3.0.1", 183 | "repeat-element": "^1.1.2", 184 | "snapdragon": "^0.8.1", 185 | "snapdragon-node": "^2.0.1", 186 | "split-string": "^3.0.2", 187 | "to-regex": "^3.0.1" 188 | }, 189 | "dependencies": { 190 | "extend-shallow": { 191 | "version": "2.0.1", 192 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 193 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 194 | "dev": true, 195 | "requires": { 196 | "is-extendable": "^0.1.0" 197 | } 198 | } 199 | } 200 | }, 201 | "cache-base": { 202 | "version": "1.0.1", 203 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 204 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 205 | "dev": true, 206 | "requires": { 207 | "collection-visit": "^1.0.0", 208 | "component-emitter": "^1.2.1", 209 | "get-value": "^2.0.6", 210 | "has-value": "^1.0.0", 211 | "isobject": "^3.0.1", 212 | "set-value": "^2.0.0", 213 | "to-object-path": "^0.3.0", 214 | "union-value": "^1.0.0", 215 | "unset-value": "^1.0.0" 216 | } 217 | }, 218 | "chokidar": { 219 | "version": "2.0.4", 220 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", 221 | "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", 222 | "dev": true, 223 | "optional": true, 224 | "requires": { 225 | "anymatch": "^2.0.0", 226 | "async-each": "^1.0.0", 227 | "braces": "^2.3.0", 228 | "fsevents": "^1.2.2", 229 | "glob-parent": "^3.1.0", 230 | "inherits": "^2.0.1", 231 | "is-binary-path": "^1.0.0", 232 | "is-glob": "^4.0.0", 233 | "lodash.debounce": "^4.0.8", 234 | "normalize-path": "^2.1.1", 235 | "path-is-absolute": "^1.0.0", 236 | "readdirp": "^2.0.0", 237 | "upath": "^1.0.5" 238 | } 239 | }, 240 | "class-utils": { 241 | "version": "0.3.6", 242 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 243 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 244 | "dev": true, 245 | "requires": { 246 | "arr-union": "^3.1.0", 247 | "define-property": "^0.2.5", 248 | "isobject": "^3.0.0", 249 | "static-extend": "^0.1.1" 250 | }, 251 | "dependencies": { 252 | "define-property": { 253 | "version": "0.2.5", 254 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 255 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 256 | "dev": true, 257 | "requires": { 258 | "is-descriptor": "^0.1.0" 259 | } 260 | } 261 | } 262 | }, 263 | "collection-visit": { 264 | "version": "1.0.0", 265 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 266 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 267 | "dev": true, 268 | "requires": { 269 | "map-visit": "^1.0.0", 270 | "object-visit": "^1.0.0" 271 | } 272 | }, 273 | "commander": { 274 | "version": "2.18.0", 275 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", 276 | "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", 277 | "dev": true 278 | }, 279 | "component-emitter": { 280 | "version": "1.2.1", 281 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", 282 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", 283 | "dev": true 284 | }, 285 | "concat-map": { 286 | "version": "0.0.1", 287 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 288 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 289 | "dev": true 290 | }, 291 | "convert-source-map": { 292 | "version": "1.6.0", 293 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", 294 | "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", 295 | "dev": true, 296 | "requires": { 297 | "safe-buffer": "~5.1.1" 298 | } 299 | }, 300 | "copy-descriptor": { 301 | "version": "0.1.1", 302 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 303 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", 304 | "dev": true 305 | }, 306 | "core-js": { 307 | "version": "1.2.7", 308 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", 309 | "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" 310 | }, 311 | "core-util-is": { 312 | "version": "1.0.2", 313 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 314 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 315 | "dev": true, 316 | "optional": true 317 | }, 318 | "create-react-context": { 319 | "version": "0.2.3", 320 | "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz", 321 | "integrity": "sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag==", 322 | "requires": { 323 | "fbjs": "^0.8.0", 324 | "gud": "^1.0.0" 325 | } 326 | }, 327 | "debug": { 328 | "version": "2.6.9", 329 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 330 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 331 | "dev": true, 332 | "requires": { 333 | "ms": "2.0.0" 334 | } 335 | }, 336 | "decode-uri-component": { 337 | "version": "0.2.0", 338 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 339 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", 340 | "dev": true 341 | }, 342 | "define-property": { 343 | "version": "2.0.2", 344 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 345 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 346 | "dev": true, 347 | "requires": { 348 | "is-descriptor": "^1.0.2", 349 | "isobject": "^3.0.1" 350 | }, 351 | "dependencies": { 352 | "is-accessor-descriptor": { 353 | "version": "1.0.0", 354 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 355 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 356 | "dev": true, 357 | "requires": { 358 | "kind-of": "^6.0.0" 359 | } 360 | }, 361 | "is-data-descriptor": { 362 | "version": "1.0.0", 363 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 364 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 365 | "dev": true, 366 | "requires": { 367 | "kind-of": "^6.0.0" 368 | } 369 | }, 370 | "is-descriptor": { 371 | "version": "1.0.2", 372 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 373 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 374 | "dev": true, 375 | "requires": { 376 | "is-accessor-descriptor": "^1.0.0", 377 | "is-data-descriptor": "^1.0.0", 378 | "kind-of": "^6.0.2" 379 | } 380 | } 381 | } 382 | }, 383 | "encoding": { 384 | "version": "0.1.12", 385 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", 386 | "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", 387 | "requires": { 388 | "iconv-lite": "~0.4.13" 389 | } 390 | }, 391 | "expand-brackets": { 392 | "version": "2.1.4", 393 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 394 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", 395 | "dev": true, 396 | "requires": { 397 | "debug": "^2.3.3", 398 | "define-property": "^0.2.5", 399 | "extend-shallow": "^2.0.1", 400 | "posix-character-classes": "^0.1.0", 401 | "regex-not": "^1.0.0", 402 | "snapdragon": "^0.8.1", 403 | "to-regex": "^3.0.1" 404 | }, 405 | "dependencies": { 406 | "define-property": { 407 | "version": "0.2.5", 408 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 409 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 410 | "dev": true, 411 | "requires": { 412 | "is-descriptor": "^0.1.0" 413 | } 414 | }, 415 | "extend-shallow": { 416 | "version": "2.0.1", 417 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 418 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 419 | "dev": true, 420 | "requires": { 421 | "is-extendable": "^0.1.0" 422 | } 423 | } 424 | } 425 | }, 426 | "extend-shallow": { 427 | "version": "3.0.2", 428 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 429 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 430 | "dev": true, 431 | "requires": { 432 | "assign-symbols": "^1.0.0", 433 | "is-extendable": "^1.0.1" 434 | }, 435 | "dependencies": { 436 | "is-extendable": { 437 | "version": "1.0.1", 438 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 439 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 440 | "dev": true, 441 | "requires": { 442 | "is-plain-object": "^2.0.4" 443 | } 444 | } 445 | } 446 | }, 447 | "extglob": { 448 | "version": "2.0.4", 449 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 450 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 451 | "dev": true, 452 | "requires": { 453 | "array-unique": "^0.3.2", 454 | "define-property": "^1.0.0", 455 | "expand-brackets": "^2.1.4", 456 | "extend-shallow": "^2.0.1", 457 | "fragment-cache": "^0.2.1", 458 | "regex-not": "^1.0.0", 459 | "snapdragon": "^0.8.1", 460 | "to-regex": "^3.0.1" 461 | }, 462 | "dependencies": { 463 | "define-property": { 464 | "version": "1.0.0", 465 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 466 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 467 | "dev": true, 468 | "requires": { 469 | "is-descriptor": "^1.0.0" 470 | } 471 | }, 472 | "extend-shallow": { 473 | "version": "2.0.1", 474 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 475 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 476 | "dev": true, 477 | "requires": { 478 | "is-extendable": "^0.1.0" 479 | } 480 | }, 481 | "is-accessor-descriptor": { 482 | "version": "1.0.0", 483 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 484 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 485 | "dev": true, 486 | "requires": { 487 | "kind-of": "^6.0.0" 488 | } 489 | }, 490 | "is-data-descriptor": { 491 | "version": "1.0.0", 492 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 493 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 494 | "dev": true, 495 | "requires": { 496 | "kind-of": "^6.0.0" 497 | } 498 | }, 499 | "is-descriptor": { 500 | "version": "1.0.2", 501 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 502 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 503 | "dev": true, 504 | "requires": { 505 | "is-accessor-descriptor": "^1.0.0", 506 | "is-data-descriptor": "^1.0.0", 507 | "kind-of": "^6.0.2" 508 | } 509 | } 510 | } 511 | }, 512 | "fbjs": { 513 | "version": "0.8.17", 514 | "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", 515 | "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", 516 | "requires": { 517 | "core-js": "^1.0.0", 518 | "isomorphic-fetch": "^2.1.1", 519 | "loose-envify": "^1.0.0", 520 | "object-assign": "^4.1.0", 521 | "promise": "^7.1.1", 522 | "setimmediate": "^1.0.5", 523 | "ua-parser-js": "^0.7.18" 524 | } 525 | }, 526 | "fill-range": { 527 | "version": "4.0.0", 528 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 529 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", 530 | "dev": true, 531 | "requires": { 532 | "extend-shallow": "^2.0.1", 533 | "is-number": "^3.0.0", 534 | "repeat-string": "^1.6.1", 535 | "to-regex-range": "^2.1.0" 536 | }, 537 | "dependencies": { 538 | "extend-shallow": { 539 | "version": "2.0.1", 540 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 541 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 542 | "dev": true, 543 | "requires": { 544 | "is-extendable": "^0.1.0" 545 | } 546 | } 547 | } 548 | }, 549 | "fnv1a": { 550 | "version": "1.0.1", 551 | "resolved": "https://registry.npmjs.org/fnv1a/-/fnv1a-1.0.1.tgz", 552 | "integrity": "sha1-kV4tbQI8Q9UiStn20qPEFW9XEvU=" 553 | }, 554 | "for-in": { 555 | "version": "1.0.2", 556 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 557 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 558 | "dev": true 559 | }, 560 | "fragment-cache": { 561 | "version": "0.2.1", 562 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 563 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 564 | "dev": true, 565 | "requires": { 566 | "map-cache": "^0.2.2" 567 | } 568 | }, 569 | "fs-readdir-recursive": { 570 | "version": "1.1.0", 571 | "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", 572 | "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", 573 | "dev": true 574 | }, 575 | "fs.realpath": { 576 | "version": "1.0.0", 577 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 578 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 579 | "dev": true 580 | }, 581 | "fsevents": { 582 | "version": "1.2.4", 583 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", 584 | "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", 585 | "dev": true, 586 | "optional": true, 587 | "requires": { 588 | "nan": "^2.9.2", 589 | "node-pre-gyp": "^0.10.0" 590 | }, 591 | "dependencies": { 592 | "abbrev": { 593 | "version": "1.1.1", 594 | "bundled": true, 595 | "dev": true, 596 | "optional": true 597 | }, 598 | "ansi-regex": { 599 | "version": "2.1.1", 600 | "bundled": true, 601 | "dev": true 602 | }, 603 | "aproba": { 604 | "version": "1.2.0", 605 | "bundled": true, 606 | "dev": true, 607 | "optional": true 608 | }, 609 | "are-we-there-yet": { 610 | "version": "1.1.4", 611 | "bundled": true, 612 | "dev": true, 613 | "optional": true, 614 | "requires": { 615 | "delegates": "^1.0.0", 616 | "readable-stream": "^2.0.6" 617 | } 618 | }, 619 | "balanced-match": { 620 | "version": "1.0.0", 621 | "bundled": true, 622 | "dev": true 623 | }, 624 | "brace-expansion": { 625 | "version": "1.1.11", 626 | "bundled": true, 627 | "dev": true, 628 | "requires": { 629 | "balanced-match": "^1.0.0", 630 | "concat-map": "0.0.1" 631 | } 632 | }, 633 | "chownr": { 634 | "version": "1.0.1", 635 | "bundled": true, 636 | "dev": true, 637 | "optional": true 638 | }, 639 | "code-point-at": { 640 | "version": "1.1.0", 641 | "bundled": true, 642 | "dev": true 643 | }, 644 | "concat-map": { 645 | "version": "0.0.1", 646 | "bundled": true, 647 | "dev": true 648 | }, 649 | "console-control-strings": { 650 | "version": "1.1.0", 651 | "bundled": true, 652 | "dev": true 653 | }, 654 | "core-util-is": { 655 | "version": "1.0.2", 656 | "bundled": true, 657 | "dev": true, 658 | "optional": true 659 | }, 660 | "debug": { 661 | "version": "2.6.9", 662 | "bundled": true, 663 | "dev": true, 664 | "optional": true, 665 | "requires": { 666 | "ms": "2.0.0" 667 | } 668 | }, 669 | "deep-extend": { 670 | "version": "0.5.1", 671 | "bundled": true, 672 | "dev": true, 673 | "optional": true 674 | }, 675 | "delegates": { 676 | "version": "1.0.0", 677 | "bundled": true, 678 | "dev": true, 679 | "optional": true 680 | }, 681 | "detect-libc": { 682 | "version": "1.0.3", 683 | "bundled": true, 684 | "dev": true, 685 | "optional": true 686 | }, 687 | "fs-minipass": { 688 | "version": "1.2.5", 689 | "bundled": true, 690 | "dev": true, 691 | "optional": true, 692 | "requires": { 693 | "minipass": "^2.2.1" 694 | } 695 | }, 696 | "fs.realpath": { 697 | "version": "1.0.0", 698 | "bundled": true, 699 | "dev": true, 700 | "optional": true 701 | }, 702 | "gauge": { 703 | "version": "2.7.4", 704 | "bundled": true, 705 | "dev": true, 706 | "optional": true, 707 | "requires": { 708 | "aproba": "^1.0.3", 709 | "console-control-strings": "^1.0.0", 710 | "has-unicode": "^2.0.0", 711 | "object-assign": "^4.1.0", 712 | "signal-exit": "^3.0.0", 713 | "string-width": "^1.0.1", 714 | "strip-ansi": "^3.0.1", 715 | "wide-align": "^1.1.0" 716 | } 717 | }, 718 | "glob": { 719 | "version": "7.1.2", 720 | "bundled": true, 721 | "dev": true, 722 | "optional": true, 723 | "requires": { 724 | "fs.realpath": "^1.0.0", 725 | "inflight": "^1.0.4", 726 | "inherits": "2", 727 | "minimatch": "^3.0.4", 728 | "once": "^1.3.0", 729 | "path-is-absolute": "^1.0.0" 730 | } 731 | }, 732 | "has-unicode": { 733 | "version": "2.0.1", 734 | "bundled": true, 735 | "dev": true, 736 | "optional": true 737 | }, 738 | "iconv-lite": { 739 | "version": "0.4.21", 740 | "bundled": true, 741 | "dev": true, 742 | "optional": true, 743 | "requires": { 744 | "safer-buffer": "^2.1.0" 745 | } 746 | }, 747 | "ignore-walk": { 748 | "version": "3.0.1", 749 | "bundled": true, 750 | "dev": true, 751 | "optional": true, 752 | "requires": { 753 | "minimatch": "^3.0.4" 754 | } 755 | }, 756 | "inflight": { 757 | "version": "1.0.6", 758 | "bundled": true, 759 | "dev": true, 760 | "optional": true, 761 | "requires": { 762 | "once": "^1.3.0", 763 | "wrappy": "1" 764 | } 765 | }, 766 | "inherits": { 767 | "version": "2.0.3", 768 | "bundled": true, 769 | "dev": true 770 | }, 771 | "ini": { 772 | "version": "1.3.5", 773 | "bundled": true, 774 | "dev": true, 775 | "optional": true 776 | }, 777 | "is-fullwidth-code-point": { 778 | "version": "1.0.0", 779 | "bundled": true, 780 | "dev": true, 781 | "requires": { 782 | "number-is-nan": "^1.0.0" 783 | } 784 | }, 785 | "isarray": { 786 | "version": "1.0.0", 787 | "bundled": true, 788 | "dev": true, 789 | "optional": true 790 | }, 791 | "minimatch": { 792 | "version": "3.0.4", 793 | "bundled": true, 794 | "dev": true, 795 | "requires": { 796 | "brace-expansion": "^1.1.7" 797 | } 798 | }, 799 | "minimist": { 800 | "version": "0.0.8", 801 | "bundled": true, 802 | "dev": true 803 | }, 804 | "minipass": { 805 | "version": "2.2.4", 806 | "bundled": true, 807 | "dev": true, 808 | "requires": { 809 | "safe-buffer": "^5.1.1", 810 | "yallist": "^3.0.0" 811 | } 812 | }, 813 | "minizlib": { 814 | "version": "1.1.0", 815 | "bundled": true, 816 | "dev": true, 817 | "optional": true, 818 | "requires": { 819 | "minipass": "^2.2.1" 820 | } 821 | }, 822 | "mkdirp": { 823 | "version": "0.5.1", 824 | "bundled": true, 825 | "dev": true, 826 | "requires": { 827 | "minimist": "0.0.8" 828 | } 829 | }, 830 | "ms": { 831 | "version": "2.0.0", 832 | "bundled": true, 833 | "dev": true, 834 | "optional": true 835 | }, 836 | "needle": { 837 | "version": "2.2.0", 838 | "bundled": true, 839 | "dev": true, 840 | "optional": true, 841 | "requires": { 842 | "debug": "^2.1.2", 843 | "iconv-lite": "^0.4.4", 844 | "sax": "^1.2.4" 845 | } 846 | }, 847 | "node-pre-gyp": { 848 | "version": "0.10.0", 849 | "bundled": true, 850 | "dev": true, 851 | "optional": true, 852 | "requires": { 853 | "detect-libc": "^1.0.2", 854 | "mkdirp": "^0.5.1", 855 | "needle": "^2.2.0", 856 | "nopt": "^4.0.1", 857 | "npm-packlist": "^1.1.6", 858 | "npmlog": "^4.0.2", 859 | "rc": "^1.1.7", 860 | "rimraf": "^2.6.1", 861 | "semver": "^5.3.0", 862 | "tar": "^4" 863 | } 864 | }, 865 | "nopt": { 866 | "version": "4.0.1", 867 | "bundled": true, 868 | "dev": true, 869 | "optional": true, 870 | "requires": { 871 | "abbrev": "1", 872 | "osenv": "^0.1.4" 873 | } 874 | }, 875 | "npm-bundled": { 876 | "version": "1.0.3", 877 | "bundled": true, 878 | "dev": true, 879 | "optional": true 880 | }, 881 | "npm-packlist": { 882 | "version": "1.1.10", 883 | "bundled": true, 884 | "dev": true, 885 | "optional": true, 886 | "requires": { 887 | "ignore-walk": "^3.0.1", 888 | "npm-bundled": "^1.0.1" 889 | } 890 | }, 891 | "npmlog": { 892 | "version": "4.1.2", 893 | "bundled": true, 894 | "dev": true, 895 | "optional": true, 896 | "requires": { 897 | "are-we-there-yet": "~1.1.2", 898 | "console-control-strings": "~1.1.0", 899 | "gauge": "~2.7.3", 900 | "set-blocking": "~2.0.0" 901 | } 902 | }, 903 | "number-is-nan": { 904 | "version": "1.0.1", 905 | "bundled": true, 906 | "dev": true 907 | }, 908 | "object-assign": { 909 | "version": "4.1.1", 910 | "bundled": true, 911 | "dev": true, 912 | "optional": true 913 | }, 914 | "once": { 915 | "version": "1.4.0", 916 | "bundled": true, 917 | "dev": true, 918 | "requires": { 919 | "wrappy": "1" 920 | } 921 | }, 922 | "os-homedir": { 923 | "version": "1.0.2", 924 | "bundled": true, 925 | "dev": true, 926 | "optional": true 927 | }, 928 | "os-tmpdir": { 929 | "version": "1.0.2", 930 | "bundled": true, 931 | "dev": true, 932 | "optional": true 933 | }, 934 | "osenv": { 935 | "version": "0.1.5", 936 | "bundled": true, 937 | "dev": true, 938 | "optional": true, 939 | "requires": { 940 | "os-homedir": "^1.0.0", 941 | "os-tmpdir": "^1.0.0" 942 | } 943 | }, 944 | "path-is-absolute": { 945 | "version": "1.0.1", 946 | "bundled": true, 947 | "dev": true, 948 | "optional": true 949 | }, 950 | "process-nextick-args": { 951 | "version": "2.0.0", 952 | "bundled": true, 953 | "dev": true, 954 | "optional": true 955 | }, 956 | "rc": { 957 | "version": "1.2.7", 958 | "bundled": true, 959 | "dev": true, 960 | "optional": true, 961 | "requires": { 962 | "deep-extend": "^0.5.1", 963 | "ini": "~1.3.0", 964 | "minimist": "^1.2.0", 965 | "strip-json-comments": "~2.0.1" 966 | }, 967 | "dependencies": { 968 | "minimist": { 969 | "version": "1.2.0", 970 | "bundled": true, 971 | "dev": true, 972 | "optional": true 973 | } 974 | } 975 | }, 976 | "readable-stream": { 977 | "version": "2.3.6", 978 | "bundled": true, 979 | "dev": true, 980 | "optional": true, 981 | "requires": { 982 | "core-util-is": "~1.0.0", 983 | "inherits": "~2.0.3", 984 | "isarray": "~1.0.0", 985 | "process-nextick-args": "~2.0.0", 986 | "safe-buffer": "~5.1.1", 987 | "string_decoder": "~1.1.1", 988 | "util-deprecate": "~1.0.1" 989 | } 990 | }, 991 | "rimraf": { 992 | "version": "2.6.2", 993 | "bundled": true, 994 | "dev": true, 995 | "optional": true, 996 | "requires": { 997 | "glob": "^7.0.5" 998 | } 999 | }, 1000 | "safe-buffer": { 1001 | "version": "5.1.1", 1002 | "bundled": true, 1003 | "dev": true 1004 | }, 1005 | "safer-buffer": { 1006 | "version": "2.1.2", 1007 | "bundled": true, 1008 | "dev": true, 1009 | "optional": true 1010 | }, 1011 | "sax": { 1012 | "version": "1.2.4", 1013 | "bundled": true, 1014 | "dev": true, 1015 | "optional": true 1016 | }, 1017 | "semver": { 1018 | "version": "5.5.0", 1019 | "bundled": true, 1020 | "dev": true, 1021 | "optional": true 1022 | }, 1023 | "set-blocking": { 1024 | "version": "2.0.0", 1025 | "bundled": true, 1026 | "dev": true, 1027 | "optional": true 1028 | }, 1029 | "signal-exit": { 1030 | "version": "3.0.2", 1031 | "bundled": true, 1032 | "dev": true, 1033 | "optional": true 1034 | }, 1035 | "string-width": { 1036 | "version": "1.0.2", 1037 | "bundled": true, 1038 | "dev": true, 1039 | "requires": { 1040 | "code-point-at": "^1.0.0", 1041 | "is-fullwidth-code-point": "^1.0.0", 1042 | "strip-ansi": "^3.0.0" 1043 | } 1044 | }, 1045 | "string_decoder": { 1046 | "version": "1.1.1", 1047 | "bundled": true, 1048 | "dev": true, 1049 | "optional": true, 1050 | "requires": { 1051 | "safe-buffer": "~5.1.0" 1052 | } 1053 | }, 1054 | "strip-ansi": { 1055 | "version": "3.0.1", 1056 | "bundled": true, 1057 | "dev": true, 1058 | "requires": { 1059 | "ansi-regex": "^2.0.0" 1060 | } 1061 | }, 1062 | "strip-json-comments": { 1063 | "version": "2.0.1", 1064 | "bundled": true, 1065 | "dev": true, 1066 | "optional": true 1067 | }, 1068 | "tar": { 1069 | "version": "4.4.1", 1070 | "bundled": true, 1071 | "dev": true, 1072 | "optional": true, 1073 | "requires": { 1074 | "chownr": "^1.0.1", 1075 | "fs-minipass": "^1.2.5", 1076 | "minipass": "^2.2.4", 1077 | "minizlib": "^1.1.0", 1078 | "mkdirp": "^0.5.0", 1079 | "safe-buffer": "^5.1.1", 1080 | "yallist": "^3.0.2" 1081 | } 1082 | }, 1083 | "util-deprecate": { 1084 | "version": "1.0.2", 1085 | "bundled": true, 1086 | "dev": true, 1087 | "optional": true 1088 | }, 1089 | "wide-align": { 1090 | "version": "1.1.2", 1091 | "bundled": true, 1092 | "dev": true, 1093 | "optional": true, 1094 | "requires": { 1095 | "string-width": "^1.0.2" 1096 | } 1097 | }, 1098 | "wrappy": { 1099 | "version": "1.0.2", 1100 | "bundled": true, 1101 | "dev": true 1102 | }, 1103 | "yallist": { 1104 | "version": "3.0.2", 1105 | "bundled": true, 1106 | "dev": true 1107 | } 1108 | } 1109 | }, 1110 | "get-value": { 1111 | "version": "2.0.6", 1112 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 1113 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", 1114 | "dev": true 1115 | }, 1116 | "glob": { 1117 | "version": "7.1.3", 1118 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", 1119 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 1120 | "dev": true, 1121 | "requires": { 1122 | "fs.realpath": "^1.0.0", 1123 | "inflight": "^1.0.4", 1124 | "inherits": "2", 1125 | "minimatch": "^3.0.4", 1126 | "once": "^1.3.0", 1127 | "path-is-absolute": "^1.0.0" 1128 | } 1129 | }, 1130 | "glob-parent": { 1131 | "version": "3.1.0", 1132 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", 1133 | "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", 1134 | "dev": true, 1135 | "optional": true, 1136 | "requires": { 1137 | "is-glob": "^3.1.0", 1138 | "path-dirname": "^1.0.0" 1139 | }, 1140 | "dependencies": { 1141 | "is-glob": { 1142 | "version": "3.1.0", 1143 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", 1144 | "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", 1145 | "dev": true, 1146 | "optional": true, 1147 | "requires": { 1148 | "is-extglob": "^2.1.0" 1149 | } 1150 | } 1151 | } 1152 | }, 1153 | "graceful-fs": { 1154 | "version": "4.1.11", 1155 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1156 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1157 | "dev": true 1158 | }, 1159 | "gud": { 1160 | "version": "1.0.0", 1161 | "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", 1162 | "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" 1163 | }, 1164 | "has-value": { 1165 | "version": "1.0.0", 1166 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1167 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 1168 | "dev": true, 1169 | "requires": { 1170 | "get-value": "^2.0.6", 1171 | "has-values": "^1.0.0", 1172 | "isobject": "^3.0.0" 1173 | } 1174 | }, 1175 | "has-values": { 1176 | "version": "1.0.0", 1177 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1178 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 1179 | "dev": true, 1180 | "requires": { 1181 | "is-number": "^3.0.0", 1182 | "kind-of": "^4.0.0" 1183 | }, 1184 | "dependencies": { 1185 | "kind-of": { 1186 | "version": "4.0.0", 1187 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1188 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 1189 | "dev": true, 1190 | "requires": { 1191 | "is-buffer": "^1.1.5" 1192 | } 1193 | } 1194 | } 1195 | }, 1196 | "hoist-non-react-statics": { 1197 | "version": "2.5.5", 1198 | "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", 1199 | "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" 1200 | }, 1201 | "iconv-lite": { 1202 | "version": "0.4.24", 1203 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1204 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1205 | "requires": { 1206 | "safer-buffer": ">= 2.1.2 < 3" 1207 | } 1208 | }, 1209 | "inflight": { 1210 | "version": "1.0.6", 1211 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1212 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1213 | "dev": true, 1214 | "requires": { 1215 | "once": "^1.3.0", 1216 | "wrappy": "1" 1217 | } 1218 | }, 1219 | "inherits": { 1220 | "version": "2.0.3", 1221 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1222 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1223 | "dev": true 1224 | }, 1225 | "is-accessor-descriptor": { 1226 | "version": "0.1.6", 1227 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 1228 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 1229 | "dev": true, 1230 | "requires": { 1231 | "kind-of": "^3.0.2" 1232 | }, 1233 | "dependencies": { 1234 | "kind-of": { 1235 | "version": "3.2.2", 1236 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1237 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1238 | "dev": true, 1239 | "requires": { 1240 | "is-buffer": "^1.1.5" 1241 | } 1242 | } 1243 | } 1244 | }, 1245 | "is-binary-path": { 1246 | "version": "1.0.1", 1247 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", 1248 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", 1249 | "dev": true, 1250 | "optional": true, 1251 | "requires": { 1252 | "binary-extensions": "^1.0.0" 1253 | } 1254 | }, 1255 | "is-buffer": { 1256 | "version": "1.1.6", 1257 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1258 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 1259 | "dev": true 1260 | }, 1261 | "is-data-descriptor": { 1262 | "version": "0.1.4", 1263 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 1264 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 1265 | "dev": true, 1266 | "requires": { 1267 | "kind-of": "^3.0.2" 1268 | }, 1269 | "dependencies": { 1270 | "kind-of": { 1271 | "version": "3.2.2", 1272 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1273 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1274 | "dev": true, 1275 | "requires": { 1276 | "is-buffer": "^1.1.5" 1277 | } 1278 | } 1279 | } 1280 | }, 1281 | "is-descriptor": { 1282 | "version": "0.1.6", 1283 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 1284 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 1285 | "dev": true, 1286 | "requires": { 1287 | "is-accessor-descriptor": "^0.1.6", 1288 | "is-data-descriptor": "^0.1.4", 1289 | "kind-of": "^5.0.0" 1290 | }, 1291 | "dependencies": { 1292 | "kind-of": { 1293 | "version": "5.1.0", 1294 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 1295 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 1296 | "dev": true 1297 | } 1298 | } 1299 | }, 1300 | "is-extendable": { 1301 | "version": "0.1.1", 1302 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1303 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1304 | "dev": true 1305 | }, 1306 | "is-extglob": { 1307 | "version": "2.1.1", 1308 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1309 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1310 | "dev": true 1311 | }, 1312 | "is-glob": { 1313 | "version": "4.0.0", 1314 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", 1315 | "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", 1316 | "dev": true, 1317 | "optional": true, 1318 | "requires": { 1319 | "is-extglob": "^2.1.1" 1320 | } 1321 | }, 1322 | "is-number": { 1323 | "version": "3.0.0", 1324 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 1325 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 1326 | "dev": true, 1327 | "requires": { 1328 | "kind-of": "^3.0.2" 1329 | }, 1330 | "dependencies": { 1331 | "kind-of": { 1332 | "version": "3.2.2", 1333 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1334 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1335 | "dev": true, 1336 | "requires": { 1337 | "is-buffer": "^1.1.5" 1338 | } 1339 | } 1340 | } 1341 | }, 1342 | "is-plain-obj": { 1343 | "version": "1.1.0", 1344 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 1345 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", 1346 | "dev": true 1347 | }, 1348 | "is-plain-object": { 1349 | "version": "2.0.4", 1350 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1351 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1352 | "dev": true, 1353 | "requires": { 1354 | "isobject": "^3.0.1" 1355 | } 1356 | }, 1357 | "is-stream": { 1358 | "version": "1.1.0", 1359 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1360 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 1361 | }, 1362 | "is-windows": { 1363 | "version": "1.0.2", 1364 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 1365 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", 1366 | "dev": true 1367 | }, 1368 | "isarray": { 1369 | "version": "1.0.0", 1370 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1371 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1372 | "dev": true 1373 | }, 1374 | "isobject": { 1375 | "version": "3.0.1", 1376 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1377 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 1378 | "dev": true 1379 | }, 1380 | "isomorphic-fetch": { 1381 | "version": "2.2.1", 1382 | "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", 1383 | "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", 1384 | "requires": { 1385 | "node-fetch": "^1.0.1", 1386 | "whatwg-fetch": ">=0.10.0" 1387 | } 1388 | }, 1389 | "js-tokens": { 1390 | "version": "4.0.0", 1391 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1392 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1393 | }, 1394 | "kind-of": { 1395 | "version": "6.0.2", 1396 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 1397 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", 1398 | "dev": true 1399 | }, 1400 | "lodash": { 1401 | "version": "4.17.11", 1402 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", 1403 | "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", 1404 | "dev": true 1405 | }, 1406 | "lodash.debounce": { 1407 | "version": "4.0.8", 1408 | "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", 1409 | "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", 1410 | "dev": true, 1411 | "optional": true 1412 | }, 1413 | "loose-envify": { 1414 | "version": "1.4.0", 1415 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1416 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1417 | "requires": { 1418 | "js-tokens": "^3.0.0 || ^4.0.0" 1419 | } 1420 | }, 1421 | "map-cache": { 1422 | "version": "0.2.2", 1423 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 1424 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", 1425 | "dev": true 1426 | }, 1427 | "map-visit": { 1428 | "version": "1.0.0", 1429 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 1430 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 1431 | "dev": true, 1432 | "requires": { 1433 | "object-visit": "^1.0.0" 1434 | } 1435 | }, 1436 | "micromatch": { 1437 | "version": "3.1.10", 1438 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 1439 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 1440 | "dev": true, 1441 | "requires": { 1442 | "arr-diff": "^4.0.0", 1443 | "array-unique": "^0.3.2", 1444 | "braces": "^2.3.1", 1445 | "define-property": "^2.0.2", 1446 | "extend-shallow": "^3.0.2", 1447 | "extglob": "^2.0.4", 1448 | "fragment-cache": "^0.2.1", 1449 | "kind-of": "^6.0.2", 1450 | "nanomatch": "^1.2.9", 1451 | "object.pick": "^1.3.0", 1452 | "regex-not": "^1.0.0", 1453 | "snapdragon": "^0.8.1", 1454 | "to-regex": "^3.0.2" 1455 | } 1456 | }, 1457 | "minimatch": { 1458 | "version": "3.0.4", 1459 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1460 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1461 | "dev": true, 1462 | "requires": { 1463 | "brace-expansion": "^1.1.7" 1464 | } 1465 | }, 1466 | "minimist": { 1467 | "version": "0.0.8", 1468 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1469 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1470 | "dev": true 1471 | }, 1472 | "mixin-deep": { 1473 | "version": "1.3.1", 1474 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", 1475 | "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", 1476 | "dev": true, 1477 | "requires": { 1478 | "for-in": "^1.0.2", 1479 | "is-extendable": "^1.0.1" 1480 | }, 1481 | "dependencies": { 1482 | "is-extendable": { 1483 | "version": "1.0.1", 1484 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 1485 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 1486 | "dev": true, 1487 | "requires": { 1488 | "is-plain-object": "^2.0.4" 1489 | } 1490 | } 1491 | } 1492 | }, 1493 | "mkdirp": { 1494 | "version": "0.5.1", 1495 | "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1496 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1497 | "dev": true, 1498 | "requires": { 1499 | "minimist": "0.0.8" 1500 | } 1501 | }, 1502 | "ms": { 1503 | "version": "2.0.0", 1504 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1505 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1506 | "dev": true 1507 | }, 1508 | "nan": { 1509 | "version": "2.11.0", 1510 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", 1511 | "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", 1512 | "dev": true, 1513 | "optional": true 1514 | }, 1515 | "nanomatch": { 1516 | "version": "1.2.13", 1517 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", 1518 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", 1519 | "dev": true, 1520 | "requires": { 1521 | "arr-diff": "^4.0.0", 1522 | "array-unique": "^0.3.2", 1523 | "define-property": "^2.0.2", 1524 | "extend-shallow": "^3.0.2", 1525 | "fragment-cache": "^0.2.1", 1526 | "is-windows": "^1.0.2", 1527 | "kind-of": "^6.0.2", 1528 | "object.pick": "^1.3.0", 1529 | "regex-not": "^1.0.0", 1530 | "snapdragon": "^0.8.1", 1531 | "to-regex": "^3.0.1" 1532 | } 1533 | }, 1534 | "node-fetch": { 1535 | "version": "1.7.3", 1536 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", 1537 | "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", 1538 | "requires": { 1539 | "encoding": "^0.1.11", 1540 | "is-stream": "^1.0.1" 1541 | } 1542 | }, 1543 | "normalize-path": { 1544 | "version": "2.1.1", 1545 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 1546 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 1547 | "dev": true, 1548 | "requires": { 1549 | "remove-trailing-separator": "^1.0.1" 1550 | } 1551 | }, 1552 | "object-assign": { 1553 | "version": "4.1.1", 1554 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1555 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 1556 | }, 1557 | "object-copy": { 1558 | "version": "0.1.0", 1559 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 1560 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 1561 | "dev": true, 1562 | "requires": { 1563 | "copy-descriptor": "^0.1.0", 1564 | "define-property": "^0.2.5", 1565 | "kind-of": "^3.0.3" 1566 | }, 1567 | "dependencies": { 1568 | "define-property": { 1569 | "version": "0.2.5", 1570 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 1571 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 1572 | "dev": true, 1573 | "requires": { 1574 | "is-descriptor": "^0.1.0" 1575 | } 1576 | }, 1577 | "kind-of": { 1578 | "version": "3.2.2", 1579 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1580 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1581 | "dev": true, 1582 | "requires": { 1583 | "is-buffer": "^1.1.5" 1584 | } 1585 | } 1586 | } 1587 | }, 1588 | "object-style": { 1589 | "version": "1.0.3", 1590 | "resolved": "https://registry.npmjs.org/object-style/-/object-style-1.0.3.tgz", 1591 | "integrity": "sha512-YeR5KkbBB3epla2ovvg1j3UYoxrWlNxHLghG9rq/fYAHOMCqgzByyc2b/uzR45IIeAZWFfoLJkSjku1n8S6tvQ==", 1592 | "requires": { 1593 | "fnv1a": "^1.0.1" 1594 | } 1595 | }, 1596 | "object-visit": { 1597 | "version": "1.0.1", 1598 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 1599 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 1600 | "dev": true, 1601 | "requires": { 1602 | "isobject": "^3.0.0" 1603 | } 1604 | }, 1605 | "object.pick": { 1606 | "version": "1.3.0", 1607 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 1608 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 1609 | "dev": true, 1610 | "requires": { 1611 | "isobject": "^3.0.1" 1612 | } 1613 | }, 1614 | "once": { 1615 | "version": "1.4.0", 1616 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1617 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1618 | "dev": true, 1619 | "requires": { 1620 | "wrappy": "1" 1621 | } 1622 | }, 1623 | "output-file-sync": { 1624 | "version": "2.0.1", 1625 | "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", 1626 | "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", 1627 | "dev": true, 1628 | "requires": { 1629 | "graceful-fs": "^4.1.11", 1630 | "is-plain-obj": "^1.1.0", 1631 | "mkdirp": "^0.5.1" 1632 | } 1633 | }, 1634 | "pascalcase": { 1635 | "version": "0.1.1", 1636 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 1637 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", 1638 | "dev": true 1639 | }, 1640 | "path-dirname": { 1641 | "version": "1.0.2", 1642 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", 1643 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", 1644 | "dev": true, 1645 | "optional": true 1646 | }, 1647 | "path-is-absolute": { 1648 | "version": "1.0.1", 1649 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1650 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1651 | "dev": true 1652 | }, 1653 | "posix-character-classes": { 1654 | "version": "0.1.1", 1655 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 1656 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", 1657 | "dev": true 1658 | }, 1659 | "process-nextick-args": { 1660 | "version": "2.0.0", 1661 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 1662 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", 1663 | "dev": true, 1664 | "optional": true 1665 | }, 1666 | "promise": { 1667 | "version": "7.3.1", 1668 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", 1669 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", 1670 | "requires": { 1671 | "asap": "~2.0.3" 1672 | } 1673 | }, 1674 | "prop-types": { 1675 | "version": "15.6.2", 1676 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", 1677 | "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", 1678 | "requires": { 1679 | "loose-envify": "^1.3.1", 1680 | "object-assign": "^4.1.1" 1681 | } 1682 | }, 1683 | "react": { 1684 | "version": "16.5.1", 1685 | "resolved": "https://registry.npmjs.org/react/-/react-16.5.1.tgz", 1686 | "integrity": "sha512-E+23+rbpPsJgSX812LQkwupUCFnbVE84+L8uxlkqN5MU0DcraWMlVf9cRvKCKtGu0XvScyRnW7Z+9d7ymkjy3A==", 1687 | "dev": true, 1688 | "requires": { 1689 | "loose-envify": "^1.1.0", 1690 | "object-assign": "^4.1.1", 1691 | "prop-types": "^15.6.2", 1692 | "schedule": "^0.4.0" 1693 | } 1694 | }, 1695 | "react-dom": { 1696 | "version": "16.5.1", 1697 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.5.1.tgz", 1698 | "integrity": "sha512-l4L9GtX7ezgnDIIr6AaNvGBM4BiK0fSs4/V8bdsu9X6xqrtHr+jp6auT0hbHpN7bH9WRvDBZceWQ9WJ3lGCIvQ==", 1699 | "dev": true, 1700 | "requires": { 1701 | "loose-envify": "^1.1.0", 1702 | "object-assign": "^4.1.1", 1703 | "prop-types": "^15.6.2", 1704 | "schedule": "^0.4.0" 1705 | } 1706 | }, 1707 | "react-is": { 1708 | "version": "16.5.1", 1709 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.5.1.tgz", 1710 | "integrity": "sha512-Q7S+9y2lJA9oJCMqLt045f+kLRhsMLA1wW2DAGXA6b7wcTQRHnUDMc5oR49tn0Z4swvnfV+/t8iZFXY74IQmpA==", 1711 | "dev": true 1712 | }, 1713 | "react-test-renderer": { 1714 | "version": "16.5.1", 1715 | "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.5.1.tgz", 1716 | "integrity": "sha512-NOOtwdN5DNGFqsOyU4zqO2+N82wBt7Z5gNOW+ZY/Aui1K/ohmW7uqd5yUW6UYN0Y64Ci/m9CbwrytTHYIMIWtQ==", 1717 | "dev": true, 1718 | "requires": { 1719 | "object-assign": "^4.1.1", 1720 | "prop-types": "^15.6.2", 1721 | "react-is": "^16.5.1", 1722 | "schedule": "^0.4.0" 1723 | } 1724 | }, 1725 | "readable-stream": { 1726 | "version": "2.3.6", 1727 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 1728 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 1729 | "dev": true, 1730 | "optional": true, 1731 | "requires": { 1732 | "core-util-is": "~1.0.0", 1733 | "inherits": "~2.0.3", 1734 | "isarray": "~1.0.0", 1735 | "process-nextick-args": "~2.0.0", 1736 | "safe-buffer": "~5.1.1", 1737 | "string_decoder": "~1.1.1", 1738 | "util-deprecate": "~1.0.1" 1739 | } 1740 | }, 1741 | "readdirp": { 1742 | "version": "2.2.1", 1743 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", 1744 | "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", 1745 | "dev": true, 1746 | "optional": true, 1747 | "requires": { 1748 | "graceful-fs": "^4.1.11", 1749 | "micromatch": "^3.1.10", 1750 | "readable-stream": "^2.0.2" 1751 | } 1752 | }, 1753 | "regex-not": { 1754 | "version": "1.0.2", 1755 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 1756 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 1757 | "dev": true, 1758 | "requires": { 1759 | "extend-shallow": "^3.0.2", 1760 | "safe-regex": "^1.1.0" 1761 | } 1762 | }, 1763 | "remove-trailing-separator": { 1764 | "version": "1.1.0", 1765 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 1766 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 1767 | "dev": true 1768 | }, 1769 | "repeat-element": { 1770 | "version": "1.1.3", 1771 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", 1772 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", 1773 | "dev": true 1774 | }, 1775 | "repeat-string": { 1776 | "version": "1.6.1", 1777 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 1778 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 1779 | "dev": true 1780 | }, 1781 | "resolve-url": { 1782 | "version": "0.2.1", 1783 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 1784 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", 1785 | "dev": true 1786 | }, 1787 | "ret": { 1788 | "version": "0.1.15", 1789 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 1790 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", 1791 | "dev": true 1792 | }, 1793 | "safe-buffer": { 1794 | "version": "5.1.2", 1795 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1796 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1797 | "dev": true 1798 | }, 1799 | "safe-regex": { 1800 | "version": "1.1.0", 1801 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 1802 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 1803 | "dev": true, 1804 | "requires": { 1805 | "ret": "~0.1.10" 1806 | } 1807 | }, 1808 | "safer-buffer": { 1809 | "version": "2.1.2", 1810 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1811 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1812 | }, 1813 | "schedule": { 1814 | "version": "0.4.0", 1815 | "resolved": "https://registry.npmjs.org/schedule/-/schedule-0.4.0.tgz", 1816 | "integrity": "sha512-hYjmoaEMojiMkWCxKr6ue+LYcZ29u29+AamWYmzwT2VOO9ws5UJp/wNhsVUPiUeNh+EdRfZm7nDeB40ffTfMhA==", 1817 | "dev": true, 1818 | "requires": { 1819 | "object-assign": "^4.1.1" 1820 | } 1821 | }, 1822 | "set-value": { 1823 | "version": "2.0.0", 1824 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", 1825 | "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", 1826 | "dev": true, 1827 | "requires": { 1828 | "extend-shallow": "^2.0.1", 1829 | "is-extendable": "^0.1.1", 1830 | "is-plain-object": "^2.0.3", 1831 | "split-string": "^3.0.1" 1832 | }, 1833 | "dependencies": { 1834 | "extend-shallow": { 1835 | "version": "2.0.1", 1836 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1837 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1838 | "dev": true, 1839 | "requires": { 1840 | "is-extendable": "^0.1.0" 1841 | } 1842 | } 1843 | } 1844 | }, 1845 | "setimmediate": { 1846 | "version": "1.0.5", 1847 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 1848 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" 1849 | }, 1850 | "slash": { 1851 | "version": "2.0.0", 1852 | "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", 1853 | "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", 1854 | "dev": true 1855 | }, 1856 | "snapdragon": { 1857 | "version": "0.8.2", 1858 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 1859 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 1860 | "dev": true, 1861 | "requires": { 1862 | "base": "^0.11.1", 1863 | "debug": "^2.2.0", 1864 | "define-property": "^0.2.5", 1865 | "extend-shallow": "^2.0.1", 1866 | "map-cache": "^0.2.2", 1867 | "source-map": "^0.5.6", 1868 | "source-map-resolve": "^0.5.0", 1869 | "use": "^3.1.0" 1870 | }, 1871 | "dependencies": { 1872 | "define-property": { 1873 | "version": "0.2.5", 1874 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 1875 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 1876 | "dev": true, 1877 | "requires": { 1878 | "is-descriptor": "^0.1.0" 1879 | } 1880 | }, 1881 | "extend-shallow": { 1882 | "version": "2.0.1", 1883 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1884 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1885 | "dev": true, 1886 | "requires": { 1887 | "is-extendable": "^0.1.0" 1888 | } 1889 | } 1890 | } 1891 | }, 1892 | "snapdragon-node": { 1893 | "version": "2.1.1", 1894 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 1895 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 1896 | "dev": true, 1897 | "requires": { 1898 | "define-property": "^1.0.0", 1899 | "isobject": "^3.0.0", 1900 | "snapdragon-util": "^3.0.1" 1901 | }, 1902 | "dependencies": { 1903 | "define-property": { 1904 | "version": "1.0.0", 1905 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 1906 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 1907 | "dev": true, 1908 | "requires": { 1909 | "is-descriptor": "^1.0.0" 1910 | } 1911 | }, 1912 | "is-accessor-descriptor": { 1913 | "version": "1.0.0", 1914 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 1915 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 1916 | "dev": true, 1917 | "requires": { 1918 | "kind-of": "^6.0.0" 1919 | } 1920 | }, 1921 | "is-data-descriptor": { 1922 | "version": "1.0.0", 1923 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 1924 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 1925 | "dev": true, 1926 | "requires": { 1927 | "kind-of": "^6.0.0" 1928 | } 1929 | }, 1930 | "is-descriptor": { 1931 | "version": "1.0.2", 1932 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 1933 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 1934 | "dev": true, 1935 | "requires": { 1936 | "is-accessor-descriptor": "^1.0.0", 1937 | "is-data-descriptor": "^1.0.0", 1938 | "kind-of": "^6.0.2" 1939 | } 1940 | } 1941 | } 1942 | }, 1943 | "snapdragon-util": { 1944 | "version": "3.0.1", 1945 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 1946 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 1947 | "dev": true, 1948 | "requires": { 1949 | "kind-of": "^3.2.0" 1950 | }, 1951 | "dependencies": { 1952 | "kind-of": { 1953 | "version": "3.2.2", 1954 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1955 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1956 | "dev": true, 1957 | "requires": { 1958 | "is-buffer": "^1.1.5" 1959 | } 1960 | } 1961 | } 1962 | }, 1963 | "source-map": { 1964 | "version": "0.5.7", 1965 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1966 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1967 | "dev": true 1968 | }, 1969 | "source-map-resolve": { 1970 | "version": "0.5.2", 1971 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", 1972 | "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", 1973 | "dev": true, 1974 | "requires": { 1975 | "atob": "^2.1.1", 1976 | "decode-uri-component": "^0.2.0", 1977 | "resolve-url": "^0.2.1", 1978 | "source-map-url": "^0.4.0", 1979 | "urix": "^0.1.0" 1980 | } 1981 | }, 1982 | "source-map-url": { 1983 | "version": "0.4.0", 1984 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 1985 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", 1986 | "dev": true 1987 | }, 1988 | "split-string": { 1989 | "version": "3.1.0", 1990 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 1991 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 1992 | "dev": true, 1993 | "requires": { 1994 | "extend-shallow": "^3.0.0" 1995 | } 1996 | }, 1997 | "static-extend": { 1998 | "version": "0.1.2", 1999 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 2000 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 2001 | "dev": true, 2002 | "requires": { 2003 | "define-property": "^0.2.5", 2004 | "object-copy": "^0.1.0" 2005 | }, 2006 | "dependencies": { 2007 | "define-property": { 2008 | "version": "0.2.5", 2009 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2010 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2011 | "dev": true, 2012 | "requires": { 2013 | "is-descriptor": "^0.1.0" 2014 | } 2015 | } 2016 | } 2017 | }, 2018 | "string_decoder": { 2019 | "version": "1.1.1", 2020 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 2021 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 2022 | "dev": true, 2023 | "optional": true, 2024 | "requires": { 2025 | "safe-buffer": "~5.1.0" 2026 | } 2027 | }, 2028 | "to-object-path": { 2029 | "version": "0.3.0", 2030 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 2031 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 2032 | "dev": true, 2033 | "requires": { 2034 | "kind-of": "^3.0.2" 2035 | }, 2036 | "dependencies": { 2037 | "kind-of": { 2038 | "version": "3.2.2", 2039 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2040 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2041 | "dev": true, 2042 | "requires": { 2043 | "is-buffer": "^1.1.5" 2044 | } 2045 | } 2046 | } 2047 | }, 2048 | "to-regex": { 2049 | "version": "3.0.2", 2050 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 2051 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 2052 | "dev": true, 2053 | "requires": { 2054 | "define-property": "^2.0.2", 2055 | "extend-shallow": "^3.0.2", 2056 | "regex-not": "^1.0.2", 2057 | "safe-regex": "^1.1.0" 2058 | } 2059 | }, 2060 | "to-regex-range": { 2061 | "version": "2.1.1", 2062 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 2063 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 2064 | "dev": true, 2065 | "requires": { 2066 | "is-number": "^3.0.0", 2067 | "repeat-string": "^1.6.1" 2068 | } 2069 | }, 2070 | "ua-parser-js": { 2071 | "version": "0.7.18", 2072 | "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", 2073 | "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" 2074 | }, 2075 | "union-value": { 2076 | "version": "1.0.0", 2077 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", 2078 | "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", 2079 | "dev": true, 2080 | "requires": { 2081 | "arr-union": "^3.1.0", 2082 | "get-value": "^2.0.6", 2083 | "is-extendable": "^0.1.1", 2084 | "set-value": "^0.4.3" 2085 | }, 2086 | "dependencies": { 2087 | "extend-shallow": { 2088 | "version": "2.0.1", 2089 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2090 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2091 | "dev": true, 2092 | "requires": { 2093 | "is-extendable": "^0.1.0" 2094 | } 2095 | }, 2096 | "set-value": { 2097 | "version": "0.4.3", 2098 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", 2099 | "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", 2100 | "dev": true, 2101 | "requires": { 2102 | "extend-shallow": "^2.0.1", 2103 | "is-extendable": "^0.1.1", 2104 | "is-plain-object": "^2.0.1", 2105 | "to-object-path": "^0.3.0" 2106 | } 2107 | } 2108 | } 2109 | }, 2110 | "unset-value": { 2111 | "version": "1.0.0", 2112 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 2113 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 2114 | "dev": true, 2115 | "requires": { 2116 | "has-value": "^0.3.1", 2117 | "isobject": "^3.0.0" 2118 | }, 2119 | "dependencies": { 2120 | "has-value": { 2121 | "version": "0.3.1", 2122 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 2123 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 2124 | "dev": true, 2125 | "requires": { 2126 | "get-value": "^2.0.3", 2127 | "has-values": "^0.1.4", 2128 | "isobject": "^2.0.0" 2129 | }, 2130 | "dependencies": { 2131 | "isobject": { 2132 | "version": "2.1.0", 2133 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 2134 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 2135 | "dev": true, 2136 | "requires": { 2137 | "isarray": "1.0.0" 2138 | } 2139 | } 2140 | } 2141 | }, 2142 | "has-values": { 2143 | "version": "0.1.4", 2144 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 2145 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", 2146 | "dev": true 2147 | } 2148 | } 2149 | }, 2150 | "upath": { 2151 | "version": "1.1.0", 2152 | "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", 2153 | "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", 2154 | "dev": true, 2155 | "optional": true 2156 | }, 2157 | "urix": { 2158 | "version": "0.1.0", 2159 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 2160 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", 2161 | "dev": true 2162 | }, 2163 | "use": { 2164 | "version": "3.1.1", 2165 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", 2166 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", 2167 | "dev": true 2168 | }, 2169 | "util-deprecate": { 2170 | "version": "1.0.2", 2171 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2172 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 2173 | "dev": true, 2174 | "optional": true 2175 | }, 2176 | "whatwg-fetch": { 2177 | "version": "3.0.0", 2178 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", 2179 | "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" 2180 | }, 2181 | "wrappy": { 2182 | "version": "1.0.2", 2183 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2184 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2185 | "dev": true 2186 | } 2187 | } 2188 | } 2189 | -------------------------------------------------------------------------------- /packages/mdx-style/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mdx-style", 3 | "version": "2.0.0-alpha.2", 4 | "description": "Add styles to markdown elements in MDX", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "prepare": "babel src -d dist", 8 | "clean": "rm -r dist" 9 | }, 10 | "keywords": [], 11 | "author": "Brent Jackson", 12 | "license": "MIT", 13 | "dependencies": { 14 | "@mdx-js/tag": "^0.15.0", 15 | "object-style": "^1.0.3" 16 | }, 17 | "devDependencies": { 18 | "@babel/cli": "^7.0.0", 19 | "react": "^16.5.1", 20 | "react-dom": "^16.5.1", 21 | "react-test-renderer": "^16.5.1" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/mdx-style/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { MDXProvider } from '@mdx-js/tag' 3 | import objectStyle from 'object-style' 4 | 5 | export { withMDXComponents as withComponents } from '@mdx-js/tag/dist/mdx-provider' 6 | 7 | export const MDXStyleContext = React.createContext({}) 8 | 9 | export const join = (...args) => args.filter(Boolean).join(' ') 10 | export const createComponent = (tag, className) => 11 | props => React.createElement(tag, { 12 | ...props, 13 | className: join(className, props.className) 14 | }) 15 | 16 | // is this safe in IE11? 17 | // const filterUnique = (value, i, self) => self.indexOf(value) === i 18 | const unique = arr => [...new Set(arr)] 19 | 20 | export class MDXStyle extends React.Component { 21 | static defaultProps = { 22 | components: {}, 23 | css: {} 24 | } 25 | 26 | createComponents = (props) => { 27 | const styles = [] 28 | const components = Object.keys(props.css) 29 | .reduce((a, key) => { 30 | const style = props.css[key] 31 | const rule = objectStyle(style) 32 | styles.push(...rule.rules) 33 | 34 | if (key === 'root') { 35 | const component = createComponent('div', rule.className) 36 | return { ...a, [key]: component } 37 | } 38 | 39 | const base = key === 'pre' ? key : props.components[key] || key 40 | const component = createComponent(base, rule.className) 41 | 42 | return { ...a, [key]: component } 43 | }, props.components) 44 | 45 | if (props.components.pre) { 46 | components.inlineCode = components.code 47 | const pre = props.components.pre 48 | const Pre = components.pre 49 | components.code = props => React.createElement(pre, { 50 | pre: props => , 51 | ...props 52 | }) 53 | components.pre = props => props.children 54 | } 55 | 56 | return { 57 | components, 58 | styles: unique(styles).join('') 59 | } 60 | } 61 | 62 | render () { 63 | const { 64 | css, 65 | components: _components, 66 | ...props 67 | } = this.props 68 | const { components, styles } = this.createComponents(this.props) 69 | const Root = components.root || (props => ) 70 | 71 | return ( 72 |35 | 73 | 82 | ) 83 | } 84 | } 85 | 86 | export default MDXStyle 87 | -------------------------------------------------------------------------------- /packages/mdx-style/src/themes/base.js: -------------------------------------------------------------------------------- 1 | const lightgray = '#f6f6ff' 2 | const gray = '#e6e6ef' 3 | const text = '#000' 4 | const blue = '#07c' 5 | 6 | export default { 7 | root: { 8 | fontFamily: 'system-ui, sans-serif', 9 | lineHeight: 1.625, 10 | color: 'var(--text, #000)', 11 | '--text': text, 12 | '--lightgray': lightgray, 13 | '--gray': gray, 14 | '--link': blue, 15 | }, 16 | a: { 17 | color: 'var(--link)' 18 | }, 19 | h1: { 20 | fontSize: '32px', 21 | lineHeight: 1.25, 22 | marginTop: '32px', 23 | marginBottom: '16px', 24 | '@media screen and (min-width:40em)': { 25 | fontSize: '48px', 26 | } 27 | }, 28 | h2: { 29 | fontSize: '24px', 30 | lineHeight: 1.25, 31 | marginTop: '32px', 32 | marginBottom: '16px', 33 | '@media screen and (min-width:40em)': { 34 | fontSize: '32px', 35 | } 36 | }, 37 | h3: { 38 | fontSize: '20px', 39 | lineHeight: 1.25, 40 | marginTop: '32px', 41 | marginBottom: '16px', 42 | }, 43 | h4: { 44 | fontSize: '16px', 45 | lineHeight: 1.25, 46 | marginTop: '32px', 47 | marginBottom: '16px', 48 | }, 49 | h5: { 50 | fontSize: '14px', 51 | lineHeight: 1.25, 52 | marginTop: '16px', 53 | marginBottom: '16px', 54 | }, 55 | h6: { 56 | fontSize: '12px', 57 | lineHeight: 1.25, 58 | marginTop: '16px', 59 | marginBottom: '16px', 60 | }, 61 | p: { 62 | marginTop: '16px', 63 | marginBottom: '16px', 64 | }, 65 | ul: { 66 | paddingLeft: '16px', 67 | marginTop: '16px', 68 | marginBottom: '16px', 69 | }, 70 | ol: { 71 | paddingLeft: '16px', 72 | marginTop: '16px', 73 | marginBottom: '16px', 74 | }, 75 | li: { 76 | '& > p': { 77 | marginTop: 0, 78 | marginBottom: 0, 79 | }, 80 | '& > ul': { 81 | marginTop: 0, 82 | marginBottom: 0, 83 | }, 84 | '& > ol': { 85 | marginTop: 0, 86 | marginBottom: 0, 87 | } 88 | }, 89 | blockquote: { 90 | fontSize: '24px', 91 | marginLeft: 0, 92 | marginRight: 0, 93 | marginTop: '32px', 94 | marginBottom: '32px', 95 | }, 96 | pre: { 97 | fontFamily: 'Menlo, monospace', 98 | fontSize: '14px', 99 | padding: '16px', 100 | marginTop: '32px', 101 | marginBottom: '32px', 102 | overflowX: 'auto', 103 | backgroundColor: 'var(--lightgray)', 104 | }, 105 | code: { 106 | fontFamily: 'Menlo, monospace', 107 | fontSize: '14px', 108 | backgroundColor: 'var(--lightgray)', 109 | }, 110 | img: { 111 | maxWidth: '100%', 112 | height: 'auto', 113 | marginTop: '32px', 114 | marginBottom: '32px', 115 | }, 116 | hr: { 117 | border: 0, 118 | height: '2px', 119 | marginTop: '32px', 120 | marginBottom: '32px', 121 | backgroundColor: 'var(--gray)' 122 | }, 123 | table: { 124 | width: '100%', 125 | marginTop: '32px', 126 | marginBottom: '32px', 127 | borderCollapse: 'separate', 128 | borderSpacing: 0, 129 | borderColor: 'var(--gray)', 130 | '& th': { 131 | textAlign: 'left', 132 | verticalAlign: 'bottom', 133 | paddingTop: '4px', 134 | paddingBottom: '4px', 135 | paddingRight: '4px', 136 | paddingLeft: 0, 137 | borderColor: 'inherit', 138 | borderBottomWidth: '2px', 139 | borderBottomStyle: 'solid' 140 | }, 141 | '& td': { 142 | textAlign: 'left', 143 | verticalAlign: 'top', 144 | paddingTop: '4px', 145 | paddingBottom: '4px', 146 | paddingRight: '4px', 147 | paddingLeft: 0, 148 | borderColor: 'inherit', 149 | borderBottomWidth: '1px', 150 | borderBottomStyle: 'solid' 151 | }, 152 | } 153 | } 154 | -------------------------------------------------------------------------------- /packages/mdx-style/src/themes/index.js: -------------------------------------------------------------------------------- 1 | export { default as base } from './base' 2 | export { default as term } from './term' 3 | -------------------------------------------------------------------------------- /packages/mdx-style/src/themes/term.js: -------------------------------------------------------------------------------- 1 | const black = '#000' 2 | const white = '#fff' 3 | const blue = '#0ff' 4 | const magenta = '#f0f' 5 | 6 | export default { 7 | root: { 8 | fontFamily: '"Roboto Mono", Menlo, monospace', 9 | lineHeight: 1.5, 10 | padding: '16px', 11 | color: `var(--text, ${white})`, 12 | backgroundColor: `var(--background, ${black})`, 13 | '--link': blue, 14 | }, 15 | a: { 16 | color: 'var(--link)' 17 | }, 18 | h1: { 19 | fontSize: '16px', 20 | marginTop: '64px', 21 | marginBottom: '64px', 22 | }, 23 | h2: { 24 | fontSize: '16px', 25 | marginTop: '32px', 26 | marginBottom: '32px', 27 | }, 28 | h3: { 29 | fontSize: '16px', 30 | marginTop: '16px', 31 | marginBottom: '16px', 32 | }, 33 | h4: { 34 | fontSize: '16px', 35 | margin: 0, 36 | }, 37 | h5: { 38 | fontSize: '16px', 39 | margin: 0, 40 | }, 41 | h6: { 42 | fontSize: '16px', 43 | margin: 0, 44 | }, 45 | img: { 46 | maxWidth: '100%', 47 | height: 'auto', 48 | }, 49 | code: { 50 | fontFamily: 'inherit', 51 | color: magenta, 52 | }, 53 | pre: { 54 | fontFamily: 'inherit', 55 | marginTop: '32px', 56 | marginBottom: '32px', 57 | color: magenta, 58 | overflowX: 'auto', 59 | }, 60 | hr: { 61 | height: '4px', 62 | border: 0, 63 | backgroundColor: white, 64 | }, 65 | ol: { 66 | paddingLeft: '2em', 67 | marginTop: '32px', 68 | marginBottom: '32px', 69 | }, 70 | ul: { 71 | listStyle: 'square', 72 | paddingLeft: '2em', 73 | marginTop: '32px', 74 | marginBottom: '32px', 75 | }, 76 | li: { 77 | '& > p': { margin: 0 }, 78 | '& > ul': { margin: 0 }, 79 | '& > ol': { margin: 0 }, 80 | }, 81 | blockquote: { 82 | fontWeight: 'bold', 83 | marginLeft: 0, 84 | marginTop: '64px', 85 | marginBottom: '64px', 86 | paddingLeft: '32px', 87 | borderLeft: '4px solid', 88 | }, 89 | table: { 90 | width: '100%', 91 | marginTop: '32px', 92 | marginBottom: '32px', 93 | borderCollapse: 'separate', 94 | borderSpacing: 0, 95 | borderColor: 'inherit', 96 | '& th': { 97 | textAlign: 'left', 98 | verticalAlign: 'bottom', 99 | paddingTop: '8px', 100 | paddingBottom: '8px', 101 | paddingRight: '4px', 102 | paddingLeft: 0, 103 | borderColor: 'inherit', 104 | borderBottomWidth: '2px', 105 | borderBottomStyle: 'solid' 106 | }, 107 | '& td': { 108 | textAlign: 'left', 109 | verticalAlign: 'top', 110 | paddingTop: '8px', 111 | paddingBottom: '8px', 112 | paddingRight: '4px', 113 | paddingLeft: 0, 114 | borderColor: 'inherit', 115 | borderBottomWidth: '1px', 116 | borderBottomStyle: 'solid' 117 | }, 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /packages/mdx-style/test/__fixtures__/hello.mdx: -------------------------------------------------------------------------------- 1 | 2 | # Hello 3 | 4 | ## Heading 2 5 | 6 | Paragraph 7 | -------------------------------------------------------------------------------- /packages/mdx-style/test/__snapshots__/index.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`MDXStyle renders with css 1`] = ` 4 | Array [ 5 | , 12 |74 | 79 | 81 |80 | 15 |, 19 | ] 20 | `; 21 | -------------------------------------------------------------------------------- /packages/mdx-style/test/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import TestRenderer from 'react-test-renderer' 3 | import MDXStyle, { withComponents } from '../src' 4 | 5 | const renderJSON = el => TestRenderer.create(el).toJSON() 6 | 7 | describe('MDXStyle', () => { 8 | test('renders', () => { 9 | expect(() => { 10 | renderJSON( 11 |16 | Hello 17 |
18 |12 | ) 13 | }).not.toThrow() 14 | }) 15 | 16 | test('renders with css', () => { 17 | const json = renderJSON( 18 | 27 | 29 | ) 30 | expect(json).toMatchSnapshot() 31 | }) 32 | 33 | test('adds styles to custom MDX components', () => { 34 | const components = { 35 | h1: props => 36 | } 37 | const Heading = withComponents(({ 38 | components, 39 | ...props 40 | }) => { 41 | return React.createElement(components.h1, props) 42 | }) 43 | const json = renderJSON( 44 |Hello
28 |51 | 53 | ) 54 | const [ style, root ] = json 55 | const [ h1 ] = root.children 56 | expect(h1.props.className).toBeTruthy() 57 | expect(h1.props.id).toBe('test') 58 | expect(style.props.dangerouslySetInnerHTML.__html).toMatch(/color:tomato/) 59 | }) 60 | }) 61 | -------------------------------------------------------------------------------- /packages/mdx-style/themes.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/themes') 2 | -------------------------------------------------------------------------------- /packages/next-mdx-docs/README.md: -------------------------------------------------------------------------------- 1 | # Next.js + MDX Docs 2 | 3 | Use [MDX][mdx] [Docs][docs] with [Next.js][next]. 4 | 5 | ## Installation 6 | 7 | ``` 8 | npm install --save next-mdx-docs @mdx-js/mdx 9 | ``` 10 | 11 | or 12 | 13 | ``` 14 | yarn add next-mdx-docs @mdx-js/mdx 15 | ``` 16 | 17 | ## Usage 18 | 19 | Create a `next.config.js` 20 | 21 | ``` 22 | const withMdxDocs = require('next-mdx-docs')() 23 | module.exports = withMdxDocs() 24 | ``` 25 | 26 | ## Related 27 | 28 | This is based off of ZEIT's [next-mdx] plugin. 29 | 30 | [mdx]: https://github.com/mdx-js/mdx 31 | [docs]: https://github.com/jxnblk/mdx-docs 32 | [next]: https://github.com/zeit/next.js 33 | [next-mdx]: https://github.com/zeit/next-plugins 34 | -------------------------------------------------------------------------------- /packages/next-mdx-docs/index.js: -------------------------------------------------------------------------------- 1 | const defaultMdPlugins = [ 2 | require('remark-autolink-headings'), 3 | require('remark-emoji'), 4 | require('remark-images'), 5 | require('remark-slug'), 6 | require('remark-unwrap-images'), 7 | ] 8 | 9 | const defaultNextConfig = { 10 | pageExtensions: ['js', 'jsx', 'md', 'mdx'] 11 | } 12 | 13 | module.exports = (providedOptions = {}) => (nextConfig = {}) => { 14 | const allMdPlugins = defaultMdPlugins.concat(providedOptions.mdPlugins || []) 15 | 16 | return Object.assign({}, defaultNextConfig, nextConfig, { 17 | webpack(config, options) { 18 | config.module.rules.push({ 19 | test: providedOptions.extension || /\.mdx?$/, 20 | use: [ 21 | options.defaultLoaders.babel, 22 | { 23 | loader: '@mdx-js/loader', 24 | options: Object.assign({}, providedOptions, { 25 | mdPlugins: allMdPlugins 26 | }) 27 | } 28 | ] 29 | }) 30 | 31 | if (typeof nextConfig.webpack === 'function') { 32 | return nextConfig.webpack(config, options) 33 | } 34 | 35 | return config 36 | } 37 | }) 38 | } 39 | -------------------------------------------------------------------------------- /packages/next-mdx-docs/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next-mdx-docs", 3 | "version": "0.0.1-2", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@mdx-js/loader": { 8 | "version": "0.15.5", 9 | "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-0.15.5.tgz", 10 | "integrity": "sha512-1JpgRqBSzumY+Tt7TZjOP7VwLd/HFdNfkeUM+CAtUUEKrGyecg69O960j35q1RYegp30idkb2ZD383YELAxi/A==", 11 | "requires": { 12 | "@mdx-js/mdx": "^0.15.5", 13 | "@mdx-js/tag": "^0.15.0", 14 | "loader-utils": "^1.1.0" 15 | } 16 | }, 17 | "@mdx-js/mdx": { 18 | "version": "0.15.5", 19 | "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-0.15.5.tgz", 20 | "integrity": "sha512-BZQztjePZNLLbtqTdI8ApzUl1I6blY94vCswT/TYvH305Uw86t+p1mzP2R8RNe7SWT3icLkfiwRAIDM9Zp52xw==", 21 | "requires": { 22 | "change-case": "^3.0.2", 23 | "mdast-util-to-hast": "^3.0.0", 24 | "remark-parse": "^5.0.0", 25 | "remark-squeeze-paragraphs": "^3.0.1", 26 | "to-style": "^1.3.3", 27 | "unified": "^6.1.6", 28 | "unist-util-visit": "^1.3.0" 29 | } 30 | }, 31 | "@mdx-js/tag": { 32 | "version": "0.15.0", 33 | "resolved": "https://registry.npmjs.org/@mdx-js/tag/-/tag-0.15.0.tgz", 34 | "integrity": "sha512-W5HVjced5SMJDoV56aVkZjIfTRM/R1RBpdcDdHMdoza0rSU6lorj7xM5VJtD1AMYRRFuDUu2idkuAJaNosO4Gw==", 35 | "requires": { 36 | "create-react-context": "^0.2.2", 37 | "hoist-non-react-statics": "^2.5.5", 38 | "prop-types": "^15.6.1" 39 | } 40 | }, 41 | "asap": { 42 | "version": "2.0.6", 43 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", 44 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" 45 | }, 46 | "bail": { 47 | "version": "1.0.3", 48 | "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz", 49 | "integrity": "sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==" 50 | }, 51 | "big.js": { 52 | "version": "3.2.0", 53 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", 54 | "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" 55 | }, 56 | "camel-case": { 57 | "version": "3.0.0", 58 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", 59 | "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", 60 | "requires": { 61 | "no-case": "^2.2.0", 62 | "upper-case": "^1.1.1" 63 | } 64 | }, 65 | "change-case": { 66 | "version": "3.0.2", 67 | "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz", 68 | "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==", 69 | "requires": { 70 | "camel-case": "^3.0.0", 71 | "constant-case": "^2.0.0", 72 | "dot-case": "^2.1.0", 73 | "header-case": "^1.0.0", 74 | "is-lower-case": "^1.1.0", 75 | "is-upper-case": "^1.1.0", 76 | "lower-case": "^1.1.1", 77 | "lower-case-first": "^1.0.0", 78 | "no-case": "^2.3.2", 79 | "param-case": "^2.1.0", 80 | "pascal-case": "^2.0.0", 81 | "path-case": "^2.1.0", 82 | "sentence-case": "^2.1.0", 83 | "snake-case": "^2.1.0", 84 | "swap-case": "^1.1.0", 85 | "title-case": "^2.1.0", 86 | "upper-case": "^1.1.1", 87 | "upper-case-first": "^1.1.0" 88 | } 89 | }, 90 | "character-entities": { 91 | "version": "1.2.2", 92 | "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz", 93 | "integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==" 94 | }, 95 | "character-entities-legacy": { 96 | "version": "1.1.2", 97 | "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz", 98 | "integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==" 99 | }, 100 | "character-reference-invalid": { 101 | "version": "1.1.2", 102 | "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz", 103 | "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==" 104 | }, 105 | "collapse-white-space": { 106 | "version": "1.0.4", 107 | "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz", 108 | "integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==" 109 | }, 110 | "constant-case": { 111 | "version": "2.0.0", 112 | "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", 113 | "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=", 114 | "requires": { 115 | "snake-case": "^2.1.0", 116 | "upper-case": "^1.1.1" 117 | } 118 | }, 119 | "core-js": { 120 | "version": "1.2.7", 121 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", 122 | "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" 123 | }, 124 | "create-react-context": { 125 | "version": "0.2.3", 126 | "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz", 127 | "integrity": "sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag==", 128 | "requires": { 129 | "fbjs": "^0.8.0", 130 | "gud": "^1.0.0" 131 | } 132 | }, 133 | "detab": { 134 | "version": "2.0.1", 135 | "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.1.tgz", 136 | "integrity": "sha512-/hhdqdQc5thGrqzjyO/pz76lDZ5GSuAs6goxOaKTsvPk7HNnzAyFN5lyHgqpX4/s1i66K8qMGj+VhA9504x7DQ==", 137 | "requires": { 138 | "repeat-string": "^1.5.4" 139 | } 140 | }, 141 | "dot-case": { 142 | "version": "2.1.1", 143 | "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", 144 | "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=", 145 | "requires": { 146 | "no-case": "^2.2.0" 147 | } 148 | }, 149 | "emoji-regex": { 150 | "version": "6.1.1", 151 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", 152 | "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" 153 | }, 154 | "emojis-list": { 155 | "version": "2.1.0", 156 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", 157 | "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" 158 | }, 159 | "encoding": { 160 | "version": "0.1.12", 161 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", 162 | "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", 163 | "requires": { 164 | "iconv-lite": "~0.4.13" 165 | } 166 | }, 167 | "extend": { 168 | "version": "3.0.2", 169 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 170 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 171 | }, 172 | "fbjs": { 173 | "version": "0.8.17", 174 | "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", 175 | "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", 176 | "requires": { 177 | "core-js": "^1.0.0", 178 | "isomorphic-fetch": "^2.1.1", 179 | "loose-envify": "^1.0.0", 180 | "object-assign": "^4.1.0", 181 | "promise": "^7.1.1", 182 | "setimmediate": "^1.0.5", 183 | "ua-parser-js": "^0.7.18" 184 | } 185 | }, 186 | "github-slugger": { 187 | "version": "1.2.0", 188 | "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz", 189 | "integrity": "sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==", 190 | "requires": { 191 | "emoji-regex": ">=6.0.0 <=6.1.1" 192 | } 193 | }, 194 | "gud": { 195 | "version": "1.0.0", 196 | "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", 197 | "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" 198 | }, 199 | "header-case": { 200 | "version": "1.0.1", 201 | "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", 202 | "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=", 203 | "requires": { 204 | "no-case": "^2.2.0", 205 | "upper-case": "^1.1.3" 206 | } 207 | }, 208 | "hoist-non-react-statics": { 209 | "version": "2.5.5", 210 | "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", 211 | "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" 212 | }, 213 | "iconv-lite": { 214 | "version": "0.4.24", 215 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 216 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 217 | "requires": { 218 | "safer-buffer": ">= 2.1.2 < 3" 219 | } 220 | }, 221 | "inherits": { 222 | "version": "2.0.3", 223 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 224 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 225 | }, 226 | "is-alphabetical": { 227 | "version": "1.0.2", 228 | "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz", 229 | "integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==" 230 | }, 231 | "is-alphanumerical": { 232 | "version": "1.0.2", 233 | "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz", 234 | "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==", 235 | "requires": { 236 | "is-alphabetical": "^1.0.0", 237 | "is-decimal": "^1.0.0" 238 | } 239 | }, 240 | "is-buffer": { 241 | "version": "1.1.6", 242 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 243 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 244 | }, 245 | "is-decimal": { 246 | "version": "1.0.2", 247 | "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz", 248 | "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==" 249 | }, 250 | "is-hexadecimal": { 251 | "version": "1.0.2", 252 | "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz", 253 | "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==" 254 | }, 255 | "is-lower-case": { 256 | "version": "1.1.3", 257 | "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", 258 | "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=", 259 | "requires": { 260 | "lower-case": "^1.1.0" 261 | } 262 | }, 263 | "is-plain-obj": { 264 | "version": "1.1.0", 265 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 266 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" 267 | }, 268 | "is-stream": { 269 | "version": "1.1.0", 270 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 271 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 272 | }, 273 | "is-upper-case": { 274 | "version": "1.1.2", 275 | "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", 276 | "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=", 277 | "requires": { 278 | "upper-case": "^1.1.0" 279 | } 280 | }, 281 | "is-url": { 282 | "version": "1.2.4", 283 | "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", 284 | "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" 285 | }, 286 | "is-whitespace-character": { 287 | "version": "1.0.2", 288 | "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz", 289 | "integrity": "sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==" 290 | }, 291 | "is-word-character": { 292 | "version": "1.0.2", 293 | "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz", 294 | "integrity": "sha512-T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA==" 295 | }, 296 | "isomorphic-fetch": { 297 | "version": "2.2.1", 298 | "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", 299 | "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", 300 | "requires": { 301 | "node-fetch": "^1.0.1", 302 | "whatwg-fetch": ">=0.10.0" 303 | } 304 | }, 305 | "js-tokens": { 306 | "version": "4.0.0", 307 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 308 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 309 | }, 310 | "json5": { 311 | "version": "0.5.1", 312 | "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 313 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" 314 | }, 315 | "loader-utils": { 316 | "version": "1.1.0", 317 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", 318 | "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", 319 | "requires": { 320 | "big.js": "^3.1.3", 321 | "emojis-list": "^2.0.0", 322 | "json5": "^0.5.0" 323 | } 324 | }, 325 | "lodash.toarray": { 326 | "version": "4.4.0", 327 | "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", 328 | "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" 329 | }, 330 | "loose-envify": { 331 | "version": "1.4.0", 332 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 333 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 334 | "requires": { 335 | "js-tokens": "^3.0.0 || ^4.0.0" 336 | } 337 | }, 338 | "lower-case": { 339 | "version": "1.1.4", 340 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", 341 | "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" 342 | }, 343 | "lower-case-first": { 344 | "version": "1.0.2", 345 | "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", 346 | "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=", 347 | "requires": { 348 | "lower-case": "^1.1.2" 349 | } 350 | }, 351 | "markdown-escapes": { 352 | "version": "1.0.2", 353 | "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz", 354 | "integrity": "sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==" 355 | }, 356 | "mdast-squeeze-paragraphs": { 357 | "version": "3.0.3", 358 | "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-3.0.3.tgz", 359 | "integrity": "sha512-NtUkasADphYiAT2eVmpf8lrvZlU3hbluZZhVrXMqvJqNZNZnJGlOG39JnlyBngo2dlJqNUBZa75gRT90+EY0kQ==", 360 | "requires": { 361 | "unist-util-remove": "^1.0.0" 362 | } 363 | }, 364 | "mdast-util-definitions": { 365 | "version": "1.2.3", 366 | "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.3.tgz", 367 | "integrity": "sha512-P6wpRO8YVQ1iv30maMc93NLh7COvufglBE8/ldcOyYmk5EbfF0YeqlLgtqP/FOBU501Kqar1x5wYWwB3Nga74g==", 368 | "requires": { 369 | "unist-util-visit": "^1.0.0" 370 | } 371 | }, 372 | "mdast-util-to-hast": { 373 | "version": "3.0.2", 374 | "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.2.tgz", 375 | "integrity": "sha512-YI8Ea3TFWEZrS31+6Q/d8ZYTOSDKM06IPc3l2+OMFX1o3JTG2mrztlmzDsUMwIXLWofEdTVl/WXBgRG6ddlU/A==", 376 | "requires": { 377 | "collapse-white-space": "^1.0.0", 378 | "detab": "^2.0.0", 379 | "mdast-util-definitions": "^1.2.0", 380 | "mdurl": "^1.0.1", 381 | "trim": "0.0.1", 382 | "trim-lines": "^1.0.0", 383 | "unist-builder": "^1.0.1", 384 | "unist-util-generated": "^1.1.0", 385 | "unist-util-position": "^3.0.0", 386 | "unist-util-visit": "^1.1.0", 387 | "xtend": "^4.0.1" 388 | } 389 | }, 390 | "mdast-util-to-string": { 391 | "version": "1.0.5", 392 | "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.5.tgz", 393 | "integrity": "sha512-2qLt/DEOo5F6nc2VFScQiHPzQ0XXcabquRJxKMhKte8nt42o08HUxNDPk7tt0YPxnWjAT11I1SYi0X0iPnfI5A==" 394 | }, 395 | "mdurl": { 396 | "version": "1.0.1", 397 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 398 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" 399 | }, 400 | "no-case": { 401 | "version": "2.3.2", 402 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", 403 | "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", 404 | "requires": { 405 | "lower-case": "^1.1.1" 406 | } 407 | }, 408 | "node-emoji": { 409 | "version": "1.8.1", 410 | "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", 411 | "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==", 412 | "requires": { 413 | "lodash.toarray": "^4.4.0" 414 | } 415 | }, 416 | "node-fetch": { 417 | "version": "1.7.3", 418 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", 419 | "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", 420 | "requires": { 421 | "encoding": "^0.1.11", 422 | "is-stream": "^1.0.1" 423 | } 424 | }, 425 | "object-assign": { 426 | "version": "4.1.1", 427 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 428 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 429 | }, 430 | "param-case": { 431 | "version": "2.1.1", 432 | "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", 433 | "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", 434 | "requires": { 435 | "no-case": "^2.2.0" 436 | } 437 | }, 438 | "parse-entities": { 439 | "version": "1.2.0", 440 | "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.0.tgz", 441 | "integrity": "sha512-XXtDdOPLSB0sHecbEapQi6/58U/ODj/KWfIXmmMCJF/eRn8laX6LZbOyioMoETOOJoWRW8/qTSl5VQkUIfKM5g==", 442 | "requires": { 443 | "character-entities": "^1.0.0", 444 | "character-entities-legacy": "^1.0.0", 445 | "character-reference-invalid": "^1.0.0", 446 | "is-alphanumerical": "^1.0.0", 447 | "is-decimal": "^1.0.0", 448 | "is-hexadecimal": "^1.0.0" 449 | } 450 | }, 451 | "pascal-case": { 452 | "version": "2.0.1", 453 | "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", 454 | "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=", 455 | "requires": { 456 | "camel-case": "^3.0.0", 457 | "upper-case-first": "^1.1.0" 458 | } 459 | }, 460 | "path-case": { 461 | "version": "2.1.1", 462 | "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", 463 | "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=", 464 | "requires": { 465 | "no-case": "^2.2.0" 466 | } 467 | }, 468 | "promise": { 469 | "version": "7.3.1", 470 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", 471 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", 472 | "requires": { 473 | "asap": "~2.0.3" 474 | } 475 | }, 476 | "prop-types": { 477 | "version": "15.6.2", 478 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", 479 | "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", 480 | "requires": { 481 | "loose-envify": "^1.3.1", 482 | "object-assign": "^4.1.1" 483 | } 484 | }, 485 | "remark-autolink-headings": { 486 | "version": "5.0.0", 487 | "resolved": "https://registry.npmjs.org/remark-autolink-headings/-/remark-autolink-headings-5.0.0.tgz", 488 | "integrity": "sha1-nAD+2NCrM/upzOg9/2am/djvsx8=", 489 | "requires": { 490 | "unist-util-visit": "^1.0.1" 491 | } 492 | }, 493 | "remark-emoji": { 494 | "version": "2.0.1", 495 | "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.0.1.tgz", 496 | "integrity": "sha512-bcJbn5KObMXDs3U00SZZTOiqygDgP3ls6S5zw4ONFWcwQcOqJNpO0YnCaqted9DJLtgJjBZcuqK4eKuyPDJTQw==", 497 | "requires": { 498 | "node-emoji": "^1.4.1", 499 | "unist-util-visit": "^1.1.0" 500 | } 501 | }, 502 | "remark-images": { 503 | "version": "0.8.1", 504 | "resolved": "https://registry.npmjs.org/remark-images/-/remark-images-0.8.1.tgz", 505 | "integrity": "sha512-1NpiFnIQ7WQIeL+1ofFdrP7NYW+jOShXbjqwertfZMDzFrTrWqY6PmMSWl3imGqPF2AWyMOPkxObe6botEb5Cg==", 506 | "requires": { 507 | "is-url": "^1.2.2", 508 | "unist-util-visit": "^1.3.0" 509 | } 510 | }, 511 | "remark-parse": { 512 | "version": "5.0.0", 513 | "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz", 514 | "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==", 515 | "requires": { 516 | "collapse-white-space": "^1.0.2", 517 | "is-alphabetical": "^1.0.0", 518 | "is-decimal": "^1.0.0", 519 | "is-whitespace-character": "^1.0.0", 520 | "is-word-character": "^1.0.0", 521 | "markdown-escapes": "^1.0.0", 522 | "parse-entities": "^1.1.0", 523 | "repeat-string": "^1.5.4", 524 | "state-toggle": "^1.0.0", 525 | "trim": "0.0.1", 526 | "trim-trailing-lines": "^1.0.0", 527 | "unherit": "^1.0.4", 528 | "unist-util-remove-position": "^1.0.0", 529 | "vfile-location": "^2.0.0", 530 | "xtend": "^4.0.1" 531 | } 532 | }, 533 | "remark-slug": { 534 | "version": "5.1.0", 535 | "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.1.0.tgz", 536 | "integrity": "sha512-FW/V7b3ekfDL1eyPDyzfq0qz5HFPKPNWVC2eqFDie45r774FLGoymOS1oU7LVQfdFNEvNLZ6oBJT/oIxAyBISg==", 537 | "requires": { 538 | "github-slugger": "^1.0.0", 539 | "mdast-util-to-string": "^1.0.0", 540 | "unist-util-visit": "^1.0.0" 541 | } 542 | }, 543 | "remark-squeeze-paragraphs": { 544 | "version": "3.0.2", 545 | "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-3.0.2.tgz", 546 | "integrity": "sha512-XFks+7F6FKmGkJcGyAvJ1GmqtPID9piDtJhrgglIGqg1VRTjpfft6UtGVGCuYnliZt8J72KPG8bwiJkwY6NDOw==", 547 | "requires": { 548 | "mdast-squeeze-paragraphs": "^3.0.0" 549 | } 550 | }, 551 | "remark-unwrap-images": { 552 | "version": "0.0.2-0", 553 | "resolved": "https://registry.npmjs.org/remark-unwrap-images/-/remark-unwrap-images-0.0.2-0.tgz", 554 | "integrity": "sha512-6MSgeb6mFM5Hrc/ZvHz9SDAYF8cl6sU45PTgWye/XDgr+AIUT5CTprJrbJH3LNnZSvmU7j3wOVAJlerWv/sNag==", 555 | "requires": { 556 | "unist-util-visit": "^1.3.0" 557 | } 558 | }, 559 | "repeat-string": { 560 | "version": "1.6.1", 561 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 562 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" 563 | }, 564 | "replace-ext": { 565 | "version": "1.0.0", 566 | "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", 567 | "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" 568 | }, 569 | "safer-buffer": { 570 | "version": "2.1.2", 571 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 572 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 573 | }, 574 | "sentence-case": { 575 | "version": "2.1.1", 576 | "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", 577 | "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=", 578 | "requires": { 579 | "no-case": "^2.2.0", 580 | "upper-case-first": "^1.1.2" 581 | } 582 | }, 583 | "setimmediate": { 584 | "version": "1.0.5", 585 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 586 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" 587 | }, 588 | "snake-case": { 589 | "version": "2.1.0", 590 | "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", 591 | "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=", 592 | "requires": { 593 | "no-case": "^2.2.0" 594 | } 595 | }, 596 | "state-toggle": { 597 | "version": "1.0.1", 598 | "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz", 599 | "integrity": "sha512-Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==" 600 | }, 601 | "swap-case": { 602 | "version": "1.1.2", 603 | "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", 604 | "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", 605 | "requires": { 606 | "lower-case": "^1.1.1", 607 | "upper-case": "^1.1.1" 608 | } 609 | }, 610 | "title-case": { 611 | "version": "2.1.1", 612 | "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", 613 | "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=", 614 | "requires": { 615 | "no-case": "^2.2.0", 616 | "upper-case": "^1.0.3" 617 | } 618 | }, 619 | "to-style": { 620 | "version": "1.3.3", 621 | "resolved": "https://registry.npmjs.org/to-style/-/to-style-1.3.3.tgz", 622 | "integrity": "sha1-Y6K3Cm9KfU/cLtV6C+TnI1y2aZw=" 623 | }, 624 | "trim": { 625 | "version": "0.0.1", 626 | "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", 627 | "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" 628 | }, 629 | "trim-lines": { 630 | "version": "1.1.1", 631 | "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.1.tgz", 632 | "integrity": "sha512-X+eloHbgJGxczUk1WSjIvn7aC9oN3jVE3rQfRVKcgpavi3jxtCn0VVKtjOBj64Yop96UYn/ujJRpTbCdAF1vyg==" 633 | }, 634 | "trim-trailing-lines": { 635 | "version": "1.1.1", 636 | "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz", 637 | "integrity": "sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg==" 638 | }, 639 | "trough": { 640 | "version": "1.0.3", 641 | "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.3.tgz", 642 | "integrity": "sha512-fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw==" 643 | }, 644 | "ua-parser-js": { 645 | "version": "0.7.18", 646 | "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", 647 | "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" 648 | }, 649 | "unherit": { 650 | "version": "1.1.1", 651 | "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz", 652 | "integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==", 653 | "requires": { 654 | "inherits": "^2.0.1", 655 | "xtend": "^4.0.1" 656 | } 657 | }, 658 | "unified": { 659 | "version": "6.2.0", 660 | "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", 661 | "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", 662 | "requires": { 663 | "bail": "^1.0.0", 664 | "extend": "^3.0.0", 665 | "is-plain-obj": "^1.1.0", 666 | "trough": "^1.0.0", 667 | "vfile": "^2.0.0", 668 | "x-is-string": "^0.1.0" 669 | } 670 | }, 671 | "unist-builder": { 672 | "version": "1.0.3", 673 | "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.3.tgz", 674 | "integrity": "sha512-/KB8GEaoeHRyIqClL+Kam+Y5NWJ6yEiPsAfv1M+O1p+aKGgjR89WwoEHKTyOj17L6kAlqtKpAgv2nWvdbQDEig==", 675 | "requires": { 676 | "object-assign": "^4.1.0" 677 | } 678 | }, 679 | "unist-util-generated": { 680 | "version": "1.1.2", 681 | "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.2.tgz", 682 | "integrity": "sha512-1HcwiEO62dr0XWGT+abVK4f0aAm8Ik8N08c5nAYVmuSxfvpA9rCcNyX/le8xXj1pJK5nBrGlZefeWB6bN8Pstw==" 683 | }, 684 | "unist-util-is": { 685 | "version": "2.1.2", 686 | "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz", 687 | "integrity": "sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==" 688 | }, 689 | "unist-util-position": { 690 | "version": "3.0.1", 691 | "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.1.tgz", 692 | "integrity": "sha512-05QfJDPI7PE1BIUtAxeSV+cDx21xP7+tUZgSval5CA7tr0pHBwybF7OnEa1dOFqg6BfYH/qiMUnWwWj+Frhlww==" 693 | }, 694 | "unist-util-remove": { 695 | "version": "1.0.1", 696 | "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-1.0.1.tgz", 697 | "integrity": "sha512-nL+3O0nBB2Oi8ixVzIfJQLtNOMPIFzwoAIKvhDzEL8B15Nq7EY0KBQPYULjNrEmrwYMCkWp5XGTQiAlYZAL/rw==", 698 | "requires": { 699 | "unist-util-is": "^2.0.0" 700 | } 701 | }, 702 | "unist-util-remove-position": { 703 | "version": "1.1.2", 704 | "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz", 705 | "integrity": "sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==", 706 | "requires": { 707 | "unist-util-visit": "^1.1.0" 708 | } 709 | }, 710 | "unist-util-stringify-position": { 711 | "version": "1.1.2", 712 | "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", 713 | "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==" 714 | }, 715 | "unist-util-visit": { 716 | "version": "1.4.0", 717 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.0.tgz", 718 | "integrity": "sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==", 719 | "requires": { 720 | "unist-util-visit-parents": "^2.0.0" 721 | } 722 | }, 723 | "unist-util-visit-parents": { 724 | "version": "2.0.1", 725 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz", 726 | "integrity": "sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==", 727 | "requires": { 728 | "unist-util-is": "^2.1.2" 729 | } 730 | }, 731 | "upper-case": { 732 | "version": "1.1.3", 733 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", 734 | "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" 735 | }, 736 | "upper-case-first": { 737 | "version": "1.1.2", 738 | "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", 739 | "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", 740 | "requires": { 741 | "upper-case": "^1.1.1" 742 | } 743 | }, 744 | "vfile": { 745 | "version": "2.3.0", 746 | "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", 747 | "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==", 748 | "requires": { 749 | "is-buffer": "^1.1.4", 750 | "replace-ext": "1.0.0", 751 | "unist-util-stringify-position": "^1.0.0", 752 | "vfile-message": "^1.0.0" 753 | } 754 | }, 755 | "vfile-location": { 756 | "version": "2.0.3", 757 | "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.3.tgz", 758 | "integrity": "sha512-zM5/l4lfw1CBoPx3Jimxoc5RNDAHHpk6AM6LM0pTIkm5SUSsx8ZekZ0PVdf0WEZ7kjlhSt7ZlqbRL6Cd6dBs6A==" 759 | }, 760 | "vfile-message": { 761 | "version": "1.0.1", 762 | "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.1.tgz", 763 | "integrity": "sha512-vSGCkhNvJzO6VcWC6AlJW4NtYOVtS+RgCaqFIYUjoGIlHnFL+i0LbtYvonDWOMcB97uTPT4PRsyYY7REWC9vug==", 764 | "requires": { 765 | "unist-util-stringify-position": "^1.1.1" 766 | } 767 | }, 768 | "whatwg-fetch": { 769 | "version": "3.0.0", 770 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", 771 | "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" 772 | }, 773 | "x-is-string": { 774 | "version": "0.1.0", 775 | "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", 776 | "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" 777 | }, 778 | "xtend": { 779 | "version": "4.0.1", 780 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 781 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" 782 | } 783 | } 784 | } 785 | -------------------------------------------------------------------------------- /packages/next-mdx-docs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next-mdx-docs", 3 | "description": "Next.js plugin for MDX docs", 4 | "version": "2.0.0-alpha.2", 5 | "license": "MIT", 6 | "author": "John Otander", 7 | "main": "index.js", 8 | "dependencies": { 9 | "@mdx-js/loader": "^0.15.0", 10 | "remark-autolink-headings": "^5.0.0", 11 | "remark-emoji": "^2.0.1", 12 | "remark-images": "^0.8.1", 13 | "remark-slug": "^5.1.0", 14 | "remark-unwrap-images": "0.0.2-0" 15 | }, 16 | "peerDependencies": { 17 | "@mdx-js/mdx": ">=0.15.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /templates/next/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | .next 4 | out 5 | -------------------------------------------------------------------------------- /templates/next/README.md: -------------------------------------------------------------------------------- 1 | 2 | # mdx-docs 3 | 4 | This project was built with [mdx-docs][] and [Next.js][] 5 | 6 | ## Getting Started 7 | 8 | ```sh 9 | npm install 10 | ``` 11 | 12 | ### Run in development mode 13 | 14 | ```sh 15 | npm start 16 | ``` 17 | 18 | ### Export static site 19 | 20 | ```sh 21 | npm run build 22 | ``` 23 | 24 | ## Adding Routes & Navigation 25 | 26 | Each file in the `pages/` directory will create a route for your application. 27 | To edit the navigation in the sidebar, change the `routes` array in the [`pages/_app.js`](pages/_app.js) component. 28 | 29 | For more information on how Next.js works, see the [Next.js Docs][Next.js]. 30 | 31 | ## Customizing 32 | 33 | To customize the look at feel of your application see the docs for mdx-docs: 34 | 35 | - [Theming Docs][docs-theming] 36 | - [Components Docs][docs-components] 37 | 38 | Built with [mdx-docs][] 39 | 40 | [mdx-docs]: https://github.com/jxnblk/mdx-docs 41 | [Next.js]: https://github.com/zeit/next.js/ 42 | [docs-components]: https://github.com/jxnblk/mdx-docs/blob/master/docs/components.md 43 | [docs-theming]: https://github.com/jxnblk/mdx-docs/blob/master/docs/theming.md 44 | -------------------------------------------------------------------------------- /templates/next/next.config.js: -------------------------------------------------------------------------------- 1 | const mdPlugins = [ 2 | require('remark-autolink-headings'), 3 | require('remark-emoji'), 4 | require('remark-images'), 5 | require('remark-slug'), 6 | require('remark-unwrap-images'), 7 | ] 8 | 9 | module.exports = { 10 | pageExtensions: [ 11 | 'js', 'md', 'mdx' 12 | ], 13 | webpack: (config, { defaultLoaders }) => { 14 | config.module.rules.push({ 15 | test: /\.mdx?$/, 16 | use: [ 17 | defaultLoaders.babel, 18 | { 19 | loader: '@mdx-js/loader', 20 | options: { 21 | mdPlugins 22 | } 23 | } 24 | ] 25 | }) 26 | 27 | return config 28 | }, 29 | } 30 | -------------------------------------------------------------------------------- /templates/next/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "version": "1.0.0", 4 | "scripts": { 5 | "start": "next", 6 | "build": "next build && next export" 7 | }, 8 | "dependencies": { 9 | "@mdx-js/mdx": "^0.15.0", 10 | "mdx-docs": "^2.0.0-alpha.0", 11 | "next": "^7.0.1", 12 | "prop-types": "^15.6.2", 13 | "react": "^16.4.1", 14 | "react-dom": "^16.4.1", 15 | "remark-autolink-headings": "^5.1.0", 16 | "remark-emoji": "^2.0.2", 17 | "remark-images": "^0.16.1", 18 | "remark-slug": "^5.1.1", 19 | "remark-unwrap-images": "^0.1.0" 20 | }, 21 | "devDependencies": { 22 | "@mdx-js/loader": "^0.16.6" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /templates/next/pages/_app.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import App, { Container } from 'next/app' 3 | import Link from 'next/link' 4 | import { 5 | Layout, 6 | NavLinks, 7 | Pagination 8 | } from 'mdx-docs' 9 | 10 | const routes = [ 11 | { name: 'Home', path: '/' }, 12 | { name: 'Getting Started', path: '/getting-started' }, 13 | { name: 'Components', path: '/components' }, 14 | { name: 'Button', path: '/components/Button' }, 15 | ] 16 | 17 | const components = { 18 | a: ({ href, ...props }) => 19 | 20 | 21 | 22 | } 23 | 24 | export default class MyApp extends App { 25 | static async getInitialProps ({ Component, router, ctx }) { 26 | let page = {} 27 | 28 | if (Component.getInitialProps) { 29 | page = await Component.getInitialProps(ctx) 30 | } 31 | 32 | return { page } 33 | } 34 | 35 | render () { 36 | const { 37 | Component, 38 | page, 39 | headManager, 40 | ...props 41 | } = this.props 42 | 43 | return ( 44 |Hello 52 |45 | 59 | ) 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /templates/next/pages/_document.js: -------------------------------------------------------------------------------- 1 | import Document, { Head, Main, NextScript } from 'next/document' 2 | 3 | const BaseCSS = ({ css }) => 4 | 9 | 10 | BaseCSS.defaultProps = { 11 | css: '*{box-sizing:border-box}body{margin:0}' 12 | } 13 | 14 | export default class MyDocument extends Document { 15 | render () { 16 | return ( 17 | 18 | 19 | 20 | 21 |49 | 58 |50 | 51 | 53 |52 | 54 | 57 |55 | 56 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /templates/next/pages/components/Button.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Button 4 | 5 | ```.jsx 6 | 7 | ``` 8 | -------------------------------------------------------------------------------- /templates/next/pages/components/index.md: -------------------------------------------------------------------------------- 1 | 2 | # Components 3 | -------------------------------------------------------------------------------- /templates/next/pages/getting-started.md: -------------------------------------------------------------------------------- 1 | 2 | # Getting Started 3 | 4 | ```sh 5 | npm init docs 6 | ``` 7 | -------------------------------------------------------------------------------- /templates/next/pages/index.md: -------------------------------------------------------------------------------- 1 | 2 | # npm init docs 3 | 4 | This site was generated with [MDX Docs][]: Next.js-based documentation site. 5 | 6 | [mdx docs]: https://github.com/jxnblk/mdx-docs 7 | 8 | ```sh 9 | npm init docs 10 | ``` 11 | 12 | ```.jsx 13 | LiveEditor
14 | ``` 15 | 16 | 17 | --------------------------------------------------------------------------------