added eslint
This commit is contained in:
parent
ccdb038817
commit
5689ce6332
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"env": {
|
||||||
|
"browser": true,
|
||||||
|
"es6": true
|
||||||
|
},
|
||||||
|
"extends": [
|
||||||
|
"plugin:react/recommended",
|
||||||
|
"airbnb"
|
||||||
|
],
|
||||||
|
"globals": {
|
||||||
|
"Atomics": "readonly",
|
||||||
|
"SharedArrayBuffer": "readonly"
|
||||||
|
},
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaFeatures": {
|
||||||
|
"jsx": true
|
||||||
|
},
|
||||||
|
"ecmaVersion": 11,
|
||||||
|
"sourceType": "module"
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
"react"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// custom typefaces
|
// custom typefaces
|
||||||
import "typeface-montserrat"
|
import 'typeface-montserrat';
|
||||||
import "typeface-merriweather"
|
import 'typeface-merriweather';
|
||||||
|
|
||||||
import "./src/styles/global.css";
|
import './src/styles/global.css';
|
||||||
import "prismjs/themes/prism-solarizedlight.css";
|
import 'prismjs/themes/prism-solarizedlight.css';
|
||||||
|
|
|
||||||
|
|
@ -1,50 +1,50 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
siteMetadata: {
|
siteMetadata: {
|
||||||
title: `While False Blog`,
|
title: 'While False Blog',
|
||||||
author: `Stephan Dörfler`,
|
author: 'Stephan Dörfler',
|
||||||
description: `Self-built developer blog based on gatsby.`,
|
description: 'Self-built developer blog based on gatsby.',
|
||||||
siteUrl: `https://blog.while-false.de`,
|
siteUrl: 'https://blog.while-false.de',
|
||||||
type: `website`,
|
type: 'website',
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
{
|
{
|
||||||
resolve: `gatsby-source-filesystem`,
|
resolve: 'gatsby-source-filesystem',
|
||||||
options: {
|
options: {
|
||||||
path: `${__dirname}/content/blog`,
|
path: `${__dirname}/content/blog`,
|
||||||
name: `blog`,
|
name: 'blog',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
resolve: `gatsby-source-filesystem`,
|
resolve: 'gatsby-source-filesystem',
|
||||||
options: {
|
options: {
|
||||||
path: `${__dirname}/content/assets`,
|
path: `${__dirname}/content/assets`,
|
||||||
name: `assets`,
|
name: 'assets',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
resolve: `gatsby-transformer-remark`,
|
resolve: 'gatsby-transformer-remark',
|
||||||
options: {
|
options: {
|
||||||
plugins: [
|
plugins: [
|
||||||
{
|
{
|
||||||
resolve: `gatsby-remark-images`,
|
resolve: 'gatsby-remark-images',
|
||||||
options: {
|
options: {
|
||||||
maxWidth: 590,
|
maxWidth: 590,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
resolve: `gatsby-remark-responsive-iframe`,
|
resolve: 'gatsby-remark-responsive-iframe',
|
||||||
options: {
|
options: {
|
||||||
wrapperStyle: `margin-bottom: 1.0725rem`,
|
wrapperStyle: 'margin-bottom: 1.0725rem',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
`gatsby-remark-prismjs`,
|
'gatsby-remark-prismjs',
|
||||||
`gatsby-remark-copy-linked-files`,
|
'gatsby-remark-copy-linked-files',
|
||||||
`gatsby-remark-smartypants`,
|
'gatsby-remark-smartypants',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
`gatsby-transformer-sharp`,
|
'gatsby-transformer-sharp',
|
||||||
`gatsby-plugin-sharp`,
|
'gatsby-plugin-sharp',
|
||||||
{
|
{
|
||||||
resolve: 'gatsby-plugin-matomo',
|
resolve: 'gatsby-plugin-matomo',
|
||||||
options: {
|
options: {
|
||||||
|
|
@ -52,8 +52,8 @@ module.exports = {
|
||||||
matomoUrl: 'https://matomo.while-false.de',
|
matomoUrl: 'https://matomo.while-false.de',
|
||||||
siteUrl: 'https://blog.while-false.de',
|
siteUrl: 'https://blog.while-false.de',
|
||||||
matomoPhpScript: 'matomo.php',
|
matomoPhpScript: 'matomo.php',
|
||||||
matomoJsScript: 'matomo.js'
|
matomoJsScript: 'matomo.js',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
resolve: 'gatsby-plugin-feed',
|
resolve: 'gatsby-plugin-feed',
|
||||||
|
|
@ -72,17 +72,14 @@ module.exports = {
|
||||||
`,
|
`,
|
||||||
feeds: [
|
feeds: [
|
||||||
{
|
{
|
||||||
serialize: ({ query: { site, allMarkdownRemark } }) => {
|
serialize: ({ query: { site, allMarkdownRemark } }) => allMarkdownRemark.edges.map((edge) => ({
|
||||||
return allMarkdownRemark.edges.map(edge => {
|
...edge.node.frontmatter,
|
||||||
return Object.assign({}, edge.node.frontmatter, {
|
description: edge.node.excerpt,
|
||||||
description: edge.node.excerpt,
|
date: edge.node.frontmatter.date,
|
||||||
date: edge.node.frontmatter.date,
|
url: site.siteMetadata.siteUrl + edge.node.fields.slug,
|
||||||
url: site.siteMetadata.siteUrl + edge.node.fields.slug,
|
guid: site.siteMetadata.siteUrl + edge.node.fields.slug,
|
||||||
guid: site.siteMetadata.siteUrl + edge.node.fields.slug,
|
custom_elements: [{ 'content:encoded': edge.node.html }],
|
||||||
custom_elements: [{ "content:encoded": edge.node.html }],
|
})),
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
query: `
|
query: `
|
||||||
{
|
{
|
||||||
allMarkdownRemark(
|
allMarkdownRemark(
|
||||||
|
|
@ -102,31 +99,31 @@ module.exports = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
output: "/rss.xml",
|
output: '/rss.xml',
|
||||||
title: "while-false blog RSS Feed"
|
title: 'while-false blog RSS Feed',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
resolve: `gatsby-plugin-manifest`,
|
resolve: 'gatsby-plugin-manifest',
|
||||||
options: {
|
options: {
|
||||||
name: `While False Blog`,
|
name: 'While False Blog',
|
||||||
short_name: `while-false`,
|
short_name: 'while-false',
|
||||||
start_url: `/`,
|
start_url: '/',
|
||||||
background_color: `#f9ebe0`,
|
background_color: '#f9ebe0',
|
||||||
theme_color: `#3b7080`,
|
theme_color: '#3b7080',
|
||||||
display: `minimal-ui`,
|
display: 'minimal-ui',
|
||||||
icon: `content/assets/logo.png`,
|
icon: 'content/assets/logo.png',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
`gatsby-plugin-offline`,
|
'gatsby-plugin-offline',
|
||||||
`gatsby-plugin-react-helmet`,
|
'gatsby-plugin-react-helmet',
|
||||||
{
|
{
|
||||||
resolve: `gatsby-plugin-typography`,
|
resolve: 'gatsby-plugin-typography',
|
||||||
options: {
|
options: {
|
||||||
pathToConfigModule: `src/utils/typography`,
|
pathToConfigModule: 'src/utils/typography',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
const path = require(`path`)
|
const path = require('path');
|
||||||
const { createFilePath } = require(`gatsby-source-filesystem`)
|
const { createFilePath } = require('gatsby-source-filesystem');
|
||||||
|
|
||||||
exports.createPages = async ({ graphql, actions }) => {
|
exports.createPages = async ({ graphql, actions }) => {
|
||||||
const { createPage } = actions
|
const { createPage } = actions;
|
||||||
|
|
||||||
const blogPost = path.resolve(`./src/templates/blog-post.js`)
|
const blogPost = path.resolve('./src/templates/blog-post.js');
|
||||||
const result = await graphql(
|
const result = await graphql(
|
||||||
`
|
`
|
||||||
{
|
{
|
||||||
|
|
@ -24,19 +24,19 @@ exports.createPages = async ({ graphql, actions }) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`,
|
||||||
)
|
);
|
||||||
|
|
||||||
if (result.errors) {
|
if (result.errors) {
|
||||||
throw result.errors
|
throw result.errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create blog posts pages.
|
// Create blog posts pages.
|
||||||
const posts = result.data.allMarkdownRemark.edges
|
const posts = result.data.allMarkdownRemark.edges;
|
||||||
|
|
||||||
posts.forEach((post, index) => {
|
posts.forEach((post, index) => {
|
||||||
const previous = index === posts.length - 1 ? null : posts[index + 1].node
|
const previous = index === posts.length - 1 ? null : posts[index + 1].node;
|
||||||
const next = index === 0 ? null : posts[index - 1].node
|
const next = index === 0 ? null : posts[index - 1].node;
|
||||||
|
|
||||||
createPage({
|
createPage({
|
||||||
path: post.node.fields.slug,
|
path: post.node.fields.slug,
|
||||||
|
|
@ -46,18 +46,18 @@ exports.createPages = async ({ graphql, actions }) => {
|
||||||
previous,
|
previous,
|
||||||
next,
|
next,
|
||||||
},
|
},
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
exports.onCreateNode = ({ node, actions, getNode }) => {
|
exports.onCreateNode = ({ node, actions, getNode }) => {
|
||||||
const { createNodeField } = actions
|
const { createNodeField } = actions;
|
||||||
if (node.internal.type === `MarkdownRemark`) {
|
if (node.internal.type === 'MarkdownRemark') {
|
||||||
const value = createFilePath({ node, getNode })
|
const value = createFilePath({ node, getNode });
|
||||||
createNodeField({
|
createNodeField({
|
||||||
name: `slug`,
|
name: 'slug',
|
||||||
node,
|
node,
|
||||||
value,
|
value,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
"author": "Stephan Dörfler <st.doerfler@outlook.com>",
|
"author": "Stephan Dörfler <st.doerfler@outlook.com>",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"gatsby": "^2.22.17",
|
"gatsby": "^2.22.17",
|
||||||
|
"gatsby-cli": "^2.12.45",
|
||||||
"gatsby-image": "^2.4.6",
|
"gatsby-image": "^2.4.6",
|
||||||
"gatsby-plugin-feed": "^2.5.4",
|
"gatsby-plugin-feed": "^2.5.4",
|
||||||
"gatsby-plugin-manifest": "^2.4.10",
|
"gatsby-plugin-manifest": "^2.4.10",
|
||||||
|
|
@ -34,7 +35,12 @@
|
||||||
"typography-theme-wordpress-2016": "^0.16.19"
|
"typography-theme-wordpress-2016": "^0.16.19"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^7.1.0",
|
"eslint": "^6.8.0",
|
||||||
|
"eslint-config-airbnb": "^18.1.0",
|
||||||
|
"eslint-plugin-import": "^2.21.2",
|
||||||
|
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||||
|
"eslint-plugin-react": "^7.20.0",
|
||||||
|
"eslint-plugin-react-hooks": "^2.5.1",
|
||||||
"prettier": "^2.0.5"
|
"prettier": "^2.0.5"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@
|
||||||
* See: https://www.gatsbyjs.org/docs/use-static-query/
|
* See: https://www.gatsbyjs.org/docs/use-static-query/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from "react"
|
import React from 'react';
|
||||||
import { useStaticQuery, graphql } from "gatsby"
|
import { useStaticQuery, graphql } from 'gatsby';
|
||||||
import Image from "gatsby-image"
|
import Image from 'gatsby-image';
|
||||||
|
|
||||||
import { rhythm } from "../utils/typography"
|
import { rhythm } from '../utils/typography';
|
||||||
|
|
||||||
const Bio = () => {
|
const Bio = () => {
|
||||||
const data = useStaticQuery(graphql`
|
const data = useStaticQuery(graphql`
|
||||||
|
|
@ -27,13 +27,13 @@ const Bio = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`)
|
`);
|
||||||
|
|
||||||
const { author } = data.site.siteMetadata
|
const { author } = data.site.siteMetadata;
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
display: `flex`,
|
display: 'flex',
|
||||||
marginBottom: rhythm(2.5),
|
marginBottom: rhythm(2.5),
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|
@ -44,18 +44,22 @@ const Bio = () => {
|
||||||
marginRight: rhythm(1 / 2),
|
marginRight: rhythm(1 / 2),
|
||||||
marginBottom: 0,
|
marginBottom: 0,
|
||||||
minWidth: 50,
|
minWidth: 50,
|
||||||
borderRadius: `100%`,
|
borderRadius: '100%',
|
||||||
}}
|
}}
|
||||||
imgStyle={{
|
imgStyle={{
|
||||||
borderRadius: `50%`,
|
borderRadius: '50%',
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<p>
|
<p>
|
||||||
Written by <strong>{author}</strong> who lives and works in Germany trying to build useful things.
|
Written by
|
||||||
{` `}
|
{' '}
|
||||||
|
<strong>{author}</strong>
|
||||||
|
{' '}
|
||||||
|
who lives and works in Germany trying to build useful things.
|
||||||
|
{' '}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default Bio
|
export default Bio;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
import React, { useEffect } from 'react';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper to add scripts to the page.
|
||||||
|
* @param {string} src The source path for the script to insert.
|
||||||
|
* @param {string} id The unique identifier for the script element to insert.
|
||||||
|
* @param {HTMLElement} parentElement The DOM element to insert the script into.
|
||||||
|
*/
|
||||||
|
const insertScript = (src, id, parentElement) => {
|
||||||
|
const script = window.document.createElement('script');
|
||||||
|
script.async = true;
|
||||||
|
script.src = src;
|
||||||
|
script.id = id;
|
||||||
|
parentElement.appendChild(script);
|
||||||
|
return script;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper to remove scripts from the page.
|
||||||
|
* @param {string} id The unique identifier for the script element to remove.
|
||||||
|
* @param {HTMLElement} parentElement The DOM element to remove the script from
|
||||||
|
*/
|
||||||
|
const removeScript = (id, parentElement) => {
|
||||||
|
const script = window.document.getElementById(id);
|
||||||
|
if (script) {
|
||||||
|
parentElement.removeChild(script);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const Commento = ({ id }) => {
|
||||||
|
useEffect(() => {
|
||||||
|
// If there's no window there's nothing to do for us
|
||||||
|
if (!window) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const { document } = window;
|
||||||
|
// In case our #commento container exists we can add our commento script
|
||||||
|
if (document.getElementById('commento')) {
|
||||||
|
insertScript('https://comments.while-false.de/js/commento.js', 'commento-script', document.body);
|
||||||
|
}
|
||||||
|
// Cleanup; remove the script from the page
|
||||||
|
return () => removeScript('commento-script', document.body);
|
||||||
|
}, [id]);
|
||||||
|
return <div id="commento" />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Commento;
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import React from "react"
|
import React from 'react';
|
||||||
import { Link } from "gatsby"
|
import { Link } from 'gatsby';
|
||||||
|
|
||||||
import { rhythm, scale } from "../utils/typography"
|
import { rhythm, scale } from '../utils/typography';
|
||||||
|
|
||||||
class Layout extends React.Component {
|
class Layout extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
const { location, title, children } = this.props
|
const { location, title, children } = this.props;
|
||||||
const rootPath = `${__PATH_PREFIX__}/`
|
const rootPath = `${__PATH_PREFIX__}/`;
|
||||||
let header
|
let header;
|
||||||
|
|
||||||
if (location.pathname === rootPath) {
|
if (location.pathname === rootPath) {
|
||||||
header = (
|
header = (
|
||||||
|
|
@ -20,56 +20,59 @@ class Layout extends React.Component {
|
||||||
>
|
>
|
||||||
<Link
|
<Link
|
||||||
style={{
|
style={{
|
||||||
boxShadow: `none`,
|
boxShadow: 'none',
|
||||||
textDecoration: `none`,
|
textDecoration: 'none',
|
||||||
color: `inherit`,
|
color: 'inherit',
|
||||||
}}
|
}}
|
||||||
to={`/`}
|
to="/"
|
||||||
>
|
>
|
||||||
{title}
|
{title}
|
||||||
</Link>
|
</Link>
|
||||||
</h1>
|
</h1>
|
||||||
)
|
);
|
||||||
} else {
|
} else {
|
||||||
header = (
|
header = (
|
||||||
<h3
|
<h3
|
||||||
style={{
|
style={{
|
||||||
fontFamily: `Montserrat, sans-serif`,
|
fontFamily: 'Montserrat, sans-serif',
|
||||||
marginTop: 0,
|
marginTop: 0,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Link
|
<Link
|
||||||
style={{
|
style={{
|
||||||
boxShadow: `none`,
|
boxShadow: 'none',
|
||||||
textDecoration: `none`,
|
textDecoration: 'none',
|
||||||
color: `inherit`,
|
color: 'inherit',
|
||||||
}}
|
}}
|
||||||
to={`/`}
|
to="/"
|
||||||
>
|
>
|
||||||
{title}
|
{title}
|
||||||
</Link>
|
</Link>
|
||||||
</h3>
|
</h3>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
marginLeft: `auto`,
|
marginLeft: 'auto',
|
||||||
marginRight: `auto`,
|
marginRight: 'auto',
|
||||||
maxWidth: rhythm(24),
|
maxWidth: rhythm(24),
|
||||||
padding: `${rhythm(1.5)} ${rhythm(3 / 4)}`
|
padding: `${rhythm(1.5)} ${rhythm(3 / 4)}`,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<header>{header}</header>
|
<header>{header}</header>
|
||||||
<main>{children}</main>
|
<main>{children}</main>
|
||||||
<footer>
|
<footer>
|
||||||
© {new Date().getFullYear()}, Built with
|
©
|
||||||
{` `}
|
{' '}
|
||||||
|
{new Date().getFullYear()}
|
||||||
|
, Built with
|
||||||
|
{' '}
|
||||||
<a href="https://www.gatsbyjs.org">Gatsby</a>
|
<a href="https://www.gatsbyjs.org">Gatsby</a>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Layout
|
export default Layout;
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,14 @@
|
||||||
* See: https://www.gatsbyjs.org/docs/use-static-query/
|
* See: https://www.gatsbyjs.org/docs/use-static-query/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from "react"
|
import React from 'react';
|
||||||
import PropTypes from "prop-types"
|
import PropTypes from 'prop-types';
|
||||||
import Helmet from "react-helmet"
|
import Helmet from 'react-helmet';
|
||||||
import { useStaticQuery, graphql } from "gatsby"
|
import { useStaticQuery, graphql } from 'gatsby';
|
||||||
|
|
||||||
function SEO({ description, lang, meta, title }) {
|
function SEO({
|
||||||
|
description, lang, meta, title,
|
||||||
|
}) {
|
||||||
const { site } = useStaticQuery(
|
const { site } = useStaticQuery(
|
||||||
graphql`
|
graphql`
|
||||||
query {
|
query {
|
||||||
|
|
@ -23,11 +25,11 @@ function SEO({ description, lang, meta, title }) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`,
|
||||||
)
|
);
|
||||||
|
|
||||||
const metaDescription = description || site.siteMetadata.description
|
const metaDescription = description || site.siteMetadata.description;
|
||||||
const metaType = `website` || site.siteMetadata.type
|
const metaType = 'website' || site.siteMetadata.type;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Helmet
|
<Helmet
|
||||||
|
|
@ -38,39 +40,39 @@ function SEO({ description, lang, meta, title }) {
|
||||||
titleTemplate={`%s | ${site.siteMetadata.title}`}
|
titleTemplate={`%s | ${site.siteMetadata.title}`}
|
||||||
meta={[
|
meta={[
|
||||||
{
|
{
|
||||||
name: `description`,
|
name: 'description',
|
||||||
content: metaDescription,
|
content: metaDescription,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
property: `og:title`,
|
property: 'og:title',
|
||||||
content: title,
|
content: title,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
property: `og:description`,
|
property: 'og:description',
|
||||||
content: metaDescription,
|
content: metaDescription,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
property: `og:type`,
|
property: 'og:type',
|
||||||
content: metaType,
|
content: metaType,
|
||||||
},
|
},
|
||||||
].concat(meta)}
|
].concat(meta)}
|
||||||
>
|
>
|
||||||
<link href="https://fonts.googleapis.com/css?family=Oxygen+Mono&display=swap" rel="stylesheet"></link>
|
<link href="https://fonts.googleapis.com/css?family=Oxygen+Mono&display=swap" rel="stylesheet" />
|
||||||
</Helmet>
|
</Helmet>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
SEO.defaultProps = {
|
SEO.defaultProps = {
|
||||||
lang: `en`,
|
lang: 'en',
|
||||||
meta: [],
|
meta: [],
|
||||||
description: `A selfmade developer blog.`,
|
description: 'A selfmade developer blog.',
|
||||||
}
|
};
|
||||||
|
|
||||||
SEO.propTypes = {
|
SEO.propTypes = {
|
||||||
description: PropTypes.string,
|
description: PropTypes.string,
|
||||||
lang: PropTypes.string,
|
lang: PropTypes.string,
|
||||||
meta: PropTypes.arrayOf(PropTypes.object),
|
meta: PropTypes.arrayOf(PropTypes.object),
|
||||||
title: PropTypes.string.isRequired,
|
title: PropTypes.string.isRequired,
|
||||||
}
|
};
|
||||||
|
|
||||||
export default SEO
|
export default SEO;
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import React from "react"
|
import React from 'react';
|
||||||
import { graphql } from "gatsby"
|
import { graphql } from 'gatsby';
|
||||||
|
|
||||||
import Layout from "../components/layout"
|
import Layout from '../components/layout';
|
||||||
import SEO from "../components/seo"
|
import SEO from '../components/seo';
|
||||||
|
|
||||||
class NotFoundPage extends React.Component {
|
class NotFoundPage extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
const { data } = this.props
|
const { data } = this.props;
|
||||||
const siteTitle = data.site.siteMetadata.title
|
const siteTitle = data.site.siteMetadata.title;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout location={this.props.location} title={siteTitle}>
|
<Layout location={this.props.location} title={siteTitle}>
|
||||||
|
|
@ -15,11 +15,11 @@ class NotFoundPage extends React.Component {
|
||||||
<h1>Not Found</h1>
|
<h1>Not Found</h1>
|
||||||
<p>You just hit a route that doesn't exist... the sadness.</p>
|
<p>You just hit a route that doesn't exist... the sadness.</p>
|
||||||
</Layout>
|
</Layout>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default NotFoundPage
|
export default NotFoundPage;
|
||||||
|
|
||||||
export const pageQuery = graphql`
|
export const pageQuery = graphql`
|
||||||
query {
|
query {
|
||||||
|
|
@ -29,4 +29,4 @@ export const pageQuery = graphql`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`;
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
import React from "react"
|
import React from 'react';
|
||||||
import { Link, graphql } from "gatsby"
|
import { Link, graphql } from 'gatsby';
|
||||||
|
|
||||||
import Bio from "../components/bio"
|
import Bio from '../components/bio';
|
||||||
import Layout from "../components/layout"
|
import Layout from '../components/layout';
|
||||||
import SEO from "../components/seo"
|
import SEO from '../components/seo';
|
||||||
import { rhythm } from "../utils/typography"
|
import { rhythm } from '../utils/typography';
|
||||||
|
|
||||||
class BlogIndex extends React.Component {
|
class BlogIndex extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
const { data } = this.props
|
const { data } = this.props;
|
||||||
const siteTitle = data.site.siteMetadata.title
|
const siteTitle = data.site.siteMetadata.title;
|
||||||
const posts = data.allMarkdownRemark.edges
|
const posts = data.allMarkdownRemark.edges;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout location={this.props.location} title={siteTitle}>
|
<Layout location={this.props.location} title={siteTitle}>
|
||||||
<SEO title="All posts" />
|
<SEO title="All posts" />
|
||||||
<Bio />
|
<Bio />
|
||||||
{posts.map(({ node }) => {
|
{posts.map(({ node }) => {
|
||||||
const title = node.frontmatter.title || node.fields.slug
|
const title = node.frontmatter.title || node.fields.slug;
|
||||||
return (
|
return (
|
||||||
<article key={node.fields.slug}>
|
<article key={node.fields.slug}>
|
||||||
<header>
|
<header>
|
||||||
|
|
@ -26,7 +26,7 @@ class BlogIndex extends React.Component {
|
||||||
marginBottom: rhythm(1 / 4),
|
marginBottom: rhythm(1 / 4),
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Link style={{ boxShadow: `none` }} to={node.fields.slug}>
|
<Link style={{ boxShadow: 'none' }} to={node.fields.slug}>
|
||||||
{title}
|
{title}
|
||||||
</Link>
|
</Link>
|
||||||
</h3>
|
</h3>
|
||||||
|
|
@ -40,14 +40,14 @@ class BlogIndex extends React.Component {
|
||||||
/>
|
/>
|
||||||
</section>
|
</section>
|
||||||
</article>
|
</article>
|
||||||
)
|
);
|
||||||
})}
|
})}
|
||||||
</Layout>
|
</Layout>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default BlogIndex
|
export default BlogIndex;
|
||||||
|
|
||||||
export const pageQuery = graphql`
|
export const pageQuery = graphql`
|
||||||
query {
|
query {
|
||||||
|
|
@ -72,4 +72,4 @@ export const pageQuery = graphql`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`;
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,24 @@
|
||||||
import React from "react"
|
import React from 'react';
|
||||||
import { Link, graphql } from "gatsby"
|
import { Link, graphql } from 'gatsby';
|
||||||
|
|
||||||
import Bio from "../components/bio"
|
import Bio from '../components/bio';
|
||||||
import Layout from "../components/layout"
|
import Layout from '../components/layout';
|
||||||
import SEO from "../components/seo"
|
import SEO from '../components/seo';
|
||||||
import { rhythm, scale } from "../utils/typography"
|
import { rhythm, scale } from '../utils/typography';
|
||||||
|
import Commento from '../components/commento';
|
||||||
|
|
||||||
class BlogPostTemplate extends React.Component {
|
class BlogPostTemplate extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
const post = this.props.data.markdownRemark
|
const post = this.props.data.markdownRemark;
|
||||||
const siteTitle = this.props.data.site.siteMetadata.title
|
const siteTitle = this.props.data.site.siteMetadata.title;
|
||||||
const { previous, next } = this.props.pageContext
|
const { previous, next } = this.props.pageContext;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout location={this.props.location} title={siteTitle}>
|
<Layout location={this.props.location} title={siteTitle}>
|
||||||
<SEO
|
<SEO
|
||||||
title={post.frontmatter.title}
|
title={post.frontmatter.title}
|
||||||
description={post.frontmatter.description || post.excerpt}
|
description={post.frontmatter.description || post.excerpt}
|
||||||
type='article'
|
type="article"
|
||||||
/>
|
/>
|
||||||
<article>
|
<article>
|
||||||
<header>
|
<header>
|
||||||
|
|
@ -32,7 +33,7 @@ class BlogPostTemplate extends React.Component {
|
||||||
<p
|
<p
|
||||||
style={{
|
style={{
|
||||||
...scale(-1 / 5),
|
...scale(-1 / 5),
|
||||||
display: `block`,
|
display: 'block',
|
||||||
marginBottom: rhythm(1),
|
marginBottom: rhythm(1),
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|
@ -47,41 +48,46 @@ class BlogPostTemplate extends React.Component {
|
||||||
/>
|
/>
|
||||||
<footer>
|
<footer>
|
||||||
<Bio />
|
<Bio />
|
||||||
|
<Commento id={this.props.slug} />
|
||||||
</footer>
|
</footer>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<nav>
|
<nav>
|
||||||
<ul
|
<ul
|
||||||
style={{
|
style={{
|
||||||
display: `flex`,
|
display: 'flex',
|
||||||
flexWrap: `wrap`,
|
flexWrap: 'wrap',
|
||||||
justifyContent: `space-between`,
|
justifyContent: 'space-between',
|
||||||
listStyle: `none`,
|
listStyle: 'none',
|
||||||
padding: 0,
|
padding: 0,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<li>
|
<li>
|
||||||
{previous && (
|
{previous && (
|
||||||
<Link to={previous.fields.slug} rel="prev">
|
<Link to={previous.fields.slug} rel="prev">
|
||||||
← {previous.frontmatter.title}
|
←
|
||||||
|
{' '}
|
||||||
|
{previous.frontmatter.title}
|
||||||
</Link>
|
</Link>
|
||||||
)}
|
)}
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
{next && (
|
{next && (
|
||||||
<Link to={next.fields.slug} rel="next">
|
<Link to={next.fields.slug} rel="next">
|
||||||
{next.frontmatter.title} →
|
{next.frontmatter.title}
|
||||||
|
{' '}
|
||||||
|
→
|
||||||
</Link>
|
</Link>
|
||||||
)}
|
)}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</Layout>
|
</Layout>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default BlogPostTemplate
|
export default BlogPostTemplate;
|
||||||
|
|
||||||
export const pageQuery = graphql`
|
export const pageQuery = graphql`
|
||||||
query BlogPostBySlug($slug: String!) {
|
query BlogPostBySlug($slug: String!) {
|
||||||
|
|
@ -101,4 +107,4 @@ export const pageQuery = graphql`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`;
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,21 @@
|
||||||
import Typography from "typography"
|
import Typography from 'typography';
|
||||||
import Moraga from "typography-theme-moraga"
|
import Moraga from 'typography-theme-moraga';
|
||||||
|
|
||||||
Moraga.overrideThemeStyles = () => {
|
Moraga.overrideThemeStyles = () => ({
|
||||||
return {
|
'a.gatsby-resp-image-link': {
|
||||||
"a.gatsby-resp-image-link": {
|
boxShadow: 'none',
|
||||||
boxShadow: `none`,
|
},
|
||||||
},
|
});
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Moraga.headerFontFamily = ['Oxygen Mono'];
|
Moraga.headerFontFamily = ['Oxygen Mono'];
|
||||||
|
|
||||||
const typography = new Typography(Moraga);
|
const typography = new Typography(Moraga);
|
||||||
|
|
||||||
// Hot reload typography in development.
|
// Hot reload typography in development.
|
||||||
if (process.env.NODE_ENV !== `production`) {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
typography.injectStyles()
|
typography.injectStyles();
|
||||||
}
|
}
|
||||||
|
|
||||||
export default typography
|
export default typography;
|
||||||
export const rhythm = typography.rhythm
|
export const { rhythm } = typography;
|
||||||
export const scale = typography.scale
|
export const { scale } = typography;
|
||||||
|
|
|
||||||
321
yarn.lock
321
yarn.lock
|
|
@ -2173,6 +2173,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
|
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
|
||||||
integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==
|
integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==
|
||||||
|
|
||||||
|
"@types/json5@^0.0.29":
|
||||||
|
version "0.0.29"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
|
||||||
|
integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
|
||||||
|
|
||||||
"@types/lodash.sample@^4.2.6":
|
"@types/lodash.sample@^4.2.6":
|
||||||
version "4.2.6"
|
version "4.2.6"
|
||||||
resolved "https://registry.yarnpkg.com/@types/lodash.sample/-/lodash.sample-4.2.6.tgz#ec7f6a6dbd0401c4a1e5f5b3c85fa5a85a42a84a"
|
resolved "https://registry.yarnpkg.com/@types/lodash.sample/-/lodash.sample-4.2.6.tgz#ec7f6a6dbd0401c4a1e5f5b3c85fa5a85a42a84a"
|
||||||
|
|
@ -2916,7 +2921,7 @@ array-unique@^0.3.2:
|
||||||
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
|
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
|
||||||
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
|
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
|
||||||
|
|
||||||
array.prototype.flat@^1.2.1:
|
array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3:
|
||||||
version "1.2.3"
|
version "1.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
|
resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
|
||||||
integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
|
integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
|
||||||
|
|
@ -3947,14 +3952,6 @@ chalk@^3.0.0:
|
||||||
ansi-styles "^4.1.0"
|
ansi-styles "^4.1.0"
|
||||||
supports-color "^7.1.0"
|
supports-color "^7.1.0"
|
||||||
|
|
||||||
chalk@^4.0.0:
|
|
||||||
version "4.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
|
|
||||||
integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==
|
|
||||||
dependencies:
|
|
||||||
ansi-styles "^4.1.0"
|
|
||||||
supports-color "^7.1.0"
|
|
||||||
|
|
||||||
character-entities-html4@^1.0.0:
|
character-entities-html4@^1.0.0:
|
||||||
version "1.1.4"
|
version "1.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125"
|
resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125"
|
||||||
|
|
@ -4648,7 +4645,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
|
||||||
shebang-command "^1.2.0"
|
shebang-command "^1.2.0"
|
||||||
which "^1.2.9"
|
which "^1.2.9"
|
||||||
|
|
||||||
cross-spawn@^7.0.0, cross-spawn@^7.0.2:
|
cross-spawn@^7.0.0:
|
||||||
version "7.0.3"
|
version "7.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
||||||
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
|
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
|
||||||
|
|
@ -5055,7 +5052,7 @@ deep-extend@^0.6.0:
|
||||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||||
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
||||||
|
|
||||||
deep-is@^0.1.3, deep-is@~0.1.3:
|
deep-is@~0.1.3:
|
||||||
version "0.1.3"
|
version "0.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
|
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
|
||||||
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
|
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
|
||||||
|
|
@ -5716,6 +5713,24 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1
|
||||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||||
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
|
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
|
||||||
|
|
||||||
|
eslint-config-airbnb-base@^14.1.0:
|
||||||
|
version "14.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.1.0.tgz#2ba4592dd6843258221d9bff2b6831bd77c874e4"
|
||||||
|
integrity sha512-+XCcfGyCnbzOnktDVhwsCAx+9DmrzEmuwxyHUJpw+kqBVT744OUBrB09khgFKlK1lshVww6qXGsYPZpavoNjJw==
|
||||||
|
dependencies:
|
||||||
|
confusing-browser-globals "^1.0.9"
|
||||||
|
object.assign "^4.1.0"
|
||||||
|
object.entries "^1.1.1"
|
||||||
|
|
||||||
|
eslint-config-airbnb@^18.1.0:
|
||||||
|
version "18.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.1.0.tgz#724d7e93dadd2169492ff5363c5aaa779e01257d"
|
||||||
|
integrity sha512-kZFuQC/MPnH7KJp6v95xsLBf63G/w7YqdPfQ0MUanxQ7zcKUNG8j+sSY860g3NwCBOa62apw16J6pRN+AOgXzw==
|
||||||
|
dependencies:
|
||||||
|
eslint-config-airbnb-base "^14.1.0"
|
||||||
|
object.assign "^4.1.0"
|
||||||
|
object.entries "^1.1.1"
|
||||||
|
|
||||||
eslint-config-react-app@^5.2.1:
|
eslint-config-react-app@^5.2.1:
|
||||||
version "5.2.1"
|
version "5.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df"
|
resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df"
|
||||||
|
|
@ -5723,7 +5738,7 @@ eslint-config-react-app@^5.2.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
confusing-browser-globals "^1.0.9"
|
confusing-browser-globals "^1.0.9"
|
||||||
|
|
||||||
eslint-import-resolver-node@^0.3.2:
|
eslint-import-resolver-node@^0.3.2, eslint-import-resolver-node@^0.3.3:
|
||||||
version "0.3.3"
|
version "0.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404"
|
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404"
|
||||||
integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==
|
integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==
|
||||||
|
|
@ -5742,7 +5757,7 @@ eslint-loader@^2.2.1:
|
||||||
object-hash "^1.1.4"
|
object-hash "^1.1.4"
|
||||||
rimraf "^2.6.1"
|
rimraf "^2.6.1"
|
||||||
|
|
||||||
eslint-module-utils@^2.4.1:
|
eslint-module-utils@^2.4.1, eslint-module-utils@^2.6.0:
|
||||||
version "2.6.0"
|
version "2.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
|
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
|
||||||
integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
|
integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
|
||||||
|
|
@ -5783,6 +5798,25 @@ eslint-plugin-import@^2.20.2:
|
||||||
read-pkg-up "^2.0.0"
|
read-pkg-up "^2.0.0"
|
||||||
resolve "^1.12.0"
|
resolve "^1.12.0"
|
||||||
|
|
||||||
|
eslint-plugin-import@^2.21.2:
|
||||||
|
version "2.21.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.21.2.tgz#8fef77475cc5510801bedc95f84b932f7f334a7c"
|
||||||
|
integrity sha512-FEmxeGI6yaz+SnEB6YgNHlQK1Bs2DKLM+YF+vuTk5H8J9CLbJLtlPvRFgZZ2+sXiKAlN5dpdlrWOjK8ZoZJpQA==
|
||||||
|
dependencies:
|
||||||
|
array-includes "^3.1.1"
|
||||||
|
array.prototype.flat "^1.2.3"
|
||||||
|
contains-path "^0.1.0"
|
||||||
|
debug "^2.6.9"
|
||||||
|
doctrine "1.5.0"
|
||||||
|
eslint-import-resolver-node "^0.3.3"
|
||||||
|
eslint-module-utils "^2.6.0"
|
||||||
|
has "^1.0.3"
|
||||||
|
minimatch "^3.0.4"
|
||||||
|
object.values "^1.1.1"
|
||||||
|
read-pkg-up "^2.0.0"
|
||||||
|
resolve "^1.17.0"
|
||||||
|
tsconfig-paths "^3.9.0"
|
||||||
|
|
||||||
eslint-plugin-jsx-a11y@^6.2.3:
|
eslint-plugin-jsx-a11y@^6.2.3:
|
||||||
version "6.2.3"
|
version "6.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa"
|
||||||
|
|
@ -5803,6 +5837,11 @@ eslint-plugin-react-hooks@^1.7.0:
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04"
|
||||||
integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==
|
integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==
|
||||||
|
|
||||||
|
eslint-plugin-react-hooks@^2.5.1:
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0"
|
||||||
|
integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==
|
||||||
|
|
||||||
eslint-plugin-react@^7.20.0:
|
eslint-plugin-react@^7.20.0:
|
||||||
version "7.20.0"
|
version "7.20.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz#f98712f0a5e57dfd3e5542ef0604b8739cd47be3"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz#f98712f0a5e57dfd3e5542ef0604b8739cd47be3"
|
||||||
|
|
@ -5898,48 +5937,6 @@ eslint@^6.8.0:
|
||||||
text-table "^0.2.0"
|
text-table "^0.2.0"
|
||||||
v8-compile-cache "^2.0.3"
|
v8-compile-cache "^2.0.3"
|
||||||
|
|
||||||
eslint@^7.1.0:
|
|
||||||
version "7.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.1.0.tgz#d9a1df25e5b7859b0a3d86bb05f0940ab676a851"
|
|
||||||
integrity sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA==
|
|
||||||
dependencies:
|
|
||||||
"@babel/code-frame" "^7.0.0"
|
|
||||||
ajv "^6.10.0"
|
|
||||||
chalk "^4.0.0"
|
|
||||||
cross-spawn "^7.0.2"
|
|
||||||
debug "^4.0.1"
|
|
||||||
doctrine "^3.0.0"
|
|
||||||
eslint-scope "^5.0.0"
|
|
||||||
eslint-utils "^2.0.0"
|
|
||||||
eslint-visitor-keys "^1.1.0"
|
|
||||||
espree "^7.0.0"
|
|
||||||
esquery "^1.2.0"
|
|
||||||
esutils "^2.0.2"
|
|
||||||
file-entry-cache "^5.0.1"
|
|
||||||
functional-red-black-tree "^1.0.1"
|
|
||||||
glob-parent "^5.0.0"
|
|
||||||
globals "^12.1.0"
|
|
||||||
ignore "^4.0.6"
|
|
||||||
import-fresh "^3.0.0"
|
|
||||||
imurmurhash "^0.1.4"
|
|
||||||
inquirer "^7.0.0"
|
|
||||||
is-glob "^4.0.0"
|
|
||||||
js-yaml "^3.13.1"
|
|
||||||
json-stable-stringify-without-jsonify "^1.0.1"
|
|
||||||
levn "^0.4.1"
|
|
||||||
lodash "^4.17.14"
|
|
||||||
minimatch "^3.0.4"
|
|
||||||
natural-compare "^1.4.0"
|
|
||||||
optionator "^0.9.1"
|
|
||||||
progress "^2.0.0"
|
|
||||||
regexpp "^3.1.0"
|
|
||||||
semver "^7.2.1"
|
|
||||||
strip-ansi "^6.0.0"
|
|
||||||
strip-json-comments "^3.1.0"
|
|
||||||
table "^5.2.3"
|
|
||||||
text-table "^0.2.0"
|
|
||||||
v8-compile-cache "^2.0.3"
|
|
||||||
|
|
||||||
espree@^6.1.2:
|
espree@^6.1.2:
|
||||||
version "6.2.1"
|
version "6.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
|
resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
|
||||||
|
|
@ -5949,21 +5946,12 @@ espree@^6.1.2:
|
||||||
acorn-jsx "^5.2.0"
|
acorn-jsx "^5.2.0"
|
||||||
eslint-visitor-keys "^1.1.0"
|
eslint-visitor-keys "^1.1.0"
|
||||||
|
|
||||||
espree@^7.0.0:
|
|
||||||
version "7.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-7.0.0.tgz#8a7a60f218e69f120a842dc24c5a88aa7748a74e"
|
|
||||||
integrity sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==
|
|
||||||
dependencies:
|
|
||||||
acorn "^7.1.1"
|
|
||||||
acorn-jsx "^5.2.0"
|
|
||||||
eslint-visitor-keys "^1.1.0"
|
|
||||||
|
|
||||||
esprima@^4.0.0:
|
esprima@^4.0.0:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
|
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
|
||||||
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
|
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
|
||||||
|
|
||||||
esquery@^1.0.1, esquery@^1.2.0:
|
esquery@^1.0.1:
|
||||||
version "1.3.1"
|
version "1.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
|
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
|
||||||
integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
|
integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
|
||||||
|
|
@ -6867,6 +6855,54 @@ gatsby-cli@^2.12.42:
|
||||||
yargs "^15.3.1"
|
yargs "^15.3.1"
|
||||||
yurnalist "^1.1.2"
|
yurnalist "^1.1.2"
|
||||||
|
|
||||||
|
gatsby-cli@^2.12.45:
|
||||||
|
version "2.12.45"
|
||||||
|
resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.12.45.tgz#5f99e8ea96264c55e981d13147c1a387c9bf1164"
|
||||||
|
integrity sha512-CY0ltZ5DvrSo30MkPcU2FFGiCrQUjirXAY7TdFEhc8IeV5Gj9E2AFmUF1FO4Dna6yv47WBBaHKFpsiKc5Iq0XA==
|
||||||
|
dependencies:
|
||||||
|
"@babel/code-frame" "^7.10.1"
|
||||||
|
"@babel/runtime" "^7.10.2"
|
||||||
|
"@hapi/joi" "^15.1.1"
|
||||||
|
better-opn "^1.0.0"
|
||||||
|
bluebird "^3.7.2"
|
||||||
|
chalk "^2.4.2"
|
||||||
|
clipboardy "^2.3.0"
|
||||||
|
common-tags "^1.8.0"
|
||||||
|
configstore "^5.0.1"
|
||||||
|
convert-hrtime "^3.0.0"
|
||||||
|
core-js "^2.6.11"
|
||||||
|
envinfo "^7.5.1"
|
||||||
|
execa "^3.4.0"
|
||||||
|
fs-exists-cached "^1.0.0"
|
||||||
|
fs-extra "^8.1.0"
|
||||||
|
gatsby-core-utils "^1.3.5"
|
||||||
|
gatsby-recipes "^0.1.39"
|
||||||
|
gatsby-telemetry "^1.3.11"
|
||||||
|
hosted-git-info "^3.0.4"
|
||||||
|
ink "^2.7.1"
|
||||||
|
ink-spinner "^3.0.1"
|
||||||
|
is-valid-path "^0.1.1"
|
||||||
|
lodash "^4.17.15"
|
||||||
|
meant "^1.0.1"
|
||||||
|
node-fetch "^2.6.0"
|
||||||
|
object.entries "^1.1.2"
|
||||||
|
opentracing "^0.14.4"
|
||||||
|
pretty-error "^2.1.1"
|
||||||
|
progress "^2.0.3"
|
||||||
|
prompts "^2.3.2"
|
||||||
|
react "^16.8.0"
|
||||||
|
redux "^4.0.5"
|
||||||
|
resolve-cwd "^3.0.0"
|
||||||
|
semver "^6.3.0"
|
||||||
|
signal-exit "^3.0.3"
|
||||||
|
source-map "0.7.3"
|
||||||
|
stack-trace "^0.0.10"
|
||||||
|
strip-ansi "^5.2.0"
|
||||||
|
update-notifier "^3.0.1"
|
||||||
|
uuid "3.4.0"
|
||||||
|
yargs "^15.3.1"
|
||||||
|
yurnalist "^1.1.2"
|
||||||
|
|
||||||
gatsby-core-utils@^1.3.4:
|
gatsby-core-utils@^1.3.4:
|
||||||
version "1.3.4"
|
version "1.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.3.4.tgz#a3adc461dc90e55b8aef03d9c4440c2018f7e06c"
|
resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.3.4.tgz#a3adc461dc90e55b8aef03d9c4440c2018f7e06c"
|
||||||
|
|
@ -6879,6 +6915,18 @@ gatsby-core-utils@^1.3.4:
|
||||||
proper-lockfile "^4.1.1"
|
proper-lockfile "^4.1.1"
|
||||||
xdg-basedir "^4.0.0"
|
xdg-basedir "^4.0.0"
|
||||||
|
|
||||||
|
gatsby-core-utils@^1.3.5:
|
||||||
|
version "1.3.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.3.5.tgz#3c8f2dc940cec6570d1317f02ba028f327d1e773"
|
||||||
|
integrity sha512-kbwJ5BeQ8OixJVuBb1AGRL6vdkFz9nFBa6gXqjQ6AAXHhYDrjOYrRMIENT1QLoabWo6tlh0Hyl1agfWaQwW8lg==
|
||||||
|
dependencies:
|
||||||
|
ci-info "2.0.0"
|
||||||
|
configstore "^5.0.1"
|
||||||
|
fs-extra "^8.1.0"
|
||||||
|
node-object-hash "^2.0.0"
|
||||||
|
proper-lockfile "^4.1.1"
|
||||||
|
xdg-basedir "^4.0.0"
|
||||||
|
|
||||||
gatsby-design-tokens@^2.0.2:
|
gatsby-design-tokens@^2.0.2:
|
||||||
version "2.0.6"
|
version "2.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/gatsby-design-tokens/-/gatsby-design-tokens-2.0.6.tgz#593aa969e360560369fc59054c01236beed9be7d"
|
resolved "https://registry.yarnpkg.com/gatsby-design-tokens/-/gatsby-design-tokens-2.0.6.tgz#593aa969e360560369fc59054c01236beed9be7d"
|
||||||
|
|
@ -7126,6 +7174,74 @@ gatsby-recipes@^0.1.36:
|
||||||
ws "^7.3.0"
|
ws "^7.3.0"
|
||||||
xstate "^4.10.0"
|
xstate "^4.10.0"
|
||||||
|
|
||||||
|
gatsby-recipes@^0.1.39:
|
||||||
|
version "0.1.39"
|
||||||
|
resolved "https://registry.yarnpkg.com/gatsby-recipes/-/gatsby-recipes-0.1.39.tgz#6bd079e0011fbe41c14b371f9b757bcaa377c3ad"
|
||||||
|
integrity sha512-Pf8EGKhCAv4E1rU0NL6pKH9mC8QB/0pW/9oAAb9Rs2N3TeBYcQ36hQP95ana63GZwY35eKoFzjdWGHmegQw90Q==
|
||||||
|
dependencies:
|
||||||
|
"@babel/core" "^7.10.2"
|
||||||
|
"@babel/generator" "^7.10.2"
|
||||||
|
"@babel/helper-plugin-utils" "^7.10.1"
|
||||||
|
"@babel/plugin-transform-react-jsx" "^7.10.1"
|
||||||
|
"@babel/standalone" "^7.10.2"
|
||||||
|
"@babel/template" "^7.10.1"
|
||||||
|
"@babel/types" "^7.10.2"
|
||||||
|
"@hapi/hoek" "8.x"
|
||||||
|
"@hapi/joi" "^15.1.1"
|
||||||
|
"@mdx-js/mdx" "^1.6.5"
|
||||||
|
"@mdx-js/react" "^1.6.5"
|
||||||
|
"@mdx-js/runtime" "^1.6.5"
|
||||||
|
acorn "^7.2.0"
|
||||||
|
acorn-jsx "^5.2.0"
|
||||||
|
cors "^2.8.5"
|
||||||
|
debug "^4.1.1"
|
||||||
|
detect-port "^1.3.0"
|
||||||
|
execa "^4.0.2"
|
||||||
|
express "^4.17.1"
|
||||||
|
express-graphql "^0.9.0"
|
||||||
|
fs-extra "^8.1.0"
|
||||||
|
gatsby-core-utils "^1.3.5"
|
||||||
|
gatsby-telemetry "^1.3.11"
|
||||||
|
glob "^7.1.6"
|
||||||
|
graphql "^14.6.0"
|
||||||
|
graphql-compose "^6.3.8"
|
||||||
|
graphql-subscriptions "^1.1.0"
|
||||||
|
graphql-tools "^6.0.5"
|
||||||
|
graphql-type-json "^0.3.1"
|
||||||
|
hicat "^0.7.0"
|
||||||
|
html-tag-names "^1.1.5"
|
||||||
|
ink "^2.7.1"
|
||||||
|
ink-box "^1.0.0"
|
||||||
|
ink-link "^1.1.0"
|
||||||
|
ink-select-input "^3.1.2"
|
||||||
|
ink-spinner "^3.0.1"
|
||||||
|
is-binary-path "^2.1.0"
|
||||||
|
is-blank "^2.1.0"
|
||||||
|
is-string "^1.0.5"
|
||||||
|
is-url "^1.2.4"
|
||||||
|
jest-diff "^25.5.0"
|
||||||
|
lodash "^4.17.15"
|
||||||
|
mkdirp "^0.5.1"
|
||||||
|
node-fetch "^2.6.0"
|
||||||
|
pkg-dir "^4.2.0"
|
||||||
|
prettier "^2.0.5"
|
||||||
|
react-reconciler "^0.25.1"
|
||||||
|
remark-mdx "^1.6.5"
|
||||||
|
remark-parse "^6.0.3"
|
||||||
|
remark-stringify "^8.0.0"
|
||||||
|
resolve-cwd "^3.0.0"
|
||||||
|
semver "^7.3.2"
|
||||||
|
single-trailing-newline "^1.0.0"
|
||||||
|
strip-ansi "^6.0.0"
|
||||||
|
style-to-object "^0.3.0"
|
||||||
|
subscriptions-transport-ws "^0.9.16"
|
||||||
|
svg-tag-names "^2.0.1"
|
||||||
|
unified "^8.4.2"
|
||||||
|
unist-util-visit "^2.0.2"
|
||||||
|
urql "^1.9.7"
|
||||||
|
ws "^7.3.0"
|
||||||
|
xstate "^4.10.0"
|
||||||
|
|
||||||
gatsby-remark-copy-linked-files@^2.3.4:
|
gatsby-remark-copy-linked-files@^2.3.4:
|
||||||
version "2.3.4"
|
version "2.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/gatsby-remark-copy-linked-files/-/gatsby-remark-copy-linked-files-2.3.4.tgz#559cd7203e8633ef90fd0220a9ade7ae1405d327"
|
resolved "https://registry.yarnpkg.com/gatsby-remark-copy-linked-files/-/gatsby-remark-copy-linked-files-2.3.4.tgz#559cd7203e8633ef90fd0220a9ade7ae1405d327"
|
||||||
|
|
@ -7246,6 +7362,29 @@ gatsby-telemetry@^1.3.10:
|
||||||
stack-utils "1.0.2"
|
stack-utils "1.0.2"
|
||||||
uuid "3.4.0"
|
uuid "3.4.0"
|
||||||
|
|
||||||
|
gatsby-telemetry@^1.3.11:
|
||||||
|
version "1.3.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-1.3.11.tgz#2a5743387d84e796e11f9577f9981c9b46c34e11"
|
||||||
|
integrity sha512-k5bzy0G0Me0aQYaW1cOWp0PQ9+wRXHU0lbztdinnRAWlqqb3EGMVPtfUhP7aMJvXtj3UfLy3pk0xBfsX8BHvfA==
|
||||||
|
dependencies:
|
||||||
|
"@babel/code-frame" "^7.10.1"
|
||||||
|
"@babel/runtime" "^7.10.2"
|
||||||
|
bluebird "^3.7.2"
|
||||||
|
boxen "^4.2.0"
|
||||||
|
configstore "^5.0.1"
|
||||||
|
envinfo "^7.5.1"
|
||||||
|
fs-extra "^8.1.0"
|
||||||
|
gatsby-core-utils "^1.3.5"
|
||||||
|
git-up "4.0.1"
|
||||||
|
is-docker "2.0.0"
|
||||||
|
lodash "^4.17.15"
|
||||||
|
node-fetch "2.6.0"
|
||||||
|
resolve-cwd "^2.0.0"
|
||||||
|
source-map "^0.7.3"
|
||||||
|
stack-trace "^0.0.10"
|
||||||
|
stack-utils "1.0.2"
|
||||||
|
uuid "3.4.0"
|
||||||
|
|
||||||
gatsby-transformer-remark@^2.8.14:
|
gatsby-transformer-remark@^2.8.14:
|
||||||
version "2.8.14"
|
version "2.8.14"
|
||||||
resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-2.8.14.tgz#15ff9c5d11fefc013b9354884a544442b0aae6e5"
|
resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-2.8.14.tgz#15ff9c5d11fefc013b9354884a544442b0aae6e5"
|
||||||
|
|
@ -9579,14 +9718,6 @@ levn@^0.3.0, levn@~0.3.0:
|
||||||
prelude-ls "~1.1.2"
|
prelude-ls "~1.1.2"
|
||||||
type-check "~0.3.2"
|
type-check "~0.3.2"
|
||||||
|
|
||||||
levn@^0.4.1:
|
|
||||||
version "0.4.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
|
|
||||||
integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
|
|
||||||
dependencies:
|
|
||||||
prelude-ls "^1.2.1"
|
|
||||||
type-check "~0.4.0"
|
|
||||||
|
|
||||||
lines-and-columns@^1.1.6:
|
lines-and-columns@^1.1.6:
|
||||||
version "1.1.6"
|
version "1.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
|
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
|
||||||
|
|
@ -10949,18 +11080,6 @@ optionator@^0.8.3:
|
||||||
type-check "~0.3.2"
|
type-check "~0.3.2"
|
||||||
word-wrap "~1.2.3"
|
word-wrap "~1.2.3"
|
||||||
|
|
||||||
optionator@^0.9.1:
|
|
||||||
version "0.9.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
|
|
||||||
integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
|
|
||||||
dependencies:
|
|
||||||
deep-is "^0.1.3"
|
|
||||||
fast-levenshtein "^2.0.6"
|
|
||||||
levn "^0.4.1"
|
|
||||||
prelude-ls "^1.2.1"
|
|
||||||
type-check "^0.4.0"
|
|
||||||
word-wrap "^1.2.3"
|
|
||||||
|
|
||||||
original@>=0.0.5, original@^1.0.0:
|
original@>=0.0.5, original@^1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
|
resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
|
||||||
|
|
@ -11951,11 +12070,6 @@ prebuild-install@^5.3.3:
|
||||||
tunnel-agent "^0.6.0"
|
tunnel-agent "^0.6.0"
|
||||||
which-pm-runs "^1.0.0"
|
which-pm-runs "^1.0.0"
|
||||||
|
|
||||||
prelude-ls@^1.2.1:
|
|
||||||
version "1.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
|
|
||||||
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
|
|
||||||
|
|
||||||
prelude-ls@~1.1.2:
|
prelude-ls@~1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
||||||
|
|
@ -12661,7 +12775,7 @@ regexpp@^2.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
|
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
|
||||||
integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
|
integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
|
||||||
|
|
||||||
regexpp@^3.0.0, regexpp@^3.1.0:
|
regexpp@^3.0.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
|
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
|
||||||
integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
|
integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
|
||||||
|
|
@ -12985,7 +13099,7 @@ resolve-url@^0.2.1:
|
||||||
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
||||||
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
||||||
|
|
||||||
resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.8.1:
|
resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1:
|
||||||
version "1.17.0"
|
version "1.17.0"
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
|
||||||
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
|
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
|
||||||
|
|
@ -13308,7 +13422,7 @@ semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||||
|
|
||||||
semver@^7.2.1, semver@^7.3.2:
|
semver@^7.3.2:
|
||||||
version "7.3.2"
|
version "7.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
|
||||||
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
|
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
|
||||||
|
|
@ -14206,7 +14320,7 @@ strip-indent@^1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
get-stdin "^4.0.1"
|
get-stdin "^4.0.1"
|
||||||
|
|
||||||
strip-json-comments@^3.0.1, strip-json-comments@^3.1.0:
|
strip-json-comments@^3.0.1:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180"
|
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180"
|
||||||
integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==
|
integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==
|
||||||
|
|
@ -14700,6 +14814,16 @@ ts-pnp@^1.1.6:
|
||||||
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
|
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
|
||||||
integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
|
integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
|
||||||
|
|
||||||
|
tsconfig-paths@^3.9.0:
|
||||||
|
version "3.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
|
||||||
|
integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
|
||||||
|
dependencies:
|
||||||
|
"@types/json5" "^0.0.29"
|
||||||
|
json5 "^1.0.1"
|
||||||
|
minimist "^1.2.0"
|
||||||
|
strip-bom "^3.0.0"
|
||||||
|
|
||||||
tslib@^1.0.0, tslib@^1.10.0, tslib@^1.11.1, tslib@^1.11.2, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
|
tslib@^1.0.0, tslib@^1.10.0, tslib@^1.11.1, tslib@^1.11.2, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
|
||||||
version "1.13.0"
|
version "1.13.0"
|
||||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
|
||||||
|
|
@ -14734,13 +14858,6 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
|
||||||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
||||||
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
|
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
|
||||||
|
|
||||||
type-check@^0.4.0, type-check@~0.4.0:
|
|
||||||
version "0.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
|
|
||||||
integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
|
|
||||||
dependencies:
|
|
||||||
prelude-ls "^1.2.1"
|
|
||||||
|
|
||||||
type-check@~0.3.2:
|
type-check@~0.3.2:
|
||||||
version "0.3.2"
|
version "0.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
|
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
|
||||||
|
|
@ -15698,7 +15815,7 @@ wonka@^4.0.10, wonka@^4.0.9:
|
||||||
resolved "https://registry.yarnpkg.com/wonka/-/wonka-4.0.14.tgz#77d680a84e575ed15a9f975eb87d6c530488f3a4"
|
resolved "https://registry.yarnpkg.com/wonka/-/wonka-4.0.14.tgz#77d680a84e575ed15a9f975eb87d6c530488f3a4"
|
||||||
integrity sha512-v9vmsTxpZjrA8CYfztbuoTQSHEsG3ZH+NCYfasHm0V3GqBupXrjuuz0RJyUaw2cRO7ouW2js0P6i853/qxlDcA==
|
integrity sha512-v9vmsTxpZjrA8CYfztbuoTQSHEsG3ZH+NCYfasHm0V3GqBupXrjuuz0RJyUaw2cRO7ouW2js0P6i853/qxlDcA==
|
||||||
|
|
||||||
word-wrap@^1.2.3, word-wrap@~1.2.3:
|
word-wrap@~1.2.3:
|
||||||
version "1.2.3"
|
version "1.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
||||||
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue