Mirror: The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.

Update global styles, theme, prism, Document, etc

add global styles, theme, prism styling, and add html Document to static.config

Add WIP source-markdown plugin for react-static

Add frontmatter and headings data

Update yarn.lock

Add image support by moving parsing to loader

Add transform fix for markdown links

WIP: begin adding sidebar back with new markdown data structure

add other sections to sidebar and refactor

Add opts.pathPrefix support to source-markdown

WIP: change data structure of pages, add sharedData

Refactor node.api.js to remove non-reloadable state

WIP: change structure to be sorted by section instead of by page in react

Add id props to heading elements in source-markdown loader

Clean up packages/site by removing static-* helpers

Remove empty paragraphs from source-markdown output

WIP: make sidebar work with sections instead of pages

Remove old styling in pages/site

Add new structure for MDXComponents

Replace HAST conversion with MDX's implementation

Implement code highlighting component with prism-react-renderer

Fix h1 override from frontmatter in source-markdown

move parse markdown page logic to separate file, add order and title to md files, move grouping logic from hook into plugin

Add initial recursive grouping logic

Add normalisation for page.path

Add improved default sorting

fixes sidebar again

Fix URL remapping in source-markdown/loader

Implement relative routing for site sidebar

Limit collected headings to depth <= 3

Move parseMarkdown to markdown

Move all browser utils to source-markdown/index.js

Add template override option to frontmatter

Add support for order overrides in plugin config

Move plugin to react-static-plugin-md-pages package

See: https://github.com/kitten/react-static-plugin-md-pages

Fix linting issues

+5
docs/README.md
···
# Documentation
`urql` is a highly customizable and flexible GraphQL client, that
···
+
---
+
title: README
+
order: 1
+
---
+
# Documentation
`urql` is a highly customizable and flexible GraphQL client, that
+8
docs/core/index.md
···
···
+
---
+
title: Core
+
order: 0
+
---
+
+
# Test Core Index Page
+
+
testing
+5
docs/graphcache/Populate.md
···
# Populate Exchange
`populate` is an exchange for auto-populating fields in your mutations.
···
+
---
+
title: populate
+
order: 4
+
---
+
# Populate Exchange
`populate` is an exchange for auto-populating fields in your mutations.
+5
docs/graphcache/architecture.md
···
# Architecture
This cache implementation builds on the concept of normalisation,
···
+
---
+
title: architecture
+
order: 1
+
---
+
# Architecture
This cache implementation builds on the concept of normalisation,
+5
docs/graphcache/help.md
···
# Help!
**This document lists out all errors and warnings in `@urql/exchange-graphcache`.**
···
+
---
+
title: help
+
order: 2
+
---
+
# Help!
**This document lists out all errors and warnings in `@urql/exchange-graphcache`.**
+5
docs/graphcache/keys.md
···
# Keys
When resolving entities the graph cache will try to look at the entity
···
+
---
+
title: keys
+
order: 3
+
---
+
# Keys
When resolving entities the graph cache will try to look at the entity
+5
docs/graphcache/optimistic.md
···
# Optimistic
Let's say we want to work offline or we don't want to wait for
···
+
---
+
title: Optimistic
+
order: 3
+
---
+
# Optimistic
Let's say we want to work offline or we don't want to wait for
+5
docs/graphcache/resolvers.md
···
# Resolvers
`resolvers` are a way to alter the response you'll receive from the cache.
···
+
---
+
title: resolvers
+
order: 5
+
---
+
# Resolvers
`resolvers` are a way to alter the response you'll receive from the cache.
+5
docs/graphcache/schema.md
···
# Schema
As mentioned in the docs we allow for the schema to be passed
···
+
---
+
title: schema
+
order: 6
+
---
+
# Schema
As mentioned in the docs we allow for the schema to be passed
+5
docs/graphcache/updates.md
···
# Updates
When the cache receives a response it will try and do its best to
···
+
---
+
title: UPDATES
+
order: 7
+
---
+
# Updates
When the cache receives a response it will try and do its best to
+8 -20
packages/site/package.json
···
},
"dependencies": {
"@juggle/resize-observer": "^3.0.2",
"formidable-oss-badges": "0.2.1",
"history": "^4.7.2",
-
"klaw": "^2.1.1",
-
"prismjs": "^1.15.0",
"prop-types": "^15.6.2",
"react": "^16.9.0",
"react-document-meta": "^2.0.3",
"react-dom": "^16.12.0",
"react-ga": "^2.4.1",
"react-router": "^5.0.1",
"react-router-dom": "^5.0.1",
"react-router-ga": "^1.0.0",
"react-scroll": "^1.7.15",
"react-static": "^7.2.3",
"styled-components": "^5.0.1"
},
"devDependencies": {
"@babel/core": "^7.2.0",
"config": "^3.0.0",
-
"gatsby-remark-prismjs": "^3.2.2",
-
"github-slugger": "^1.2.1",
-
"js-yaml": "^3.12.0",
"lodash": "^4.17.11",
-
"raw-loader": "^1.0.0",
"react-static-plugin-react-router": "^7.2.3",
"react-static-plugin-sitemap": "^7.0.0",
-
"react-static-plugin-styled-components": "^7.2.2",
-
"remark": "^10.0.1",
-
"remark-frontmatter": "^1.3.0",
-
"remark-html": "^8.0.0",
-
"remark-kbd": "^1.0.16",
-
"remark-slug": "^5.1.1",
-
"remark-toc": "^5.1.0",
-
"unist-util-select": "^1.5.0",
-
"unist-util-visit": "^1.4.0",
-
"url-loader": "^1.1.2",
-
"webpack": "^4.41.6"
-
},
-
"resolutions": {
-
"react-hot-loader/source-map": "^0.8.0-beta.0"
}
}
···
},
"dependencies": {
"@juggle/resize-observer": "^3.0.2",
+
"@mdx-js/react": "^1.5.5",
"formidable-oss-badges": "0.2.1",
"history": "^4.7.2",
+
"path": "^0.12.7",
+
"prism-react-renderer": "^1.0.2",
"prop-types": "^15.6.2",
"react": "^16.9.0",
"react-document-meta": "^2.0.3",
"react-dom": "^16.12.0",
"react-ga": "^2.4.1",
+
"react-inlinesvg": "^1.2.0",
"react-router": "^5.0.1",
"react-router-dom": "^5.0.1",
"react-router-ga": "^1.0.0",
"react-scroll": "^1.7.15",
"react-static": "^7.2.3",
+
"react-static-plugin-md-pages": "^0.1.0",
"styled-components": "^5.0.1"
},
"devDependencies": {
"@babel/core": "^7.2.0",
+
"@mdx-js/mdx": "^1.5.5",
"config": "^3.0.0",
"lodash": "^4.17.11",
+
"react-static-plugin-mdx": "^7.2.2",
"react-static-plugin-react-router": "^7.2.3",
"react-static-plugin-sitemap": "^7.0.0",
+
"react-static-plugin-styled-components": "^7.2.2"
}
}
-42
packages/site/src/app.css
···
-
html {
-
font-size: 10px;
-
box-sizing: border-box;
-
}
-
-
* {
-
box-sizing: inherit;
-
}
-
-
body {
-
background: #ffffff;
-
color: #3b3b3b;
-
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-
font-size: 1.3rem;
-
letter-spacing: -0.03em;
-
margin: 0;
-
padding: 0;
-
}
-
-
p {
-
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-
letter-spacing: -0.03em;
-
}
-
-
h1, h2, h3, h4, h5, h6 {
-
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-
letter-spacing: 0;
-
font-weight: 500;
-
}
-
-
h1 {
-
font-size: 5rem;
-
}
-
-
a {
-
text-decoration: none;
-
}
-
-
img {
-
max-width: 100%;
-
}
-
···
+25 -23
packages/site/src/app.js
···
import { animateScroll as scroll } from 'react-scroll';
import { ResizeObserver as _ResizeObserver } from '@juggle/resize-observer';
import get from 'lodash/get';
-
import { GlobalStyle } from './global-style';
import Analytics from './google-analytics';
import NotFound from './screens/404';
-
-
import 'prismjs/themes/prism.css';
-
import './app.css';
const HEADER_PIXEL_HEIGHT = 60;
const SCROLL_PIXEL_OFFSET = 25;
···
<Root>
{/* TODO: create a better fallback component */}
<React.Suspense fallback={<h1>Loading</h1>}>
-
<GlobalStyle />
-
<Analytics id="UA-43290258-1">
-
<Routes
-
render={({ routePath, getComponentForPath }) => (
-
<Route path="*">
-
{props => {
-
const Comp = getComponentForPath(routePath) || <NotFound />;
-
// Add react-router route props like location and history
-
const CompWithRouteProps = React.cloneElement(Comp, props);
-
return (
-
<ScrollToCurrentSection {...props}>
-
{CompWithRouteProps}
-
</ScrollToCurrentSection>
-
);
-
}}
-
</Route>
-
)}
-
/>
-
</Analytics>
</React.Suspense>
</Root>
);
···
import { animateScroll as scroll } from 'react-scroll';
import { ResizeObserver as _ResizeObserver } from '@juggle/resize-observer';
import get from 'lodash/get';
+
import { ThemeProvider } from 'styled-components';
+
import constants from './constants';
+
import { GlobalStyle } from './styles/global';
+
import theme from './styles/theme';
import Analytics from './google-analytics';
import NotFound from './screens/404';
const HEADER_PIXEL_HEIGHT = 60;
const SCROLL_PIXEL_OFFSET = 25;
···
<Root>
{/* TODO: create a better fallback component */}
<React.Suspense fallback={<h1>Loading</h1>}>
+
<ThemeProvider theme={theme}>
+
<GlobalStyle />
+
<Analytics id={constants.googleAnalyticsId}>
+
<Routes
+
render={({ routePath, getComponentForPath }) => (
+
<Route path="*">
+
{props => {
+
const Comp = getComponentForPath(routePath) || <NotFound />;
+
// Add react-router route props like location and history
+
const CompWithRouteProps = React.cloneElement(Comp, props);
+
return (
+
<ScrollToCurrentSection {...props}>
+
{CompWithRouteProps}
+
</ScrollToCurrentSection>
+
);
+
}}
+
</Route>
+
)}
+
/>
+
</Analytics>
+
</ThemeProvider>
</React.Suspense>
</Root>
);
+5
packages/site/src/assets/logos/logo-formidable-icon.svg
···
···
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 24">
+
<g fill="currentColor" fill-rule="nonzero">
+
<path d="M16.03.609h.145c-.006.122.08.189.212.189.135 0 .199-.051.199-.128 0-.087-.081-.114-.261-.162-.185-.05-.27-.118-.27-.244 0-.135.126-.244.318-.244.201 0 .334.108.334.267h-.141c-.001-.101-.078-.158-.193-.158-.106 0-.178.049-.178.121 0 .079.054.108.172.14.221.061.362.094.362.267 0 .152-.14.249-.343.249-.218 0-.357-.12-.357-.297zM16.935.032h.214l.212.567a.779.779 0 0 1 .052.172h.005S17.42.727 17.47.6l.216-.567h.207v.862h-.132l.002-.744h-.005s-.008.056-.053.17l-.219.574h-.147L17.125.32a1.07 1.07 0 0 1-.054-.17h-.004v.744h-.132V.032zM15.802 8.39l2.147-3.808a.393.393 0 0 0 0-.386l-2.255-4c0-.002-.003-.003-.003-.006a.326.326 0 0 0-.029-.042l-.028-.033V.114a.354.354 0 0 0-.034-.03l-.01-.008a.345.345 0 0 0-.123-.061l-.011-.003a.418.418 0 0 0-.035-.007l-.012-.002A.412.412 0 0 0 15.363 0H2.637c-.015 0-.031 0-.046.003L2.58.005a.418.418 0 0 0-.035.007l-.01.003a.406.406 0 0 0-.085.035L2.44.056l-.029.02-.01.007a.279.279 0 0 0-.033.03l-.001.001a.373.373 0 0 0-.03.034l-.007.01a.326.326 0 0 0-.02.032l-.004.006-2.255 4a.393.393 0 0 0 0 .386l2.204 3.911v12.83c0 .015 0 .031.003.046l.002.012a.436.436 0 0 0 .007.036l.002.01a.42.42 0 0 0 .035.087l.005.008a.351.351 0 0 0 .058.074v.001l.034.03.01.007a.32.32 0 0 0 .03.021c.003 0 .004.003.007.004l3.939 2.29a.383.383 0 0 0 .38 0l3.94-2.29.006-.004a.32.32 0 0 0 .03-.02l.01-.009.033-.028.002-.001c.01-.01.02-.023.029-.034l.007-.01.02-.03.005-.01a.377.377 0 0 0 .035-.085l.003-.011a.436.436 0 0 0 .007-.036l.001-.012c.002-.016.004-.031.004-.047V16.78h4.465c.015 0 .031 0 .046-.003.004 0 .007 0 .012-.002a.418.418 0 0 0 .035-.007l.01-.002a.406.406 0 0 0 .167-.1h.001a.337.337 0 0 0 .056-.075l.004-.007 2.254-4a.393.393 0 0 0 0-.387L15.802 8.39zm-2.917 3.612H6.596a.378.378 0 0 0-.263.089l-.008.007-.018.017h-.001a.391.391 0 0 0-.113.276v6.415l-3.174 1.846V8.779H14.7l-1.816 3.223zm-2.753 8.65l-3.174-1.845v-5.48l3.174 3.225v4.1zm2.753-16.65H5.114L3.297.776h11.406l-1.818 3.224zm-7.771.776h7.771l1.817 3.225H3.297l1.817-3.225zm10.248 2.83L13.548 4.39l1.814-3.22 1.814 3.22-1.814 3.219zM2.637 1.172L4.451 4.39 2.637 7.609.823 4.389l1.814-3.218zm3.94 21.994l-3.17-1.843 3.17-1.843 3.168 1.843-3.169 1.843zm4.096-7.16L7.5 12.78h5.384l1.818 3.224h-4.029zm4.689-.394l-1.814-3.22 1.814-3.219 1.814 3.22-1.814 3.219z"/>
+
</g>
+
</svg>
+47
packages/site/src/assets/logos/logo-formidable.svg
···
···
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+
viewBox="0 0 134.4 32" style="width: auto;height: 100%;enable-background:new 0 0 134.4 32;" xml:space="preserve">
+
<g>
+
<g>
+
<g>
+
<path d="M0.9,7.5C0.9,7.2,1,7,1.4,7h11.5c0.4,0,0.5,0.2,0.5,0.5v1.7c0,0.3-0.1,0.4-0.4,0.4H3.7v5.2h7.4c0.4,0,0.5,0.2,0.5,0.5
+
v1.5c0,0.4-0.2,0.5-0.5,0.5H3.7V25c0,0.4-0.2,0.5-0.5,0.5H1.4C1,25.6,0.9,25.4,0.9,25V7.5L0.9,7.5z"/>
+
<path d="M13.3,19.3c0-4,2.7-6.5,6.5-6.5s6.5,2.5,6.5,6.5c0,4.3-3,6.5-6.5,6.5S13.3,23.6,13.3,19.3z M23.4,19.4
+
c0-2.7-1.6-4.2-3.7-4.2S16,16.7,16,19.4c0,2.4,1.4,4.1,3.7,4.1S23.4,21.8,23.4,19.4z"/>
+
<path d="M28.5,13.6c0-0.4,0.2-0.5,0.5-0.5h1.6c0.4,0,0.5,0.2,0.5,0.5v1.1c0.9-1.1,2.2-1.9,4-1.9c2.4,0,3.9,1.5,3.9,3.7
+
c0,0.4-0.2,0.5-0.5,0.5h-1.6c-0.3,0-0.4-0.1-0.4-0.4c-0.1-0.9-0.7-1.5-1.8-1.5s-2,0.7-2.5,1.5c-0.6,0.8-0.9,1.8-0.9,3.4v5
+
c0,0.4-0.2,0.5-0.5,0.5h-1.6c-0.4,0-0.5-0.2-0.5-0.5L28.5,13.6L28.5,13.6z"/>
+
<path d="M40.9,13.6c0-0.4,0.2-0.5,0.5-0.5H43c0.4,0,0.5,0.2,0.5,0.5v1.1c0.8-1.2,1.9-1.9,3.7-1.9c1.6,0,2.7,0.6,3.2,1.8
+
c0.8-1,2.1-1.8,4-1.8c2.2,0,3.7,1.2,3.7,3.7V25c0,0.4-0.2,0.5-0.5,0.5H56c-0.4,0-0.5-0.2-0.5-0.5v-8.1c0-1.1-0.5-1.7-1.6-1.7
+
c-0.8,0-1.5,0.4-2.2,1.1c-0.7,0.8-1,1.5-1,2.9V25c0,0.4-0.2,0.5-0.5,0.5h-1.6c-0.4,0-0.5-0.2-0.5-0.5v-8.2c0-1.1-0.5-1.7-1.6-1.7
+
c-0.7,0-1.5,0.4-2.1,1.1c-0.6,0.7-0.8,1.2-0.8,2.6V25c0,0.4-0.2,0.5-0.5,0.5h-1.6c-0.4,0-0.5-0.2-0.5-0.5L40.9,13.6L40.9,13.6z"
+
/>
+
<path d="M62.5,7.5c1,0,1.8,0.8,1.8,1.8s-0.8,1.8-1.8,1.8s-1.8-0.8-1.8-1.8C60.6,8.3,61.4,7.5,62.5,7.5z M61.1,13.6
+
c0-0.4,0.2-0.5,0.5-0.5h1.6c0.4,0,0.5,0.2,0.5,0.5V25c0,0.4-0.2,0.5-0.5,0.5h-1.6c-0.4,0-0.5-0.2-0.5-0.5V13.6z"/>
+
<path d="M76.2,24.5c-1,0.9-1.9,1.4-3.8,1.4c-3.1,0-5.8-2.2-5.8-6.5c0-4.1,2.8-6.5,6.1-6.5c1.6,0,2.8,0.5,3.5,1.3V7
+
c0-0.4,0.2-0.5,0.5-0.5h1.6c0.4,0,0.6,0.1,0.6,0.5v18c0,0.4-0.2,0.5-0.5,0.5h-1.3c-0.4,0-0.6-0.1-0.7-0.5L76.2,24.5z M76.2,18.3
+
c0-0.8-0.2-1.4-0.7-2c-0.6-0.7-1.5-1.2-2.5-1.2c-2,0-3.5,1.6-3.5,4.2c0,2.4,1.4,4.1,3.5,4.1c1.2,0,2.1-0.5,2.7-1.2
+
c0.5-0.6,0.6-1.2,0.6-2.1L76.2,18.3L76.2,18.3z"/>
+
<path d="M91.5,24.3c-1,1-2,1.5-4,1.5c-3.4,0-6.2-2.2-6.2-6.5c0-4.1,2.9-6.5,6.4-6.5c1.9,0,3.1,0.7,3.8,1.5v-0.7
+
c0-0.4,0.2-0.5,0.5-0.5h1.6c0.4,0,0.5,0.2,0.5,0.5V25c0,0.4-0.2,0.5-0.5,0.5h-1.3c-0.3,0-0.6-0.1-0.7-0.5L91.5,24.3z M91.5,18.2
+
c0-0.8-0.2-1.3-0.8-1.9c-0.6-0.6-1.5-1.1-2.7-1.1c-2.2,0-3.9,1.6-3.9,4.2c0,2.5,1.6,4.1,3.8,4.1c1.4,0,2.4-0.7,2.9-1.4
+
c0.5-0.6,0.6-1.1,0.6-2L91.5,18.2L91.5,18.2z"/>
+
<path d="M97.2,7c0-0.4,0.2-0.5,0.5-0.5h1.6c0.4,0,0.5,0.2,0.5,0.5v8c1-1.2,2.5-2.1,4.4-2.1c3.6,0,5.5,2.4,5.5,6.4
+
c0,3.7-2.3,6.6-6.2,6.6c-1.5,0-2.7-0.4-3.7-1.1V25c0,0.4-0.2,0.5-0.5,0.5h-1.6c-0.4,0-0.5-0.2-0.5-0.5C97.2,25,97.2,7,97.2,7z
+
M99.9,21.4c0,0.6,0.3,1,0.7,1.2c0.8,0.6,1.8,0.9,2.7,0.9c2.4,0,3.7-1.8,3.7-4.2c0-2.8-1.4-4.1-3.2-4.1c-1.7,0-2.8,1.2-3.3,2.1
+
c-0.3,0.6-0.5,1-0.5,2L99.9,21.4L99.9,21.4z"/>
+
<path d="M112.1,7c0-0.4,0.2-0.5,0.5-0.5h1.6c0.4,0,0.5,0.2,0.5,0.5v15.2c0,1,0.4,1.3,1,1.3s0.8-0.3,1.1-0.3
+
c0.2,0,0.3,0.1,0.3,0.3v1.6c0,0.2-0.1,0.3-0.3,0.4c-0.4,0.2-1.2,0.3-1.8,0.3c-1.5,0-3-0.8-3-3L112.1,7L112.1,7z"/>
+
<path d="M130.3,22.9c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1-0.1,0.2-0.2,0.3c-1.7,1.7-3,2.3-5.4,2.3c-3.3,0-6.5-2.3-6.5-6.5
+
c0-4,2.9-6.5,6.4-6.5c4.2,0,6.2,3.3,6.2,6.3v0.5c0,0.4-0.2,0.5-0.5,0.5h-9.3c0.3,2,1.8,3.3,3.9,3.3c1.8,0,2.7-0.7,3.5-1.6
+
c0.1-0.2,0.2-0.2,0.4-0.2c0.1,0,0.2,0.1,0.3,0.2L130.3,22.9z M128.2,18c-0.5-1.9-1.9-2.8-3.4-2.8c-1.7,0-3.3,1-3.7,2.8H128.2z"/>
+
</g>
+
<g>
+
<path d="M130.9,13.7h0.2c0,0.2,0.1,0.3,0.3,0.3s0.3-0.1,0.3-0.2c0-0.1-0.1-0.2-0.4-0.2c-0.3-0.1-0.4-0.2-0.4-0.4s0.2-0.4,0.5-0.4
+
s0.5,0.2,0.5,0.4h-0.2c0-0.2-0.1-0.2-0.3-0.2s-0.3,0.1-0.3,0.2c0,0.1,0.1,0.2,0.2,0.2c0.3,0.1,0.5,0.1,0.5,0.4
+
c0,0.2-0.2,0.4-0.5,0.4C131.1,14.2,130.9,14,130.9,13.7z"/>
+
<path d="M132.2,12.8h0.3l0.3,0.9c0.1,0.2,0.1,0.3,0.1,0.3l0,0c0,0,0-0.1,0.1-0.3l0.3-0.9h0.3v1.3h-0.2V13l0,0c0,0,0,0.1-0.1,0.3
+
l-0.3,0.9h-0.2l-0.3-0.9c-0.1-0.2-0.1-0.3-0.1-0.3l0,0v1.1h-0.2V12.8L132.2,12.8z"/>
+
</g>
+
</g>
+
</g>
+
</svg>
+23 -32
packages/site/src/components/markdown.js
···
export const Markdown = styled.article`
width: 60vw;
@media (max-width: 768px) {
width: 75vw;
}
-
& h1 {
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 3.4rem;
margin: 0 0 2rem;
···
}
}
-
& h2 {
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 2.8rem;
margin: 6rem 0 2rem;
@media (min-width: 1024px) {
···
}
}
-
& h3 {
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 1.8rem;
margin: 2rem 0;
@media (min-width: 1024px) {
···
}
}
-
& table {
border-collapse: collapse;
}
-
& td {
height: 50px;
text-align: left;
}
-
& td,
th {
padding: 15px;
}
-
& th {
text-align: center;
}
-
& table,
th,
td {
font-size: 1.7rem;
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
tr:nth-child(even) {
background-color: #f2f2f2;
}
-
border: 1px solid lightgrey;
}
-
& pre {
-
line-height: 2rem;
background-color: #efefef;
padding: 2rem;
color: #333;
}
-
& pre code {
color: #333;
}
-
& p {
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 1.7rem;
-
line-height: 1.6;
}
-
& p code {
border: 1px solid lightgrey;
opacity: 0.8;
padding: 0.5rem;
···
margin: 0 0.5rem 0 0.5rem;
}
-
& div.gatsby-highlight {
-
@media (max-width: 768px) {
-
margin-left: 0;
-
}
-
}
-
-
& blockquote {
margin: 0 0.2rem;
padding: 0 1.8rem;
border-left: 3px solid #255db0;
}
-
& li {
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 1.7rem;
-
line-height: 1.6;
padding: 0.5rem;
@media (max-width: 768px) {
margin-left: -2rem;
}
}
-
& li code {
border: 1px solid lightgrey;
opacity: 0.8;
padding: 0.5rem;
···
margin: 0 0.5rem 0 0.5rem;
}
-
& a {
color: #895160;
&:target {
···
export const Markdown = styled.article`
width: 60vw;
+
@media (max-width: 768px) {
width: 75vw;
}
+
+
h1 {
font-size: 3.4rem;
margin: 0 0 2rem;
···
}
}
+
h2 {
font-size: 2.8rem;
margin: 6rem 0 2rem;
@media (min-width: 1024px) {
···
}
}
+
h3 {
font-size: 1.8rem;
margin: 2rem 0;
@media (min-width: 1024px) {
···
}
}
+
table {
border-collapse: collapse;
}
+
td {
height: 50px;
text-align: left;
}
+
td,
th {
padding: 15px;
}
+
th {
text-align: center;
}
+
table,
th,
td {
font-size: 1.7rem;
+
border: 1px solid lightgrey;
+
tr:nth-child(even) {
background-color: #f2f2f2;
}
}
+
pre {
background-color: #efefef;
padding: 2rem;
color: #333;
}
+
pre > code {
color: #333;
}
+
p {
font-size: 1.7rem;
+
line-height: 1.3;
}
+
p code {
border: 1px solid lightgrey;
opacity: 0.8;
padding: 0.5rem;
···
margin: 0 0.5rem 0 0.5rem;
}
+
blockquote {
margin: 0 0.2rem;
padding: 0 1.8rem;
border-left: 3px solid #255db0;
}
+
li {
font-size: 1.7rem;
+
line-height: 1.3;
padding: 0.5rem;
+
@media (max-width: 768px) {
margin-left: -2rem;
}
}
+
li code {
border: 1px solid lightgrey;
opacity: 0.8;
padding: 0.5rem;
···
margin: 0 0.5rem 0 0.5rem;
}
+
a {
color: #895160;
&:target {
+82
packages/site/src/components/mdx.js
···
···
+
import React from 'react';
+
import styled from 'styled-components';
+
import { MDXProvider } from '@mdx-js/react';
+
+
import Highlight, { Prism } from 'prism-react-renderer';
+
import nightOwlLight from 'prism-react-renderer/themes/nightOwlLight';
+
+
const getLanguage = className => {
+
const res = className.match(/language-(\w+)/);
+
return res ? res[1] : null;
+
};
+
+
const Pre = styled.pre`
+
position: relative;
+
max-width: 100%;
+
background: #f0f0f2;
+
color: #36313d;
+
font-size: 0.9em;
+
line-height: 1.2;
+
padding: 1rem;
+
`;
+
+
const Code = styled.code`
+
display: block;
+
font-family: monospace;
+
+
-webkit-overflow-scrolling: touch;
+
overflow-x: auto;
+
overflow-wrap: unset;
+
font-variant-ligatures: none;
+
font-feature-settings: normal;
+
white-space: pre;
+
`;
+
+
const InlineCode = styled.code`
+
display: inline-block;
+
background: #f0f0f2;
+
color: #36313d;
+
border-radius: 3px
+
font-family: monospace;
+
font-size: inherit;
+
font-variant-ligatures: none;
+
font-feature-settings: normal;
+
padding: 0 0.2em;
+
margin: 0;
+
`;
+
+
const HighlightCode = ({ className = '', children }) => {
+
const language = getLanguage(className);
+
+
return (
+
<Highlight
+
Prism={Prism}
+
theme={nightOwlLight}
+
code={children.trim()}
+
language={language}
+
>
+
{({ className, style, tokens, getLineProps, getTokenProps }) => (
+
<Pre className={className} style={style}>
+
<Code>
+
{tokens.map((line, i) => (
+
<div {...getLineProps({ line, key: i })}>
+
{line.map((token, key) => (
+
<span {...getTokenProps({ token, key })} />
+
))}
+
</div>
+
))}
+
</Code>
+
</Pre>
+
)}
+
</Highlight>
+
);
+
};
+
+
const components = {
+
inlineCode: InlineCode,
+
code: HighlightCode,
+
};
+
+
export const MDXComponents = ({ children }) => (
+
<MDXProvider components={components}>{children}</MDXProvider>
+
);
+62 -75
packages/site/src/components/sidebar.js
···
-
import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
import styled from 'styled-components';
import { Link } from 'react-router-dom';
import {
SidebarNavItem,
···
margin: 1rem 0;
`;
-
class Sidebar extends React.Component {
-
renderSidebarItem(item) {
-
const { tocArray = [] } = this.props;
-
const currentPath = `/docs${item.path}` === this.props.location.pathname;
-
// eslint-disable-next-line no-magic-numbers
-
const subContent = tocArray.filter(toc => toc.level === 2);
-
const key = item.title.split(' ').join('_');
-
const className = currentPath ? 'is-current' : '';
-
return (
-
<Fragment key={`${key}-group`}>
-
<SidebarNavItem
-
to={`/docs${item.path}`}
-
replace
-
key={`${key}-${className}`}
-
className={className}
-
>
-
{item.title}
-
</SidebarNavItem>
-
{currentPath && !!subContent.length && (
-
<SubContentWrapper key={key}>
-
{subContent.map((sh, i) => (
<SidebarNavSubItem
-
to={`#${sh.content
-
.split(' ')
-
.join('-')
-
.toLowerCase()}`}
-
key={sh.content.split(' ').join('_')}
>
-
{sh.content}
</SidebarNavSubItem>
))}
-
</SubContentWrapper>
-
)}
-
</Fragment>
-
);
-
}
-
render() {
-
const { sidebarHeaders, overlay, closeSidebar } = this.props;
-
return (
-
<SidebarContainer>
-
<SideBarSvg />
-
<SidebarWrapper overlay={overlay}>
-
<CloseButton
-
src={closeButton}
-
alt="X"
-
overlay={overlay}
-
onClick={() => closeSidebar()}
-
/>
-
<Link to={'/'}>
-
<HeroLogo
-
src={logoSidebar}
-
alt="Formidable Logo"
-
overlay={overlay}
-
/>
-
</Link>
-
<ContentWrapper overlay={overlay}>
-
<SidebarNavItem as="a" href={constants.readme} key={'readme'}>
-
Readme
-
</SidebarNavItem>
-
{sidebarHeaders &&
-
sidebarHeaders.map(sh => this.renderSidebarItem(sh))}
-
-
<HorizontalLine />
-
<SidebarNavItem as="a" href={constants.githubIssues} key={'issues'}>
-
Issues
-
</SidebarNavItem>
-
<SidebarNavItem as="a" href={constants.github} key={'github'}>
-
Github
-
</SidebarNavItem>
-
</ContentWrapper>
-
</SidebarWrapper>
-
</SidebarContainer>
-
);
-
}
-
}
Sidebar.propTypes = {
closeSidebar: PropTypes.func,
-
location: PropTypes.object,
overlay: PropTypes.bool,
-
sidebarHeaders: PropTypes.array,
-
tocArray: PropTypes.array,
};
export default Sidebar;
···
+
import React, { Fragment, useMemo } from 'react';
import PropTypes from 'prop-types';
import styled from 'styled-components';
import { Link } from 'react-router-dom';
+
import * as path from 'path';
+
+
import { useMarkdownTree, useMarkdownPage } from 'react-static-plugin-md-pages';
import {
SidebarNavItem,
···
margin: 1rem 0;
`;
+
const relative = (from, to) => {
+
if (!from || !to) return null;
+
const pathname = path.relative(path.dirname(from), to);
+
return { pathname };
+
};
+
+
const Sidebar = ({ overlay, closeSidebar }) => {
+
const currentPage = useMarkdownPage();
+
const tree = useMarkdownTree();
+
+
const sidebarItems = useMemo(() => {
+
if (!currentPage || !tree || !tree.children) {
+
return null;
+
}
+
+
return tree.children.map(page => {
+
return (
+
<Fragment key={page.key}>
+
<SidebarNavItem to={relative(currentPage.path, page.path)}>
+
{page.frontmatter.title}
+
</SidebarNavItem>
+
+
{page.children &&
+
page.children.map(childPage => (
<SidebarNavSubItem
+
to={relative(currentPage.path, childPage.path)}
+
key={childPage.key}
>
+
{childPage.frontmatter.title}
</SidebarNavSubItem>
))}
+
</Fragment>
+
);
+
});
+
}, [tree, currentPage]);
+
return (
+
<SidebarContainer>
+
<SideBarSvg />
+
<SidebarWrapper overlay={overlay}>
+
<CloseButton
+
src={closeButton}
+
alt="X"
+
overlay={overlay}
+
onClick={() => closeSidebar()}
+
/>
+
<Link to={'/'}>
+
<HeroLogo src={logoSidebar} alt="Formidable Logo" overlay={overlay} />
+
</Link>
+
<ContentWrapper overlay={overlay}>
+
{sidebarItems}
+
<HorizontalLine />
+
<SidebarNavItem as="a" href={constants.githubIssues} key={'issues'}>
+
Issues
+
</SidebarNavItem>
+
<SidebarNavItem as="a" href={constants.github} key={'github'}>
+
Github
+
</SidebarNavItem>
+
</ContentWrapper>
+
</SidebarWrapper>
+
</SidebarContainer>
+
);
+
};
Sidebar.propTypes = {
closeSidebar: PropTypes.func,
overlay: PropTypes.bool,
};
export default Sidebar;
+1
packages/site/src/constants.js
···
github: 'https://www.github.com/FormidableLabs/urql',
readme: 'https://github.com/FormidableLabs/urql/blob/master/README.md',
color: '#8196FF',
};
export default constants;
···
github: 'https://www.github.com/FormidableLabs/urql',
readme: 'https://github.com/FormidableLabs/urql/blob/master/README.md',
color: '#8196FF',
+
googleAnalyticsId: 'UA-43290258-1',
};
export default constants;
-4
packages/site/src/global-style.js
···
-
import { createGlobalStyle } from 'styled-components';
-
-
export const GlobalStyle = createGlobalStyle`
-
`;
···
+16
packages/site/src/html.js
···
···
+
import React from 'react';
+
+
// eslint-disable-next-line react/prop-types
+
const HTML = ({ Html, Head, Body, children }) => (
+
<Html lang="en">
+
<Head>
+
<meta charSet="utf-8" />
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
+
<link rel="shortcut icon" href="../static/logos/favicon.ico" />
+
</Head>
+
<title>Urql</title>
+
<Body>{children}</Body>
+
</Html>
+
);
+
+
export default HTML;
+12 -30
packages/site/src/screens/docs/article.js
···
import React from 'react';
-
import PropTypes from 'prop-types';
import styled from 'styled-components';
-
import { withRouteData } from 'react-static';
-
import { Markdown } from '../../components/markdown';
-
const Container = styled.div`
max-width: 80rem;
min-height: 100vh;
width: 100%;
padding: 10rem 6rem 4rem 8rem;
@media (max-width: 768px) {
padding: 6rem 4rem 8rem 3.5rem;
}
-
.gatsby-highlight {
-
@media (max-width: 768px) {
-
margin-left: -2rem;
-
}
-
code {
-
overflow-x: scroll;
-
}
-
}
`;
-
class Article extends React.Component {
-
render() {
-
return (
-
<Container className="Page-content">
-
<Markdown dangerouslySetInnerHTML={{ __html: this.props.renderedMd }} />
-
</Container>
-
);
-
}
-
}
-
Article.propTypes = {
-
renderedMd: PropTypes.string,
-
};
-
-
Article.defaultProps = {
-
params: null,
-
};
-
-
export default withRouteData(Article);
···
import React from 'react';
import styled from 'styled-components';
+
import { MDXComponents } from '../../components/mdx';
+
+
const Container = styled.article.attrs(() => ({
+
className: 'page-content',
+
}))`
max-width: 80rem;
min-height: 100vh;
width: 100%;
padding: 10rem 6rem 4rem 8rem;
+
@media (max-width: 768px) {
padding: 6rem 4rem 8rem 3.5rem;
}
`;
+
const Article = ({ children }) => (
+
<Container className="Page-content">
+
<MDXComponents>{children}</MDXComponents>
+
</Container>
+
);
+
export default Article;
+176
packages/site/src/screens/docs/header.js
···
···
+
import React from 'react';
+
import PropTypes from 'prop-types';
+
import { Link } from 'react-router-dom';
+
import styled, { css } from 'styled-components';
+
import SVG from 'react-inlinesvg';
+
+
import formidableIcon from '../../assets/logos/logo-formidable-icon.svg';
+
import formidableLogo from '../../assets/logos/logo-formidable.svg';
+
import burgerIcon from '../../assets/burger.svg';
+
+
const HeaderContainer = styled.header`
+
background: ${({ theme }) => theme.color.white};
+
box-shadow: 0 0.2rem 0.7rem 0 rgba(0, 0, 0, 0.14);
+
display: flex;
+
height: ${({ theme }) => theme.layout.headerHeight};
+
justify-content: center;
+
padding-left: ${({ theme }) => theme.layout.pageGutterLeft};
+
padding-right: ${({ theme }) => theme.layout.pageGutterRight};
+
+
@media ${({ theme }) => theme.mediaQuery.md} {
+
padding-left: ${({ theme }) => theme.layout.md.pageGutterLeft};
+
padding-right: ${({ theme }) => theme.layout.md.pageGutterRight};
+
}
+
`;
+
+
const InnerContainer = styled.div`
+
align-items: center;
+
display: flex;
+
justify-content: space-between;
+
max-width: ${({ theme }) => theme.layout.maxWidth};
+
width: 100%;
+
`;
+
+
const LeftContainer = styled.div`
+
align-items: center;
+
display: flex;
+
`;
+
+
const MenuButton = styled.button`
+
margin-right: ${({ theme }) => theme.spacing.sm};
+
+
@media ${({ theme }) => theme.mediaQuery.md} {
+
display: none;
+
}
+
`;
+
+
const BurgerIcon = styled(SVG)`
+
display: flex;
+
`;
+
+
const UrqlLogoLink = styled(Link)`
+
color: ${({ theme }) => theme.color.nearBlack};
+
font-size: 2.4rem;
+
font-weight: bold;
+
letter-spacing: 0.4rem;
+
margin-right: 3rem;
+
text-transform: uppercase;
+
@media ${({ theme }) => theme.mediaQuery.md} {
+
font-size: 2.8rem;
+
}
+
`;
+
+
const NavLinksList = styled.ul`
+
margin: 0;
+
display: none;
+
+
@media ${({ theme }) => theme.mediaQuery.md} {
+
display: block;
+
}
+
`;
+
+
const navItemStyle = css`
+
color: ${({ active, theme }) =>
+
active ? theme.color.red : theme.color.darkBrown};
+
font-size: 1.4rem;
+
letter-spacing: 0.1rem;
+
margin-right: 2rem;
+
text-transform: uppercase;
+
`;
+
+
// this is needed so that we don't forward these props to the base components
+
// to avoid an error
+
// eslint-disable-next-line no-unused-vars
+
const NavLink = styled(({ active, theme, ...rest }) => <Link {...rest} />)`
+
${navItemStyle}
+
`;
+
+
// eslint-disable-next-line no-unused-vars
+
const NavAnchor = styled(({ active, theme, ...rest }) => <a {...rest} />)`
+
${navItemStyle}
+
`;
+
+
const FormidableIcon = styled(SVG)`
+
color: ${({ theme }) => theme.color.red};
+
display: flex;
+
+
@media ${({ theme }) => theme.mediaQuery.md} {
+
display: none;
+
}
+
+
> svg {
+
height: 2.4rem;
+
width: 1.8rem;
+
}
+
`;
+
+
const FormidableLogo = styled(SVG)`
+
display: none;
+
height: 2.8rem;
+
position: relative;
+
top: -0.1rem;
+
+
@media ${({ theme }) => theme.mediaQuery.md} {
+
display: block;
+
}
+
`;
+
+
const Header = ({ className = '', location, onMenuClick, title }) => {
+
const { pathname } = location;
+
+
return (
+
<HeaderContainer className={className}>
+
<InnerContainer>
+
<LeftContainer>
+
<MenuButton onClick={onMenuClick}>
+
<BurgerIcon src={burgerIcon} />
+
</MenuButton>
+
<UrqlLogoLink to="/">{title}</UrqlLogoLink>
+
+
<NavLinksList>
+
<NavLink active={pathname.includes('about')} to="/about/">
+
About
+
</NavLink>
+
{/* /faq is nested under /docs but is at top-level for convenience
+
so we don't want to highlight the link if /faq is the active
+
path; conversely, /guides is nested under /docs but is not
+
top-level, so highlight docs when on guides */}
+
<NavLink
+
active={
+
(pathname.includes('docs') || pathname.includes('guides')) &&
+
!pathname.includes('faq')
+
}
+
to="/docs/"
+
>
+
Docs
+
</NavLink>
+
<NavLink active={pathname.includes('gallery')} to="/gallery/">
+
Gallery
+
</NavLink>
+
+
{/*config.projectLinks.map(link => (
+
<NavAnchor key={link.url} href={link.url}>
+
{link.label}
+
</NavAnchor>
+
))*/}
+
+
<NavLink active={pathname.includes('faq')} to="/docs/faq/">
+
FAQs
+
</NavLink>
+
</NavLinksList>
+
</LeftContainer>
+
+
<FormidableIcon src={formidableIcon} />
+
<FormidableLogo src={formidableLogo} />
+
</InnerContainer>
+
</HeaderContainer>
+
);
+
};
+
+
Header.propTypes = {
+
className: PropTypes.string,
+
location: PropTypes.shape({ pathname: PropTypes.string }),
+
onMenuClick: PropTypes.func,
+
};
+
+
export default Header;
+33 -53
packages/site/src/screens/docs/index.js
···
-
import React, { forwardRef } from 'react';
import styled from 'styled-components';
import PropTypes from 'prop-types';
import { withRouteData } from 'react-static';
···
import Article from './article';
import Sidebar from '../../components/sidebar';
import constants from '../../constants';
import burger from '../../assets/burger.svg';
import logoFormidableDark from '../../assets/logo_formidable_dark.svg';
···
);
});
-
/* eslint-disable react/no-multi-comp */
-
class Docs extends React.Component {
-
constructor(props) {
-
super(props);
-
this.closeSidebar = this.closeSidebar.bind(this);
-
this.state = { openSidebar: false };
-
this.sidebarRef = React.createRef();
-
}
-
openSidebar() {
-
this.setState({ openSidebar: true });
-
}
-
-
closeSidebar() {
-
this.setState({ openSidebar: false });
-
}
-
-
render() {
-
return (
-
<Container
-
onClick={event => {
-
return !this.sidebarRef.current.contains(event.target) &&
-
this.state.openSidebar
-
? this.closeSidebar()
-
: null;
-
}}
-
>
-
<Wrapper noPadding>
-
<CollapsedMenu overlay={this.state.openSidebar}>
-
<img src={burger} alt="Menu" onClick={() => this.openSidebar()} />
-
</CollapsedMenu>
-
<DocsTitle>
-
<Link to={'/'} style={{ color: '#3b3b3b' }}>
-
{constants.docsTitle}
-
</Link>
-
</DocsTitle>
-
<Link to={'https://formidable.com'}>
-
<HeaderLogo src={logoFormidableDark} alt="Formidable Logo" />
-
</Link>
-
</Wrapper>
-
<SideBarWithRef
-
location={this.props.location}
-
overlay={this.state.openSidebar}
-
closeSidebar={this.closeSidebar}
-
sidebarHeaders={this.props.sidebarHeaders}
-
tocArray={this.props.toc[this.props.slug]}
-
ref={this.sidebarRef}
-
/>
-
<Article />
-
</Container>
-
);
-
}
-
}
Docs.propTypes = {
location: PropTypes.object,
···
+
import React, { forwardRef, useState, useRef } from 'react';
import styled from 'styled-components';
import PropTypes from 'prop-types';
import { withRouteData } from 'react-static';
···
import Article from './article';
import Sidebar from '../../components/sidebar';
import constants from '../../constants';
+
import Header from './header';
import burger from '../../assets/burger.svg';
import logoFormidableDark from '../../assets/logo_formidable_dark.svg';
···
);
});
+
const Docs = props => {
+
const [openSidebar, setOpenSidebar] = useState(false);
+
const sidebarRef = useRef(null);
+
return (
+
<Container
+
onClick={event => {
+
return !sidebarRef.current.contains(event.target) && openSidebar
+
? closeSidebar()
+
: null;
+
}}
+
>
+
<Wrapper noPadding>
+
<CollapsedMenu overlay={openSidebar}>
+
<img src={burger} alt="Menu" onClick={() => setOpenSidebar(true)} />
+
</CollapsedMenu>
+
<Header location={props.location} title={constants.docsTitle} />
+
<Link to={'https://formidable.com'}>
+
<HeaderLogo src={logoFormidableDark} alt="Formidable Logo" />
+
</Link>
+
</Wrapper>
+
<SideBarWithRef
+
location={props.location}
+
overlay={openSidebar}
+
closeSidebar={() => setOpenSidebar(false)}
+
sidebarHeaders={props.sidebarHeaders}
+
ref={sidebarRef}
+
/>
+
<Article>{props.children}</Article>
+
</Container>
+
);
+
};
Docs.propTypes = {
location: PropTypes.object,
+66
packages/site/src/styles/global.js
···
···
+
import { createGlobalStyle } from 'styled-components';
+
+
const systemFonts = [
+
'-apple-system',
+
'BlinkMacSystemFont',
+
'Segoe UI',
+
'Roboto',
+
'Helvetica Neue',
+
'Arial',
+
'Noto Sans',
+
'sans-serif',
+
'Apple Color Emoji',
+
'Segoe UI Emoji',
+
'Segoe UI Symbol',
+
'Noto Color Emoji',
+
];
+
+
export const GlobalStyle = createGlobalStyle`
+
* {
+
box-sizing: inherit;
+
}
+
+
html {
+
background: ${({ theme }) => theme.color.black};
+
box-sizing: border-box;
+
font-size: 62.5%;
+
overflow-x: hidden;
+
}
+
+
body {
+
background: ${({ theme }) => theme.color.white};
+
color: ${({ theme }) => theme.color.darkGray};
+
text-rendering: optimizeLegibility;
+
font-family: ${systemFonts.join(', ')};
+
font-size: 1.8rem;
+
font-weight: 400;
+
line-height: 1.5;
+
margin: 0;
+
padding: 0;
+
}
+
+
p, h1, h2, h3 {
+
margin: 0 0 2.7rem 0;
+
}
+
+
h1, h2, h3 {
+
font-weight: 500;
+
line-height: 1.1;
+
}
+
+
h1 {
+
font-size: 2.556em;
+
}
+
+
h2 {
+
font-size: 1.755em;
+
}
+
+
h3 {
+
font-size: 1.455em;
+
}
+
+
img {
+
max-width: 100%;
+
}
+
`;
+92
packages/site/src/styles/theme.js
···
···
+
const theme = {
+
color: {
+
blue: '#8196FF',
+
paleRed: '#ffad9f',
+
red: '#ff684f',
+
darkRed: '#ad1b11',
+
brown: '#bc5240',
+
darkBrown: '#4c2e29',
+
+
white: '#ffffff',
+
nearWhite: '#f2f2f2',
+
lightGray: '#e0e0e0',
+
gray: '#999999',
+
darkGray: '#3b3b3b',
+
nearBlack: '#242121',
+
black: '#1f1f1f',
+
+
inlineCodeBorder: '#d3d3d3',
+
+
codeMirror: {
+
bgDim: '#eeefee',
+
bg: '#fffefc',
+
bgFocused: '#fffefc',
+
bgSelected: '#b3d4fc',
+
def: '#333333',
+
comment: '#708090',
+
function: '#cc2345',
+
keyword: '#07a',
+
number: '#905',
+
operator: '#9a6e3a',
+
attribute: '#690',
+
punctuation: '#999',
+
selector: '#007a71',
+
variable: '#e90',
+
tag: '#905',
+
},
+
},
+
+
font: {
+
primary: 'Helvetica, sans-serif',
+
secondary: 'Castledown-Bold, sans-serif',
+
monospace: 'Monaco, Courier, monospace',
+
bold: 'Helvetica-Bold, sans-serif',
+
},
+
typography: {
+
lineHeight: {
+
sidebarHeading: '2.3rem',
+
sidebarItem: '2.8rem',
+
},
+
},
+
+
layout: {
+
maxWidth: '121rem',
+
footerMaxWidth: '90rem',
+
+
headerHeight: '6.4rem',
+
footerHeight: '43.2rem',
+
stripesWidth: '2.8rem',
+
sidebarWidth: '26rem',
+
+
pageGutterLeft: '2rem',
+
pageGutterRight: '3rem',
+
pageGutterTop: '2rem',
+
pageGutterBottom: '5.5rem',
+
+
// layout at md width and larger; use in conjunction with media query
+
md: {
+
footerHeight: '25.6rem',
+
+
pageGutterLeft: '6rem',
+
pageGutterRight: '7.5rem',
+
pageGutterTop: '4rem',
+
pageGutterBottom: '4.5rem',
+
},
+
},
+
+
mediaQuery: {
+
sm: 'only screen and (min-width: 650px)',
+
md: 'only screen and (min-width: 960px)',
+
lg: 'only screen and (min-width: 1200px)',
+
},
+
+
spacing: {
+
xs: '0.6rem',
+
sm: '1.5rem',
+
md: '2.75rem',
+
lg: '4.75rem',
+
xl: '8.2rem',
+
},
+
};
+
+
export default theme;
-199
packages/site/static-config-helpers/get-md-files.js
···
-
/* eslint-disable func-style */
-
import { stage, landerBasePath } from '../static-config-parts/constants';
-
const fs = require('fs');
-
const klaw = require('klaw');
-
const path = require('path');
-
const html = require('remark-html');
-
const frontmatter = require('remark-frontmatter');
-
const yaml = require('js-yaml');
-
const remark = require('remark');
-
const _ = require('lodash');
-
const select = require('unist-util-select');
-
const visit = require('unist-util-visit');
-
const slug = require('remark-slug');
-
const slugs = require('github-slugger')();
-
// gatsby-remark plugins are usable for remark parsing without requiring gatsby.
-
const remarkPrism = require('gatsby-remark-prismjs');
-
-
function defaultSort(items) {
-
return items;
-
}
-
-
function codeHighlightTransformer() {
-
return node => remarkPrism({ markdownAST: node });
-
}
-
-
function slugTransformer(ast) {
-
slugs.reset();
-
-
function visitor(node) {
-
const data = node.data || (node.data = {});
-
const props = data.hProperties || (data.hProperties = {});
-
if (node.depth) {
-
const nodeClass = props.className
-
? `${props.className} doc-hash-link`
-
: 'doc-hash-link';
-
// This adds GH style links to our md based on existing behaviors by converting mdast heading
-
// nodes to html so we can inject the link and svg directly rather than do something like add
-
// a marker value to the mdast and let the renderer handle it, in part because our "renderer"
-
// is __dangerouslySetHTML on a div.
-
const defaultHTML = `
-
<h${node.depth}>
-
${node.children[0].value}
-
</h${node.depth}>
-
`;
-
const elInnerHTML =
-
node.depth === 1
-
? defaultHTML
-
: `
-
<h${node.depth}>
-
<a class="Anchor"
-
aria-hidden="true"
-
id="${node.data.id}"
-
href="#${node.data.id}"
-
>
-
<svg viewBox="0 0 16 16" version="1.1" width="16" height="16"aria-hidden="true">
-
<path fill-rule="evenodd"
-
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"
-
/>
-
</svg>
-
</a>
-
${node.children[0].value}
-
</h${node.depth}>
-
`;
-
node.type = `html`;
-
node.value = elInnerHTML;
-
props.className = nodeClass;
-
data.className = nodeClass;
-
}
-
}
-
visit(ast, 'heading', visitor);
-
}
-
-
function slugWithLink() {
-
return slugTransformer;
-
}
-
-
function appendImageBasePath(ast) {
-
function visitor(node) {
-
if (!!node.value.match(/<img /) && stage !== 'development') {
-
node.value = node.value.replace(`src="`, `src="/${landerBasePath}`);
-
}
-
}
-
visit(ast, 'html', visitor);
-
}
-
-
function imageTransformer() {
-
return appendImageBasePath;
-
}
-
-
const subHeadingRangeDefaults = {
-
start: 1,
-
end: 3,
-
};
-
-
function setYamlToFile(subHeadingRange = subHeadingRangeDefaults) {
-
function transformer(ast, file) {
-
const yamlObj = select(ast, 'yaml');
-
let obj;
-
if (yamlObj.length > 0) {
-
const { children } = ast;
-
-
obj = yaml.safeLoad(yamlObj[0].value);
-
-
file.data = obj;
-
-
Object.defineProperty(file, 'raw', {
-
value: file.contents,
-
enumerable: true,
-
});
-
-
file.data.subHeadings = children
-
.filter(
-
c =>
-
c.type === 'heading' &&
-
c.depth >= subHeadingRange.start &&
-
c.depth <= subHeadingRange.end
-
)
-
.map(c => ({
-
type: c.type,
-
value: c.children[0].value,
-
depth: c.depth,
-
slug: _.kebabCase(c.children[0].value).toLowerCase(),
-
}));
-
}
-
}
-
-
return transformer;
-
}
-
-
// The pattern of renderer-agnosticism that worked well for a less complex project is essentially a fiction here,
-
// but if there is sufficient will to do so, we could slough off the forced legacy of managing view-rendering concerns
-
// in a data ingestion layer that has absolutely no business knowing this much about the specifics of it.
-
-
const baseConfig = {
-
renderer: remark()
-
.use(frontmatter, ['yaml', 'toml'])
-
.use(setYamlToFile)
-
.use(html)
-
.use(codeHighlightTransformer)
-
.use(slug)
-
.use(slugWithLink)
-
.use(imageTransformer),
-
// converting to an originally grey-matter idiom for all our existing transforms and future interop -- it's not much of a stretch
-
// for remark, but who knows what the future (and the past) hold.
-
outputHarmonizer: result => ({
-
content: result.contents,
-
data: result.data,
-
raw: result.raw,
-
}),
-
};
-
-
// eslint-disable-next-line max-params
-
const getMdFiles = async (
-
mdPath,
-
items,
-
mutations = [],
-
sort = defaultSort,
-
config = baseConfig
-
) =>
-
new Promise(resolve => {
-
if (fs.existsSync(mdPath)) {
-
klaw(mdPath)
-
.on('data', item => {
-
if (path.extname(item.path) === '.md') {
-
const data = fs.readFileSync(item.path, 'utf8');
-
-
const { renderer, outputHarmonizer } = config;
-
renderer.process(data, (err, result) => {
-
if (err) {
-
throw err;
-
} else if (
-
!result.data ||
-
Object.keys(result.data).length === 0
-
) {
-
return;
-
}
-
-
const mdData = outputHarmonizer(result);
-
-
mutations.forEach(m => {
-
m(mdData, item.path);
-
});
-
-
items.push(mdData);
-
});
-
}
-
})
-
.on('error', e => {
-
throw e;
-
})
-
.on('end', () => {
-
resolve(sort(items));
-
});
-
} else {
-
resolve(items);
-
}
-
});
-
-
module.exports = getMdFiles;
···
-45
packages/site/static-config-helpers/md-data-transforms.js
···
-
/* eslint-disable func-style */
-
// we can switch to single-function lodash deps like the cool kids once we've got feature parity,
-
// keeping in mind this is naught but the build step.
-
const _ = require('lodash');
-
const path = require('path');
-
const getMdFiles = require('./get-md-files');
-
-
const capitalizeSlugComponent = word => {
-
// this is suboptimal, we should be able to define page
-
// titles as we want them instead of relying on the slug
-
switch (word) {
-
case 'and':
-
return 'and';
-
case 'api':
-
return 'API';
-
default:
-
return _.upperFirst(word);
-
}
-
};
-
-
const sidebarTitleSlugMutation = (mdData, mdPath) => {
-
const { name } = path.parse(mdPath);
-
-
mdData.slug = name.toLowerCase();
-
mdData.path = `/${name.toLowerCase()}/`;
-
mdData.title = name
-
.split('-')
-
.map(capitalizeSlugComponent)
-
.join(' ');
-
};
-
-
const sidebarSort = items => _.orderBy(items, ['data.order'], 'asc');
-
-
function getSidebarItems(
-
mdPath,
-
items = [],
-
mutations = [sidebarTitleSlugMutation],
-
sort = sidebarSort
-
) {
-
return getMdFiles(mdPath, items, mutations, sort);
-
}
-
-
module.exports = {
-
getSidebarItems,
-
};
···
-8
packages/site/static-config-parts/constants.js
···
-
const metaData = {
-
title: 'urql',
-
description:
-
'A GraphQL client that exposes a set of React components and hooks.',
-
url: 'http://www.formidable.com/open-source/urql/',
-
};
-
-
module.exports = { metaData };
···
+3 -2
packages/site/static-config-parts/node.api.js packages/site/plugins/monorepo-fix/node.api.js
···
(context, request, callback) => {
if (/^[.\/]/.test(request)) {
return callback();
}
const res = resolveFrom(`${context}/`, request);
···
NODE_MODULES_JS_RE.test(res) &&
!REACT_STATIC_RE.test(res)
) {
-
callback(null, `commonjs ${request}`);
} else {
-
callback();
}
},
];
···
(context, request, callback) => {
if (/^[.\/]/.test(request)) {
return callback();
+
e;
}
const res = resolveFrom(`${context}/`, request);
···
NODE_MODULES_JS_RE.test(res) &&
!REACT_STATIC_RE.test(res)
) {
+
return callback(null, `commonjs ${request}`);
} else {
+
return callback();
}
},
];
+23 -59
packages/site/static.config.js
···
import { resolve } from 'path';
-
import { getSidebarItems } from './static-config-helpers/md-data-transforms';
-
import { metaData } from './static-config-parts/constants';
-
import { createSharedData } from 'react-static/node'
-
const docsContentPath = resolve(__dirname, '../../docs/core');
-
export default {
-
plugins: [
'react-static-plugin-styled-components',
'react-static-plugin-sitemap',
'react-static-plugin-react-router',
-
resolve(__dirname, 'static-config-parts'),
],
paths: {
-
nodeModules: '../../node_modules',
src: 'src',
dist: 'dist',
buildArtifacts: 'node_modules/.cache/react-static/artifacts/',
devDist: 'node_modules/.cache/react-static/dist/',
temp: 'node_modules/.cache/react-static/temp/',
},
basePath: 'open-source/urql',
stagingBasePath: '',
devBasePath: '',
getSiteData: () => ({
-
title: metaData.title,
}),
-
getRoutes: async () => {
-
const sidebarItems = await getSidebarItems(docsContentPath);
-
const rawSidebarHeaders = sidebarItems.map(d => ({
-
title: d.title,
-
path: `/${d.slug}/`,
-
slug: d.slug,
-
}));
-
const rawToc = sidebarItems.reduce((memo, item) => {
-
const subArray = item.data.subHeadings.map(sh => ({
-
content: sh.value,
-
level: sh.depth,
-
}));
-
memo[item.slug] = subArray;
-
return memo;
-
}, {});
-
const toc = createSharedData(rawToc);
-
const sidebarHeaders = createSharedData(rawSidebarHeaders);
-
-
return [
-
{
-
path: '/',
-
template: require.resolve('./src/screens/home'),
-
},
-
{
-
path: '/docs',
-
template: 'src/screens/docs',
-
sharedData: { toc, sidebarHeaders },
-
getData: () => ({
-
title: `${metaData.title} | Documentation`,
-
markdown: sidebarItems[0].markdown,
-
renderedMd: sidebarItems[0].content,
-
slug: sidebarItems[0].slug,
-
}),
-
// move slug + path to data in transform, renderedMd to data, and nuke markdown prop
-
children: sidebarItems.map(
-
({ slug, path, markdown, content, data }) => ({
-
path,
-
template: 'src/screens/docs',
-
sharedData: { toc, sidebarHeaders },
-
getData: () => ({
-
title: data.title,
-
markdown,
-
slug,
-
renderedMd: content,
-
}),
-
})
-
),
-
},
-
];
-
},
};
···
import { resolve } from 'path';
+
import constants from './src/constants';
+
export default {
+
plugins: [
+
resolve(__dirname, 'plugins/monorepo-fix/'),
+
[
+
'react-static-plugin-md-pages',
+
{
+
location: '../../docs',
+
template: './src/screens/docs',
+
order: {
+
core: 0,
+
graphcache: 1,
+
},
+
},
+
],
'react-static-plugin-styled-components',
'react-static-plugin-sitemap',
'react-static-plugin-react-router',
],
paths: {
src: 'src',
dist: 'dist',
buildArtifacts: 'node_modules/.cache/react-static/artifacts/',
devDist: 'node_modules/.cache/react-static/dist/',
temp: 'node_modules/.cache/react-static/temp/',
},
+
basePath: 'open-source/urql',
stagingBasePath: '',
devBasePath: '',
getSiteData: () => ({
+
title: constants.docsTitle,
}),
+
getRoutes: async () => [
+
{
+
path: '/',
+
template: require.resolve('./src/screens/home'),
+
},
+
],
};
+1
scripts/eslint/js-preset.js
···
rules: {
'consistent-return': 'warn',
'no-magic-numbers': 'off', // TODO
'react/jsx-handler-names': 'off',
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'warn',
···
rules: {
'consistent-return': 'warn',
'no-magic-numbers': 'off', // TODO
+
'react/jsx-key': 'off',
'react/jsx-handler-names': 'off',
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'warn',
+462 -224
yarn.lock
···
optionalDependencies:
chokidar "^2.1.8"
-
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
dependencies:
···
invariant "^2.2.4"
semver "^5.5.0"
"@babel/core@^7.1.0", "@babel/core@^7.2.0", "@babel/core@^7.5.5", "@babel/core@^7.7.5", "@babel/core@^7.7.7":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e"
···
semver "^5.4.1"
source-map "^0.5.0"
-
"@babel/generator@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.4.tgz#35bbc74486956fe4251829f9f6c48330e8d0985e"
dependencies:
···
dependencies:
"@babel/types" "^7.8.3"
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
···
"@babel/traverse" "^7.8.3"
"@babel/types" "^7.8.3"
-
"@babel/helpers@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73"
dependencies:
···
esutils "^2.0.2"
js-tokens "^4.0.0"
-
"@babel/parser@^7.1.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8"
···
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
"@babel/plugin-proposal-object-rest-spread@^7.8.3":
version "7.8.3"
···
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-jsx@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94"
···
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
···
dependencies:
regenerator-runtime "^0.13.2"
-
"@babel/template@^7.7.4", "@babel/template@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8"
dependencies:
···
"@babel/parser" "^7.8.3"
"@babel/types" "^7.8.3"
-
"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.4.tgz#f0845822365f9d5b0e312ed3959d3f827f869e3c"
dependencies:
···
globals "^11.1.0"
lodash "^4.17.13"
-
"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c"
dependencies:
···
version "2.0.0"
resolved "https://registry.yarnpkg.com/@kristoferbaxter/estree-walker/-/estree-walker-2.0.0.tgz#52ee40f9f8b59bbf00cac477a777aeb830ea5952"
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
···
"@types/react-dom" "*"
"@types/testing-library__dom" "*"
-
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
"@types/use-subscription@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/use-subscription/-/use-subscription-1.0.0.tgz#d146f8d834f70f50d48bd8246a481d096f11db19"
-
-
"@types/vfile-message@*":
-
version "2.0.0"
-
resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-2.0.0.tgz#690e46af0fdfc1f9faae00cd049cc888957927d5"
-
dependencies:
-
vfile-message "*"
-
-
"@types/vfile@^3.0.0":
-
version "3.0.2"
-
resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9"
-
dependencies:
-
"@types/node" "*"
-
"@types/unist" "*"
-
"@types/vfile-message" "*"
"@types/yargs-parser@*":
version "15.0.0"
···
loader-utils "^1.0.2"
mkdirp "^0.5.1"
pify "^4.0.1"
babel-plugin-closure-elimination@^1.3.0:
version "1.3.0"
···
dependencies:
object.assign "^4.1.0"
babel-plugin-istanbul@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765"
···
no-case "^2.2.0"
upper-case "^1.1.1"
camelcase-keys@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77"
···
tunnel-agent "^0.6.0"
url-to-options "^1.0.1"
-
ccount@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17"
···
cli-width@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
-
-
clipboard@^2.0.0:
-
version "2.0.4"
-
resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d"
-
dependencies:
-
good-listener "^1.2.2"
-
select "^1.1.2"
-
tiny-emitter "^2.0.0"
clipboardy@1.2.3:
version "1.2.3"
···
dependencies:
delayed-stream "~1.0.0"
-
comma-separated-tokens@^1.0.1:
version "1.0.8"
resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
···
domutils "^1.7.0"
nth-check "^1.0.2"
-
css-selector-parser@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.3.0.tgz#5f1ad43e2d8eefbfdc304fcd39a521664943e3eb"
css-to-react-native@^3.0.0:
version "3.0.0"
···
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
-
delegate@^3.1.2:
-
version "3.2.0"
-
resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
-
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
···
version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
detab@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.3.tgz#33e5dd74d230501bd69985a0d2b9a3382699a130"
···
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
encodeurl@~1.0.2:
version "1.0.2"
···
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
···
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
-
gatsby-remark-prismjs@^3.2.2:
-
version "3.3.31"
-
resolved "https://registry.yarnpkg.com/gatsby-remark-prismjs/-/gatsby-remark-prismjs-3.3.31.tgz#b5df868642dc78e3d38576d7e9f6eab23d2b6a80"
-
dependencies:
-
"@babel/runtime" "^7.7.6"
-
parse-numeric-range "^0.0.2"
-
unist-util-visit "^1.4.1"
-
gensync@^1.0.0-beta.1:
version "1.0.0-beta.1"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
···
q "~1.4.1"
shelljs "~0.5.3"
-
github-slugger@^1.0.0, github-slugger@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.1.tgz#47e904e70bf2dccd0014748142d31126cfd49508"
dependencies:
···
pify "^4.0.1"
slash "^2.0.0"
-
good-listener@^1.2.2:
-
version "1.2.2"
-
resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
-
dependencies:
-
delegate "^3.1.2"
-
google-closure-compiler-java@^20200112.0.0:
version "20200112.0.0"
resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20200112.0.0.tgz#2b99f5e2869a573a1b35558ff3b6e6bc054a116f"
···
url-parse-lax "^3.0.0"
url-to-options "^1.0.1"
-
graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
···
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
-
hast-util-is-element@^1.0.0:
-
version "1.0.3"
-
resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz#423b4b26fe8bf1f25950fe052e9ce8f83fd5f6a4"
-
hast-util-sanitize@^1.0.0:
-
version "1.3.1"
-
resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz#4e60d66336bd67e52354d581967467029a933f2e"
dependencies:
xtend "^4.0.1"
-
hast-util-to-html@^4.0.0:
-
version "4.0.1"
-
resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz#3666b05afb62bd69f8f5e6c94db04dea19438e2a"
dependencies:
-
ccount "^1.0.0"
-
comma-separated-tokens "^1.0.1"
-
hast-util-is-element "^1.0.0"
-
hast-util-whitespace "^1.0.0"
-
html-void-elements "^1.0.0"
-
property-information "^4.0.0"
-
space-separated-tokens "^1.0.0"
-
stringify-entities "^1.0.1"
-
unist-util-is "^2.0.0"
xtend "^4.0.1"
-
hast-util-whitespace@^1.0.0:
-
version "1.0.3"
-
resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz#6d161b307bd0693b5ec000c7c7e8b5445109ee34"
he@1.2.x:
version "1.2.0"
···
relateurl "0.2.x"
uglify-js "3.4.x"
-
html-void-elements@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483"
···
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
inquirer-autocomplete-prompt@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.0.2.tgz#3f2548f73dd12f0a541be055ea9c8c7aedeb42bf"
···
dependencies:
kind-of "^6.0.0"
is-alphabetical@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
···
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
-
is-decimal@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
···
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
···
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-
is-whitespace-character@^1.0.0, is-whitespace-character@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7"
···
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
-
js-yaml@^3.12.0, js-yaml@^3.13.1, js-yaml@^3.6.1:
version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
dependencies:
···
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
-
klaw@^2.1.1:
-
version "2.1.1"
-
resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.1.1.tgz#42b76894701169cc910fd0d19ce677b5fb378af1"
-
dependencies:
-
graceful-fs "^4.1.9"
-
kleur@^3.0.0, kleur@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
···
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
loader-utils@^0.2.16:
version "0.2.17"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
···
json5 "^0.5.0"
object-assign "^4.0.1"
-
loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:
-
version "1.2.3"
-
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
dependencies:
big.js "^5.2.2"
-
emojis-list "^2.0.0"
json5 "^1.0.1"
loadjs@^4.2.0:
···
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
-
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
···
inherits "^2.0.1"
safe-buffer "^5.1.2"
mdast-util-compact@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593"
···
dependencies:
unist-util-visit "^1.0.0"
-
mdast-util-to-hast@^3.0.0:
-
version "3.0.4"
-
resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz#132001b266031192348d3366a6b011f28e54dc40"
dependencies:
collapse-white-space "^1.0.0"
detab "^2.0.0"
···
unist-util-visit "^1.1.0"
xtend "^4.0.1"
-
mdast-util-to-string@^1.0.0, mdast-util-to-string@^1.0.5:
version "1.0.7"
resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.7.tgz#62d8e9c6b2113070d8b497c7dc35bf12796f06ee"
-
mdast-util-toc@^3.0.0:
-
version "3.1.0"
-
resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz#395eeb877f067f9d2165d990d77c7eea6f740934"
-
dependencies:
-
github-slugger "^1.2.1"
-
mdast-util-to-string "^1.0.5"
-
unist-util-is "^2.1.2"
-
unist-util-visit "^1.1.0"
-
mdn-data@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
···
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
-
mime@^2.0.3, mime@^2.4.4:
version "2.4.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
···
version "3.3.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
npm-conf@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9"
···
dependencies:
path-key "^3.0.0"
-
nth-check@^1.0.1, nth-check@^1.0.2, nth-check@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
dependencies:
···
json-parse-better-errors "^1.0.1"
lines-and-columns "^1.1.6"
-
parse-numeric-range@^0.0.2:
-
version "0.0.2"
-
resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-0.0.2.tgz#b4f09d413c7adbcd987f6e9233c7b4b210c938e4"
-
parse5@5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
parseqs@0.0.5:
version "0.0.5"
···
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
pbkdf2@^3.0.3:
version "3.0.17"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
···
ansi-styles "^4.0.0"
react-is "^16.12.0"
-
prismjs@^1.15.0:
-
version "1.19.0"
-
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.19.0.tgz#713afbd45c3baca4b321569f2df39e17e729d4dc"
-
optionalDependencies:
-
clipboard "^2.0.0"
private@^0.1.6:
version "0.1.8"
···
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
-
process@^0.11.10:
version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
···
object-assign "^4.1.1"
react-is "^16.8.1"
-
property-information@^4.0.0:
-
version "4.2.0"
-
resolved "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz#f0e66e07cbd6fed31d96844d958d153ad3eb486e"
dependencies:
-
xtend "^4.0.1"
proto-list@~1.2.1:
version "1.2.4"
···
iconv-lite "0.4.24"
unpipe "1.0.0"
-
raw-loader@^1.0.0:
-
version "1.0.0"
-
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-1.0.0.tgz#3f9889e73dadbda9a424bce79809b4133ad46405"
-
dependencies:
-
loader-utils "^1.1.0"
-
schema-utils "^1.0.0"
-
raw-loader@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-3.1.0.tgz#5e9d399a5a222cc0de18f42c3bc5e49677532b3f"
···
version "2.0.4"
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
react-ga@^2.4.1:
version "2.7.0"
resolved "https://registry.yarnpkg.com/react-ga/-/react-ga-2.7.0.tgz#24328f157f31e8cffbf4de74a3396536679d8d7c"
···
shallowequal "^1.1.0"
source-map "^0.7.3"
react-is@^16.12.0, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6:
version "16.12.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c"
···
dependencies:
object-is "^1.0.1"
react-static-plugin-react-router@^7.2.3:
version "7.2.3"
resolved "https://registry.yarnpkg.com/react-static-plugin-react-router/-/react-static-plugin-react-router-7.2.3.tgz#9f12b10b245565f187b7e1795e14b9e982aa26ba"
···
version "0.2.7"
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
-
remark-frontmatter@^1.3.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-1.3.2.tgz#91d9684319cd1b96cc3d9d901f10a978f39c752d"
dependencies:
fault "^1.0.1"
xtend "^4.0.1"
-
remark-html@^8.0.0:
-
version "8.0.0"
-
resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-8.0.0.tgz#9fcb859a6f3cb40f3ef15402950f1a62ec301b3a"
dependencies:
-
hast-util-sanitize "^1.0.0"
-
hast-util-to-html "^4.0.0"
-
mdast-util-to-hast "^3.0.0"
-
xtend "^4.0.1"
-
remark-kbd@^1.0.16:
-
version "1.0.21"
-
resolved "https://registry.yarnpkg.com/remark-kbd/-/remark-kbd-1.0.21.tgz#2e8c1649bfae242567a78b53514dc7ee713e52f7"
-
dependencies:
-
is-whitespace-character "^1.0.4"
-
-
remark-parse@^6.0.0:
-
version "6.0.3"
-
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a"
dependencies:
collapse-white-space "^1.0.2"
is-alphabetical "^1.0.0"
···
vfile-location "^2.0.0"
xtend "^4.0.1"
-
remark-slug@^5.0.0, remark-slug@^5.1.1:
-
version "5.1.2"
-
resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-5.1.2.tgz#715ecdef8df1226786204b1887d31ab16aa24609"
dependencies:
-
github-slugger "^1.0.0"
-
mdast-util-to-string "^1.0.0"
-
unist-util-visit "^1.0.0"
-
remark-stringify@^6.0.0:
-
version "6.0.4"
-
resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088"
dependencies:
ccount "^1.0.0"
is-alphanumeric "^1.0.0"
···
parse-entities "^1.0.2"
repeat-string "^1.5.4"
state-toggle "^1.0.0"
-
stringify-entities "^1.0.1"
unherit "^1.0.4"
xtend "^4.0.1"
-
remark-toc@^5.1.0:
-
version "5.1.1"
-
resolved "https://registry.yarnpkg.com/remark-toc/-/remark-toc-5.1.1.tgz#8c229d6f834cdb43fde6685e2d43248d3fc82d78"
dependencies:
-
mdast-util-toc "^3.0.0"
-
remark-slug "^5.0.0"
-
-
remark@^10.0.1:
-
version "10.0.1"
-
resolved "https://registry.yarnpkg.com/remark/-/remark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df"
-
dependencies:
-
remark-parse "^6.0.0"
-
remark-stringify "^6.0.0"
-
unified "^7.0.0"
remove-accents@0.4.2:
version "0.4.2"
···
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
-
-
select@^1.1.2:
-
version "1.1.2"
-
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
selfsigned@^1.10.7:
version "1.10.7"
···
dependencies:
safe-buffer "~5.1.0"
-
stringify-entities@^1.0.1:
-
version "1.3.2"
-
resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7"
dependencies:
character-entities-html4 "^1.0.0"
character-entities-legacy "^1.0.0"
is-alphanumerical "^1.0.0"
is-hexadecimal "^1.0.0"
stringify-object@^3.3.0:
···
dependencies:
loader-utils "^1.1.0"
schema-utils "^1.0.0"
styled-components@^5.0.1:
version "5.0.1"
···
version "0.3.0"
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
-
tiny-emitter@^2.0.0:
-
version "2.1.0"
-
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
-
tiny-invariant@^1.0.2:
version "1.1.0"
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875"
···
extend-shallow "^3.0.2"
regex-not "^1.0.2"
safe-regex "^1.1.0"
toidentifier@1.0.0:
version "1.0.0"
···
version "1.0.5"
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
-
unified@^7.0.0:
-
version "7.1.0"
-
resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13"
dependencies:
-
"@types/unist" "^2.0.0"
-
"@types/vfile" "^3.0.0"
bail "^1.0.0"
extend "^3.0.0"
-
is-plain-obj "^1.1.0"
trough "^1.0.0"
-
vfile "^3.0.0"
-
x-is-string "^0.1.0"
union-value@^1.0.0:
version "1.0.1"
···
dependencies:
imurmurhash "^0.1.4"
-
unist-builder@^1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz#e1808aed30bd72adc3607f25afecebef4dd59e17"
dependencies:
···
unist-util-generated@^1.1.0:
version "1.1.5"
resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.5.tgz#1e903e68467931ebfaea386dae9ea253628acd42"
-
-
unist-util-is@^2.0.0, unist-util-is@^2.1.2:
-
version "2.1.3"
-
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.3.tgz#459182db31f4742fceaea88d429693cbf0043d20"
unist-util-is@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd"
unist-util-position@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.4.tgz#5872be7aec38629b971fdb758051f78817b0040a"
···
dependencies:
unist-util-visit "^1.1.0"
-
unist-util-select@^1.5.0:
-
version "1.5.0"
-
resolved "https://registry.yarnpkg.com/unist-util-select/-/unist-util-select-1.5.0.tgz#a93c2be8c0f653827803b81331adec2aa24cd933"
dependencies:
-
css-selector-parser "^1.1.0"
-
debug "^2.2.0"
-
nth-check "^1.0.1"
-
unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1:
-
version "1.1.2"
-
resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6"
unist-util-stringify-position@^2.0.0:
version "2.0.2"
···
dependencies:
unist-util-is "^3.0.0"
-
unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.4.0, unist-util-visit@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
dependencies:
unist-util-visit-parents "^2.0.0"
universalify@^0.1.0:
version "0.1.2"
···
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
-
url-loader@^1.1.2:
-
version "1.1.2"
-
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8"
-
dependencies:
-
loader-utils "^1.1.0"
-
mime "^2.0.3"
-
schema-utils "^1.0.0"
-
url-loader@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b"
···
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
dependencies:
punycode "1.3.2"
querystring "0.2.0"
···
dependencies:
inherits "2.0.1"
util@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
···
version "2.0.6"
resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e"
-
vfile-message@*:
version "2.0.2"
resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.2.tgz#75ba05090ec758fa8420f2c11ce049bcddd8cf3e"
dependencies:
"@types/unist" "^2.0.0"
unist-util-stringify-position "^2.0.0"
-
vfile-message@^1.0.0:
-
version "1.1.1"
-
resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1"
-
dependencies:
-
unist-util-stringify-position "^1.1.1"
-
-
vfile@^3.0.0:
-
version "3.0.1"
-
resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803"
dependencies:
is-buffer "^2.0.0"
replace-ext "1.0.0"
-
unist-util-stringify-position "^1.0.0"
-
vfile-message "^1.0.0"
vinyl-sourcemaps-apply@^0.2.0:
version "0.2.1"
···
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
dependencies:
defaults "^1.0.3"
webidl-conversions@^4.0.2:
version "4.0.2"
···
source-list-map "^2.0.0"
source-map "~0.6.1"
-
webpack@^4.39.2, webpack@^4.41.6:
version "4.41.6"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.6.tgz#12f2f804bf6542ef166755050d4afbc8f66ba7e1"
dependencies:
···
throat "^4.1.0"
yargs "^11.1.1"
-
x-is-string@^0.1.0:
-
version "0.1.0"
-
resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
-
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
···
yaml@^1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2"
dependencies:
"@babel/runtime" "^7.6.3"
···
yeast@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
···
optionalDependencies:
chokidar "^2.1.8"
+
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.0", "@babel/code-frame@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
dependencies:
···
invariant "^2.2.4"
semver "^5.5.0"
+
"@babel/core@7.8.0":
+
version "7.8.0"
+
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.0.tgz#fd273d4faf69cc20ee3ccfd32d42df916bb4a15c"
+
integrity sha512-3rqPi/bv/Xfu2YzHvBz4XqMI1fKVwnhntPA1/fjoECrSjrhbOCxlTrbVu5gUtr8zkxW+RpkDOa/HCW93gzS2Dw==
+
dependencies:
+
"@babel/code-frame" "^7.8.0"
+
"@babel/generator" "^7.8.0"
+
"@babel/helpers" "^7.8.0"
+
"@babel/parser" "^7.8.0"
+
"@babel/template" "^7.8.0"
+
"@babel/traverse" "^7.8.0"
+
"@babel/types" "^7.8.0"
+
convert-source-map "^1.7.0"
+
debug "^4.1.0"
+
gensync "^1.0.0-beta.1"
+
json5 "^2.1.0"
+
lodash "^4.17.13"
+
resolve "^1.3.2"
+
semver "^5.4.1"
+
source-map "^0.5.0"
+
"@babel/core@^7.1.0", "@babel/core@^7.2.0", "@babel/core@^7.5.5", "@babel/core@^7.7.5", "@babel/core@^7.7.7":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e"
···
semver "^5.4.1"
source-map "^0.5.0"
+
"@babel/generator@^7.8.0", "@babel/generator@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.4.tgz#35bbc74486956fe4251829f9f6c48330e8d0985e"
dependencies:
···
dependencies:
"@babel/types" "^7.8.3"
+
"@babel/helper-plugin-utils@7.8.0":
+
version "7.8.0"
+
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz#59ec882d43c21c544ccb51decaecb306b34a8231"
+
integrity sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==
+
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
···
"@babel/traverse" "^7.8.3"
"@babel/types" "^7.8.3"
+
"@babel/helpers@^7.8.0", "@babel/helpers@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73"
dependencies:
···
esutils "^2.0.2"
js-tokens "^4.0.0"
+
"@babel/parser@^7.1.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.0", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8"
···
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+
+
"@babel/plugin-proposal-object-rest-spread@7.8.0":
+
version "7.8.0"
+
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.0.tgz#ca8ac673d32db774c2154a4c7517fd46ec45e9cf"
+
integrity sha512-SjJ2ZXCylpWC+5DTES0/pbpNmw/FnjU/3dF068xF0DU9aN+oOKah+3MCSFcb4pnZ9IwmxfOy4KnbGJSQR+hAZA==
+
dependencies:
+
"@babel/helper-plugin-utils" "^7.8.0"
+
"@babel/plugin-syntax-object-rest-spread" "^7.8.0"
"@babel/plugin-proposal-object-rest-spread@^7.8.3":
version "7.8.3"
···
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
+
"@babel/plugin-syntax-jsx@7.8.0":
+
version "7.8.0"
+
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.0.tgz#657a0306e2c74de84e0dcf8b6cb024ed990224fc"
+
integrity sha512-zLDUckAuKeOtxJhfNE0TlR7iEApb2u7EYRlh5cxKzq6A5VzUbYEdyJGJlug41jDbjRbHTtsLKZUnUcy/8V3xZw==
+
dependencies:
+
"@babel/helper-plugin-utils" "^7.8.0"
+
"@babel/plugin-syntax-jsx@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94"
···
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
+
"@babel/plugin-syntax-object-rest-spread@7.8.0":
+
version "7.8.0"
+
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.0.tgz#9b37d580d459682364d8602494c69145b394fd4c"
+
integrity sha512-dt89fDlkfkTrQcy5KavMQPyF2A6tR0kYp8HAnIoQv5hO34iAUffHghP/hMGd7Gf/+uYTmLQO0ar7peX1SUWyIA==
+
dependencies:
+
"@babel/helper-plugin-utils" "^7.8.0"
+
"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
···
dependencies:
regenerator-runtime "^0.13.2"
+
"@babel/template@^7.7.4", "@babel/template@^7.8.0", "@babel/template@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8"
dependencies:
···
"@babel/parser" "^7.8.3"
"@babel/types" "^7.8.3"
+
"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.0", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.4.tgz#f0845822365f9d5b0e312ed3959d3f827f869e3c"
dependencies:
···
globals "^11.1.0"
lodash "^4.17.13"
+
"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.8.0", "@babel/types@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c"
dependencies:
···
version "2.0.0"
resolved "https://registry.yarnpkg.com/@kristoferbaxter/estree-walker/-/estree-walker-2.0.0.tgz#52ee40f9f8b59bbf00cac477a777aeb830ea5952"
+
"@mdx-js/loader@^1.3.0":
+
version "1.5.5"
+
resolved "https://registry.yarnpkg.com/@mdx-js/loader/-/loader-1.5.5.tgz#b658534153b3faab8f93ffc790c868dacc5b43d3"
+
integrity sha512-2/2WX73qj79Kv2cYk14kQsN/aypAH3RPzuNMx1gxwZjj77G0N6tzhM9WFkEDM/SXjasWep03ZmSRb9d//b2D8w==
+
dependencies:
+
"@mdx-js/mdx" "^1.5.5"
+
"@mdx-js/react" "^1.5.5"
+
loader-utils "1.2.3"
+
+
"@mdx-js/mdx@^1.5.5":
+
version "1.5.5"
+
resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.5.5.tgz#09dc8932af84e5baf5add2625ad0250a117c3363"
+
integrity sha512-Xv1lJ+VWt8giWQrqf4GdIBxl08SfepfIWAnuuIzuR+wA59SaXDvkW6XFIvl8u495OQEB1eugMvq8l2XR8ZGr1A==
+
dependencies:
+
"@babel/core" "7.8.0"
+
"@babel/plugin-syntax-jsx" "7.8.0"
+
"@babel/plugin-syntax-object-rest-spread" "7.8.0"
+
"@mdx-js/util" "^1.5.5"
+
babel-plugin-apply-mdx-type-prop "^1.5.5"
+
babel-plugin-extract-import-names "^1.5.5"
+
camelcase-css "2.0.1"
+
detab "2.0.2"
+
hast-util-raw "5.0.1"
+
lodash.uniq "4.5.0"
+
mdast-util-to-hast "6.0.2"
+
remark-mdx "^1.5.5"
+
remark-parse "7.0.2"
+
remark-squeeze-paragraphs "3.0.4"
+
style-to-object "0.3.0"
+
unified "8.4.2"
+
unist-builder "1.0.4"
+
unist-util-visit "2.0.1"
+
+
"@mdx-js/react@^1.5.5":
+
version "1.5.5"
+
resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.5.5.tgz#0036e65ec59521059f33292f535b9ef0d67bd0e6"
+
integrity sha512-Qwvri4zyU9ZbhhXsH0wfSZ/J9b8mARRTB6GSCTnyKRffO2CaQXl9oLsvRAeQSLRei/onEARc+RexH+jMeNS1rw==
+
+
"@mdx-js/util@^1.5.5":
+
version "1.5.5"
+
resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.5.5.tgz#6f88bcb847ebd0117fc81bcd26b83220062fd881"
+
integrity sha512-IudQkyZuM8T1CrSX9r0ShPXCABjtEtyrV4lxQqhKAwFqw1aYpy/5LOZhitMLoJTybZPVdPotuh+zjqYy9ZOSbA==
+
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
···
"@types/react-dom" "*"
"@types/testing-library__dom" "*"
+
"@types/unist@^2.0.0", "@types/unist@^2.0.2":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
"@types/use-subscription@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/use-subscription/-/use-subscription-1.0.0.tgz#d146f8d834f70f50d48bd8246a481d096f11db19"
"@types/yargs-parser@*":
version "15.0.0"
···
loader-utils "^1.0.2"
mkdirp "^0.5.1"
pify "^4.0.1"
+
+
babel-plugin-apply-mdx-type-prop@^1.5.5:
+
version "1.5.5"
+
resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.5.5.tgz#b5f6333b445f1ec189949225f9309d67c24cf167"
+
integrity sha512-yaklz3xE5vFtZpPpYC9lDbTqlC6hq0CjgheiLw3i40lY8vG0DINh+HJ7rq1Gi1g0q/iihwetJ+YFGpUM4YXAGA==
+
dependencies:
+
"@babel/helper-plugin-utils" "7.8.0"
+
"@mdx-js/util" "^1.5.5"
babel-plugin-closure-elimination@^1.3.0:
version "1.3.0"
···
dependencies:
object.assign "^4.1.0"
+
babel-plugin-extract-import-names@^1.5.5:
+
version "1.5.5"
+
resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.5.5.tgz#34ce3332d2802442286c9cfde6ba8198d5f5e7de"
+
integrity sha512-F9paxnUtO3vddyOX+vbRa8KrkuovJIFB8KmB/dEICqTUm2331LcGbjCKzZApOri4Igbk9MnYybm2fDsuPJC3vA==
+
dependencies:
+
"@babel/helper-plugin-utils" "7.8.0"
+
babel-plugin-istanbul@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765"
···
no-case "^2.2.0"
upper-case "^1.1.1"
+
camelcase-css@2.0.1:
+
version "2.0.1"
+
resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
+
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
+
camelcase-keys@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77"
···
tunnel-agent "^0.6.0"
url-to-options "^1.0.1"
+
ccount@^1.0.0, ccount@^1.0.3:
version "1.0.5"
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17"
···
cli-width@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
clipboardy@1.2.3:
version "1.2.3"
···
dependencies:
delayed-stream "~1.0.0"
+
comma-separated-tokens@^1.0.0:
version "1.0.8"
resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
···
domutils "^1.7.0"
nth-check "^1.0.2"
+
css-selector-parser@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.3.0.tgz#5f1ad43e2d8eefbfdc304fcd39a521664943e3eb"
+
integrity sha1-XxrUPi2O77/cME/NOaUhZklD4+s=
css-to-react-native@^3.0.0:
version "3.0.0"
···
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
···
version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+
detab@2.0.2:
+
version "2.0.2"
+
resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.2.tgz#074970d1a807b045d0258a4235df5928dd683561"
+
integrity sha512-Q57yPrxScy816TTE1P/uLRXLDKjXhvYTbfxS/e6lPD+YrqghbsMlGB9nQzj/zVtSPaF0DFPSdO916EWO4sQUyQ==
+
dependencies:
+
repeat-string "^1.5.4"
+
detab@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.3.tgz#33e5dd74d230501bd69985a0d2b9a3382699a130"
···
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+
+
emojis-list@^3.0.0:
+
version "3.0.0"
+
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
encodeurl@~1.0.2:
version "1.0.2"
···
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
+
exenv@^1.2.2:
+
version "1.2.2"
+
resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d"
+
integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=
+
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
···
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
gensync@^1.0.0-beta.1:
version "1.0.0-beta.1"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
···
q "~1.4.1"
shelljs "~0.5.3"
+
github-slugger@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.1.tgz#47e904e70bf2dccd0014748142d31126cfd49508"
dependencies:
···
pify "^4.0.1"
slash "^2.0.0"
google-closure-compiler-java@^20200112.0.0:
version "20200112.0.0"
resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20200112.0.0.tgz#2b99f5e2869a573a1b35558ff3b6e6bc054a116f"
···
url-parse-lax "^3.0.0"
url-to-options "^1.0.1"
+
graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
···
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
+
hast-to-hyperscript@^7.0.0:
+
version "7.0.4"
+
resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-7.0.4.tgz#7c4c037d9a8ea19b0a3fdb676a26448ad922353d"
+
integrity sha512-vmwriQ2H0RPS9ho4Kkbf3n3lY436QKLq6VaGA1pzBh36hBi3tm1DO9bR+kaJIbpT10UqaANDkMjxvjVfr+cnOA==
+
dependencies:
+
comma-separated-tokens "^1.0.0"
+
property-information "^5.3.0"
+
space-separated-tokens "^1.0.0"
+
style-to-object "^0.2.1"
+
unist-util-is "^3.0.0"
+
web-namespaces "^1.1.2"
+
hast-util-from-parse5@^5.0.0:
+
version "5.0.2"
+
resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.2.tgz#afeadc6aab41e6acfe038645bbefd4005c56a475"
+
integrity sha512-YXFjoRS7ES7PEoLx6uihtSfKTO1s3z/tzGiV5cVpsUiihduogFXubNRCzTIW3yOOGO1nws9CxPq4MbwD39Uo+w==
dependencies:
+
ccount "^1.0.3"
+
hastscript "^5.0.0"
+
property-information "^5.0.0"
+
web-namespaces "^1.1.2"
xtend "^4.0.1"
+
hast-util-parse-selector@^2.0.0:
+
version "2.2.3"
+
resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.3.tgz#57edd449103900c7f63fd9e6f694ffd7e4634719"
+
integrity sha512-nxbeqjQNxsvo/uYYAw9kij6td05YVUlf1qti09rVfbWSLT5H6wo3c+USIwX6nzXWk5kFZzXnEqO82856r0aM2Q==
+
+
hast-util-raw@5.0.1:
+
version "5.0.1"
+
resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-5.0.1.tgz#b39539cf4b9f7ccdc131f72a583502a7911b99ee"
+
integrity sha512-iHo7G6BjRc/GU1Yun5CIEXjil0wVnIbz11C6k0JdDichSDMtYi2+NNtk6YN7EOP0JfPstX30d3pRLfaJv5CkdA==
dependencies:
+
hast-util-from-parse5 "^5.0.0"
+
hast-util-to-parse5 "^5.0.0"
+
html-void-elements "^1.0.1"
+
parse5 "^5.0.0"
+
unist-util-position "^3.0.0"
+
web-namespaces "^1.0.0"
xtend "^4.0.1"
+
zwitch "^1.0.0"
+
hast-util-to-parse5@^5.0.0:
+
version "5.1.1"
+
resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-5.1.1.tgz#cabf2dbe9ed988a5128fc708457b37cdf535a2e8"
+
integrity sha512-ivCeAd5FCXr7bapJIVsWMnx/EmbjkkW2TU2hd1prq+jGwiaUoK+FcpjyPNwsC5ogzCwWO669tOqIovGeLc/ntg==
+
dependencies:
+
hast-to-hyperscript "^7.0.0"
+
property-information "^5.0.0"
+
web-namespaces "^1.0.0"
+
xtend "^4.0.1"
+
zwitch "^1.0.0"
+
+
hastscript@^5.0.0:
+
version "5.1.1"
+
resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.1.tgz#71726ee1e97220575d1f29a8e937387d99d48275"
+
integrity sha512-xHo1Hkcqd0LlWNuDL3/BxwhgAGp3d7uEvCMgCTrBY+zsOooPPH+8KAvW8PCgl+GB8H3H44nfSaF0A4BQ+4xlYg==
+
dependencies:
+
comma-separated-tokens "^1.0.0"
+
hast-util-parse-selector "^2.0.0"
+
property-information "^5.0.0"
+
space-separated-tokens "^1.0.0"
he@1.2.x:
version "1.2.0"
···
relateurl "0.2.x"
uglify-js "3.4.x"
+
html-void-elements@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483"
···
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+
inline-style-parser@0.1.1:
+
version "0.1.1"
+
resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
+
integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
+
inquirer-autocomplete-prompt@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.0.2.tgz#3f2548f73dd12f0a541be055ea9c8c7aedeb42bf"
···
dependencies:
kind-of "^6.0.0"
+
is-alphabetical@1.0.3:
+
version "1.0.3"
+
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8"
+
integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==
+
is-alphabetical@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
···
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
+
is-decimal@^1.0.0, is-decimal@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
···
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+
is-plain-obj@^2.0.0:
+
version "2.1.0"
+
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+
integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
···
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+
is-whitespace-character@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7"
···
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+
js-yaml@^3.13.1, js-yaml@^3.6.1:
version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
dependencies:
···
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
kleur@^3.0.0, kleur@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
···
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
+
loader-utils@1.2.3:
+
version "1.2.3"
+
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
+
dependencies:
+
big.js "^5.2.2"
+
emojis-list "^2.0.0"
+
json5 "^1.0.1"
+
loader-utils@^0.2.16:
version "0.2.17"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
···
json5 "^0.5.0"
object-assign "^4.0.1"
+
loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
+
version "1.4.0"
+
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
+
integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
dependencies:
big.js "^5.2.2"
+
emojis-list "^3.0.0"
json5 "^1.0.1"
loadjs@^4.2.0:
···
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
+
lodash.uniq@4.5.0, lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
···
inherits "^2.0.1"
safe-buffer "^5.1.2"
+
mdast-squeeze-paragraphs@^3.0.0:
+
version "3.0.5"
+
resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-3.0.5.tgz#f428b6b944f8faef454db9b58f170c4183cb2e61"
+
integrity sha512-xX6Vbe348Y/rukQlG4W3xH+7v4ZlzUbSY4HUIQCuYrF2DrkcHx584mCaFxkWoDZKNUfyLZItHC9VAqX3kIP7XA==
+
dependencies:
+
unist-util-remove "^1.0.0"
+
mdast-util-compact@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593"
···
dependencies:
unist-util-visit "^1.0.0"
+
mdast-util-to-hast@6.0.2:
+
version "6.0.2"
+
resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-6.0.2.tgz#24a8791b7c624118637d70f03a9d29116e4311cf"
+
integrity sha512-GjcOimC9qHI0yNFAQdBesrZXzUkRdFleQlcoU8+TVNfDW6oLUazUx8MgUoTaUyCJzBOnE5AOgqhpURrSlf0QwQ==
dependencies:
collapse-white-space "^1.0.0"
detab "^2.0.0"
···
unist-util-visit "^1.1.0"
xtend "^4.0.1"
+
mdast-util-to-string@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.7.tgz#62d8e9c6b2113070d8b497c7dc35bf12796f06ee"
mdn-data@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
···
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+
mime@^2.4.4:
version "2.4.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
···
version "3.3.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
+
not@^0.1.0:
+
version "0.1.0"
+
resolved "https://registry.yarnpkg.com/not/-/not-0.1.0.tgz#c9691c1746c55dcfbe54cbd8bd4ff041bc2b519d"
+
integrity sha1-yWkcF0bFXc++VMvYvU/wQbwrUZ0=
+
npm-conf@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9"
···
dependencies:
path-key "^3.0.0"
+
nth-check@^1.0.0, nth-check@^1.0.2, nth-check@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
dependencies:
···
json-parse-better-errors "^1.0.1"
lines-and-columns "^1.1.6"
parse5@5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
+
+
parse5@^5.0.0:
+
version "5.1.1"
+
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
+
integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
parseqs@0.0.5:
version "0.0.5"
···
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+
path@^0.12.7:
+
version "0.12.7"
+
resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f"
+
integrity sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=
+
dependencies:
+
process "^0.11.1"
+
util "^0.10.3"
+
pbkdf2@^3.0.3:
version "3.0.17"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
···
ansi-styles "^4.0.0"
react-is "^16.12.0"
+
prism-react-renderer@^1.0.2:
+
version "1.0.2"
+
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.0.2.tgz#3bb9a6a42f76fc049b03266298c7068fdd4b7ea9"
+
integrity sha512-0++pJyRfu4v2OxI/Us/5RLui9ESDkTiLkVCtKuPZYdpB8UQWJpnJQhPrWab053XtsKW3oM0sD69uJ6N9exm1Ag==
private@^0.1.6:
version "0.1.8"
···
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+
process@^0.11.1, process@^0.11.10:
version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
···
object-assign "^4.1.1"
react-is "^16.8.1"
+
property-information@^5.0.0, property-information@^5.3.0:
+
version "5.4.0"
+
resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.4.0.tgz#16e08f13f4e5c4a7be2e4ec431c01c4f8dba869a"
+
integrity sha512-nmMWAm/3vKFGmmOWOcdLjgq/Hlxa+hsuR/px1Lp/UGEyc5A22A6l78Shc2C0E71sPmAqglni+HrS7L7VJ7AUCA==
dependencies:
+
xtend "^4.0.0"
proto-list@~1.2.1:
version "1.2.4"
···
iconv-lite "0.4.24"
unpipe "1.0.0"
raw-loader@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-3.1.0.tgz#5e9d399a5a222cc0de18f42c3bc5e49677532b3f"
···
version "2.0.4"
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
+
react-from-dom@^0.3.0:
+
version "0.3.1"
+
resolved "https://registry.yarnpkg.com/react-from-dom/-/react-from-dom-0.3.1.tgz#49ba6e7d679314807786aa88a37436ec73637bce"
+
integrity sha512-PeNBa8iuzoD7qHA9O7YpGnXFvC+XFFwStmFh2/r2zJAvEIaRg6EwOj+EPcDIFwyYBhqPIItxIx/dGdeWiFivjQ==
+
react-ga@^2.4.1:
version "2.7.0"
resolved "https://registry.yarnpkg.com/react-ga/-/react-ga-2.7.0.tgz#24328f157f31e8cffbf4de74a3396536679d8d7c"
···
shallowequal "^1.1.0"
source-map "^0.7.3"
+
react-inlinesvg@^1.2.0:
+
version "1.2.0"
+
resolved "https://registry.yarnpkg.com/react-inlinesvg/-/react-inlinesvg-1.2.0.tgz#fa63bda004ed941449a034574269ad4819cdbc8d"
+
integrity sha512-IsznU+UzpUwDGzBWbf0bfSRA5Jbqz87xeoqLM/nSIDPkoHksInF1wCGybTSn4sIui+30TqboRQP1wAelNTkdog==
+
dependencies:
+
exenv "^1.2.2"
+
react-from-dom "^0.3.0"
+
react-is@^16.12.0, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6:
version "16.12.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c"
···
dependencies:
object-is "^1.0.1"
+
react-static-plugin-md-pages@^0.1.0:
+
version "0.1.0"
+
resolved "https://registry.yarnpkg.com/react-static-plugin-md-pages/-/react-static-plugin-md-pages-0.1.0.tgz#2e6ff6e8900b42e284008cc6ab8af9675ab95df7"
+
integrity sha512-xmtgf7PfChjcsVtq0ifvVaQgem1NRRADerUiK41gK6b/c9gQkDE0tE5YL5PTfKaHePFfk2g58HQUsl8c4MO6rw==
+
dependencies:
+
"@mdx-js/mdx" "^1.5.5"
+
"@mdx-js/react" "^1.5.5"
+
github-slugger "^1.2.1"
+
glob "^7.1.6"
+
loader-utils "^1.4.0"
+
mdast-util-to-string "^1.0.7"
+
remark "^11.0.2"
+
remark-frontmatter "^1.3.2"
+
remark-squeeze-paragraphs "^3.0.4"
+
to-vfile "^6.0.0"
+
unist-util-remove "^2.0.0"
+
unist-util-select "^3.0.1"
+
unist-util-visit "^2.0.2"
+
yaml "^1.7.2"
+
+
react-static-plugin-mdx@^7.2.2:
+
version "7.2.2"
+
resolved "https://registry.yarnpkg.com/react-static-plugin-mdx/-/react-static-plugin-mdx-7.2.2.tgz#c90884103ea1c6007a502bf0efadd18e4be4f4a7"
+
integrity sha512-f0T/vq5cryIRvztt2tjpp3AjNdvR1krxl9ADR27AVK2StnFk2T20HraVsTdFDa1FUDrYwRP07JczUZV9gcFtzw==
+
dependencies:
+
"@mdx-js/loader" "^1.3.0"
+
react-static-plugin-react-router@^7.2.3:
version "7.2.3"
resolved "https://registry.yarnpkg.com/react-static-plugin-react-router/-/react-static-plugin-react-router-7.2.3.tgz#9f12b10b245565f187b7e1795e14b9e982aa26ba"
···
version "0.2.7"
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
+
remark-frontmatter@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-1.3.2.tgz#91d9684319cd1b96cc3d9d901f10a978f39c752d"
dependencies:
fault "^1.0.1"
xtend "^4.0.1"
+
remark-mdx@^1.5.5:
+
version "1.5.5"
+
resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.5.5.tgz#7def5f778c8454b6ef7747ecb2f01376b994b884"
+
integrity sha512-w1XW9UzsQ6XAecV59dP8LJWn4tMftaXGwH5LEvUU5uIEJEJvHDE1jkKiPr3ow2IuhjuRfWs3b079Jtnk5qlUgQ==
dependencies:
+
"@babel/core" "7.8.0"
+
"@babel/helper-plugin-utils" "7.8.0"
+
"@babel/plugin-proposal-object-rest-spread" "7.8.0"
+
"@babel/plugin-syntax-jsx" "7.8.0"
+
"@mdx-js/util" "^1.5.5"
+
is-alphabetical "1.0.3"
+
remark-parse "7.0.2"
+
unified "8.4.2"
+
remark-parse@7.0.2, remark-parse@^7.0.0:
+
version "7.0.2"
+
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf"
+
integrity sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==
dependencies:
collapse-white-space "^1.0.2"
is-alphabetical "^1.0.0"
···
vfile-location "^2.0.0"
xtend "^4.0.1"
+
remark-squeeze-paragraphs@3.0.4, remark-squeeze-paragraphs@^3.0.4:
+
version "3.0.4"
+
resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-3.0.4.tgz#9fe50c3bf3b572dd88754cd426ada007c0b8dc5f"
+
integrity sha512-Wmz5Yj9q+W1oryo8BV17JrOXZgUKVcpJ2ApE2pwnoHwhFKSk4Wp2PmFNbmJMgYSqAdFwfkoe+TSYop5Fy8wMgA==
dependencies:
+
mdast-squeeze-paragraphs "^3.0.0"
+
remark-stringify@^7.0.0:
+
version "7.0.4"
+
resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-7.0.4.tgz#3de1e3f93853288d3407da1cd44f2212321dd548"
+
integrity sha512-qck+8NeA1D0utk1ttKcWAoHRrJxERYQzkHDyn+pF5Z4whX1ug98uCNPPSeFgLSaNERRxnD6oxIug6DzZQth6Pg==
dependencies:
ccount "^1.0.0"
is-alphanumeric "^1.0.0"
···
parse-entities "^1.0.2"
repeat-string "^1.5.4"
state-toggle "^1.0.0"
+
stringify-entities "^2.0.0"
unherit "^1.0.4"
xtend "^4.0.1"
+
remark@^11.0.2:
+
version "11.0.2"
+
resolved "https://registry.yarnpkg.com/remark/-/remark-11.0.2.tgz#12b90ea100ac3362b1976fa87a6e4e0ab5968202"
+
integrity sha512-bh+eJgn8wgmbHmIBOuwJFdTVRVpl3fcVP6HxmpPWO0ULGP9Qkh6INJh0N5Uy7GqlV7DQYGoqaKiEIpM5LLvJ8w==
dependencies:
+
remark-parse "^7.0.0"
+
remark-stringify "^7.0.0"
+
unified "^8.2.0"
remove-accents@0.4.2:
version "0.4.2"
···
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
selfsigned@^1.10.7:
version "1.10.7"
···
dependencies:
safe-buffer "~5.1.0"
+
stringify-entities@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-2.0.0.tgz#fa7ca6614b355fb6c28448140a20c4ede7462827"
+
integrity sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A==
dependencies:
character-entities-html4 "^1.0.0"
character-entities-legacy "^1.0.0"
is-alphanumerical "^1.0.0"
+
is-decimal "^1.0.2"
is-hexadecimal "^1.0.0"
stringify-object@^3.3.0:
···
dependencies:
loader-utils "^1.1.0"
schema-utils "^1.0.0"
+
+
style-to-object@0.3.0:
+
version "0.3.0"
+
resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46"
+
integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==
+
dependencies:
+
inline-style-parser "0.1.1"
+
+
style-to-object@^0.2.1:
+
version "0.2.3"
+
resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.2.3.tgz#afcf42bc03846b1e311880c55632a26ad2780bcb"
+
integrity sha512-1d/k4EY2N7jVLOqf2j04dTc37TPOv/hHxZmvpg8Pdh8UYydxeu/C1W1U4vD8alzf5V2Gt7rLsmkr4dxAlDm9ng==
+
dependencies:
+
inline-style-parser "0.1.1"
styled-components@^5.0.1:
version "5.0.1"
···
version "0.3.0"
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
tiny-invariant@^1.0.2:
version "1.1.0"
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875"
···
extend-shallow "^3.0.2"
regex-not "^1.0.2"
safe-regex "^1.1.0"
+
+
to-vfile@^6.0.0:
+
version "6.0.0"
+
resolved "https://registry.yarnpkg.com/to-vfile/-/to-vfile-6.0.0.tgz#96c4aa0ee09c51dd4e8fd0b9c11da040d7dba9ea"
+
integrity sha512-i9fwXXSsHLu7mzgixc1WjgnqSe6pGpjnzCYoFmrASvEueLfyKf09QAe+XQYu8OAJ62aFqHpe2EKXojeRVvEzqA==
+
dependencies:
+
is-buffer "^2.0.0"
+
vfile "^4.0.0"
toidentifier@1.0.0:
version "1.0.0"
···
version "1.0.5"
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
+
unified@8.4.2, unified@^8.2.0:
+
version "8.4.2"
+
resolved "https://registry.yarnpkg.com/unified/-/unified-8.4.2.tgz#13ad58b4a437faa2751a4a4c6a16f680c500fff1"
+
integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==
dependencies:
bail "^1.0.0"
extend "^3.0.0"
+
is-plain-obj "^2.0.0"
trough "^1.0.0"
+
vfile "^4.0.0"
union-value@^1.0.0:
version "1.0.1"
···
dependencies:
imurmurhash "^0.1.4"
+
unist-builder@1.0.4, unist-builder@^1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz#e1808aed30bd72adc3607f25afecebef4dd59e17"
dependencies:
···
unist-util-generated@^1.1.0:
version "1.1.5"
resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.5.tgz#1e903e68467931ebfaea386dae9ea253628acd42"
unist-util-is@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd"
+
unist-util-is@^4.0.0:
+
version "4.0.2"
+
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.0.2.tgz#c7d1341188aa9ce5b3cff538958de9895f14a5de"
+
integrity sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==
+
unist-util-position@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.4.tgz#5872be7aec38629b971fdb758051f78817b0040a"
···
dependencies:
unist-util-visit "^1.1.0"
+
unist-util-remove@^1.0.0:
+
version "1.0.3"
+
resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-1.0.3.tgz#58ec193dfa84b52d5a055ffbc58e5444eb8031a3"
+
integrity sha512-mB6nCHCQK0pQffUAcCVmKgIWzG/AXs/V8qpS8K72tMPtOSCMSjDeMc5yN+Ye8rB0FhcE+JvW++o1xRNc0R+++g==
+
dependencies:
+
unist-util-is "^3.0.0"
+
+
unist-util-remove@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.0.0.tgz#32c2ad5578802f2ca62ab808173d505b2c898488"
+
integrity sha512-HwwWyNHKkeg/eXRnE11IpzY8JT55JNM1YCwwU9YNCnfzk6s8GhPXrVBBZWiwLeATJbI7euvoGSzcy9M29UeW3g==
dependencies:
+
unist-util-is "^4.0.0"
+
unist-util-select@^3.0.1:
+
version "3.0.1"
+
resolved "https://registry.yarnpkg.com/unist-util-select/-/unist-util-select-3.0.1.tgz#787fc452db9ba77f0ade0e7dc53c3d9d4acc79c7"
+
integrity sha512-VQpTuqZVJlRbosQdnLdTPIIqwZeU70YZ5aMBOqtFNGeeCdYn6ORZt/9RiaVlbl06ocuf58SVMoFa7a13CSGPMA==
+
dependencies:
+
css-selector-parser "^1.0.0"
+
not "^0.1.0"
+
nth-check "^1.0.0"
+
unist-util-is "^4.0.0"
+
zwitch "^1.0.0"
unist-util-stringify-position@^2.0.0:
version "2.0.2"
···
dependencies:
unist-util-is "^3.0.0"
+
unist-util-visit-parents@^3.0.0:
+
version "3.0.2"
+
resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz#d4076af3011739c71d2ce99d05de37d545f4351d"
+
integrity sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==
+
dependencies:
+
"@types/unist" "^2.0.0"
+
unist-util-is "^4.0.0"
+
+
unist-util-visit@2.0.1:
+
version "2.0.1"
+
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.1.tgz#b4e1c1cb414250c6b3cb386b8e461d79312108ae"
+
integrity sha512-bEDa5S/O8WRDeI1mLaMoKuFFi89AjF+UAoMNxO+bbVdo06q+53Vhq4iiv1PenL6Rx1ZxIpXIzqZoc5HD2I1oMA==
+
dependencies:
+
"@types/unist" "^2.0.0"
+
unist-util-is "^4.0.0"
+
unist-util-visit-parents "^3.0.0"
+
+
unist-util-visit@^1.0.0, unist-util-visit@^1.1.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
dependencies:
unist-util-visit-parents "^2.0.0"
+
+
unist-util-visit@^2.0.2:
+
version "2.0.2"
+
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.2.tgz#3843782a517de3d2357b4c193b24af2d9366afb7"
+
integrity sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==
+
dependencies:
+
"@types/unist" "^2.0.0"
+
unist-util-is "^4.0.0"
+
unist-util-visit-parents "^3.0.0"
universalify@^0.1.0:
version "0.1.2"
···
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
url-loader@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b"
···
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+
integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
dependencies:
punycode "1.3.2"
querystring "0.2.0"
···
dependencies:
inherits "2.0.1"
+
util@^0.10.3:
+
version "0.10.4"
+
resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
+
integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
+
dependencies:
+
inherits "2.0.3"
+
util@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
···
version "2.0.6"
resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e"
+
vfile-message@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.2.tgz#75ba05090ec758fa8420f2c11ce049bcddd8cf3e"
dependencies:
"@types/unist" "^2.0.0"
unist-util-stringify-position "^2.0.0"
+
vfile@^4.0.0:
+
version "4.0.2"
+
resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.2.tgz#71af004d4a710b0e6be99c894655bc56126d5d56"
+
integrity sha512-yhoTU5cDMSsaeaMfJ5g0bUKYkYmZhAh9fn9TZicxqn+Cw4Z439il2v3oT9S0yjlpqlI74aFOQCt3nOV+pxzlkw==
dependencies:
+
"@types/unist" "^2.0.0"
is-buffer "^2.0.0"
replace-ext "1.0.0"
+
unist-util-stringify-position "^2.0.0"
+
vfile-message "^2.0.0"
vinyl-sourcemaps-apply@^0.2.0:
version "0.2.1"
···
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
dependencies:
defaults "^1.0.3"
+
+
web-namespaces@^1.0.0, web-namespaces@^1.1.2:
+
version "1.1.4"
+
resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec"
+
integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==
webidl-conversions@^4.0.2:
version "4.0.2"
···
source-list-map "^2.0.0"
source-map "~0.6.1"
+
webpack@^4.39.2:
version "4.41.6"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.6.tgz#12f2f804bf6542ef166755050d4afbc8f66ba7e1"
dependencies:
···
throat "^4.1.0"
yargs "^11.1.1"
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
···
yaml@^1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2"
+
integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==
dependencies:
"@babel/runtime" "^7.6.3"
···
yeast@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
+
+
zwitch@^1.0.0:
+
version "1.0.5"
+
resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920"
+
integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==