mirror of
https://github.com/mastermindzh/rickvanlieshout.com
synced 2024-12-26 14:59:14 +01:00
commit
f48a8219b5
12
.flowconfig
Normal file
12
.flowconfig
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[ignore]
|
||||||
|
|
||||||
|
[include]
|
||||||
|
|
||||||
|
[libs]
|
||||||
|
|
||||||
|
[lints]
|
||||||
|
|
||||||
|
[options]
|
||||||
|
module.name_mapper.extension='scss' -> '<PROJECT_ROOT>/src/flow/CSSModuleStub.js'
|
||||||
|
|
||||||
|
[strict]
|
@ -34,6 +34,7 @@
|
|||||||
+ [Netlify CMS](https://www.netlifycms.org) support.
|
+ [Netlify CMS](https://www.netlifycms.org) support.
|
||||||
+ Google Analytics.
|
+ Google Analytics.
|
||||||
+ Disqus Comments.
|
+ Disqus Comments.
|
||||||
|
+ [Flow](https://flow.org/) static type checking.
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
@ -185,6 +185,7 @@ module.exports = {
|
|||||||
camelCase: false,
|
camelCase: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
'gatsby-plugin-flow',
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
34
package.json
34
package.json
@ -8,9 +8,10 @@
|
|||||||
"build": "yarn run clean && gatsby build",
|
"build": "yarn run clean && gatsby build",
|
||||||
"deploy": "yarn run clean && gatsby build --prefix-paths && gh-pages -d public",
|
"deploy": "yarn run clean && gatsby build --prefix-paths && gh-pages -d public",
|
||||||
"clean": "rimraf .cache public",
|
"clean": "rimraf .cache public",
|
||||||
|
"flow": "flow",
|
||||||
"lint:js": "eslint --cache --ext .js,.jsx --ignore-pattern public .",
|
"lint:js": "eslint --cache --ext .js,.jsx --ignore-pattern public .",
|
||||||
"lint:scss": "stylelint \"src/**/*.scss\"",
|
"lint:scss": "stylelint \"src/**/*.scss\"",
|
||||||
"lint": "concurrently \"yarn run lint:js\" \"yarn run lint:scss\"",
|
"lint": "concurrently \"yarn run lint:js\" \"yarn run lint:scss\" \"yarn flow\"",
|
||||||
"test": "jest --config ./tests/jest-config.js",
|
"test": "jest --config ./tests/jest-config.js",
|
||||||
"test:coverage": "jest --coverage --config ./tests/jest-config.js",
|
"test:coverage": "jest --coverage --config ./tests/jest-config.js",
|
||||||
"test:watch": "jest --watch --config ./tests/jest-config.js"
|
"test:watch": "jest --watch --config ./tests/jest-config.js"
|
||||||
@ -44,6 +45,7 @@
|
|||||||
"gatsby-link": "^2.0.16",
|
"gatsby-link": "^2.0.16",
|
||||||
"gatsby-plugin-catch-links": "^2.0.13",
|
"gatsby-plugin-catch-links": "^2.0.13",
|
||||||
"gatsby-plugin-feed": "^2.1.0",
|
"gatsby-plugin-feed": "^2.1.0",
|
||||||
|
"gatsby-plugin-flow": "^1.0.4",
|
||||||
"gatsby-plugin-google-gtag": "^1.0.16",
|
"gatsby-plugin-google-gtag": "^1.0.16",
|
||||||
"gatsby-plugin-manifest": "^2.0.26",
|
"gatsby-plugin-manifest": "^2.0.26",
|
||||||
"gatsby-plugin-netlify": "^2.0.13",
|
"gatsby-plugin-netlify": "^2.0.13",
|
||||||
@ -78,34 +80,36 @@
|
|||||||
"react-helmet": "^5.2.0"
|
"react-helmet": "^5.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/plugin-proposal-optional-chaining": "7.0.0",
|
"@babel/core": "7.0.0",
|
||||||
"@babel/plugin-proposal-class-properties": "7.0.0",
|
"@babel/plugin-proposal-class-properties": "7.0.0",
|
||||||
|
"@babel/plugin-proposal-optional-chaining": "7.0.0",
|
||||||
|
"@babel/plugin-transform-flow-strip-types": "^7.4.0",
|
||||||
"@babel/preset-env": "7.0.0",
|
"@babel/preset-env": "7.0.0",
|
||||||
"@babel/preset-react": "7.0.0",
|
"@babel/preset-react": "7.0.0",
|
||||||
"@babel/core": "7.0.0",
|
"autoprefixer": "9.5.1",
|
||||||
"babel-core": "7.0.0-bridge.0",
|
"babel-core": "7.0.0-bridge.0",
|
||||||
|
"babel-eslint": "10.0.1",
|
||||||
"babel-jest": "23.6.0",
|
"babel-jest": "23.6.0",
|
||||||
"identity-obj-proxy": "3.0.0",
|
"browserslist": "4.5.4",
|
||||||
"react-test-renderer": "16.8.6",
|
|
||||||
"jest": "23.6.0",
|
|
||||||
"jest-cli": "23.6.0",
|
|
||||||
"rimraf": "2.6.3",
|
|
||||||
"concurrently": "4.1.0",
|
"concurrently": "4.1.0",
|
||||||
"stylelint": "9.10.1",
|
|
||||||
"stylelint-scss": "3.5.4",
|
|
||||||
"stylelint-config-recommended-scss": "3.2.0",
|
|
||||||
"eslint": "5.16.0",
|
"eslint": "5.16.0",
|
||||||
"eslint-config-airbnb-base": "13.1.0",
|
"eslint-config-airbnb-base": "13.1.0",
|
||||||
"eslint-plugin-jsx-a11y": "6.2.1",
|
|
||||||
"eslint-plugin-import": "2.16.0",
|
"eslint-plugin-import": "2.16.0",
|
||||||
"eslint-plugin-jest": "22.4.1",
|
"eslint-plugin-jest": "22.4.1",
|
||||||
|
"eslint-plugin-jsx-a11y": "6.2.1",
|
||||||
"eslint-plugin-react": "7.12.4",
|
"eslint-plugin-react": "7.12.4",
|
||||||
"eslint-watch": "5.0.1",
|
"eslint-watch": "5.0.1",
|
||||||
"babel-eslint": "10.0.1",
|
"flow-bin": "^0.96.0",
|
||||||
"gh-pages": "2.0.1",
|
"gh-pages": "2.0.1",
|
||||||
|
"identity-obj-proxy": "3.0.0",
|
||||||
|
"jest": "23.6.0",
|
||||||
|
"jest-cli": "23.6.0",
|
||||||
"lost": "8.3.1",
|
"lost": "8.3.1",
|
||||||
"postcss-pxtorem": "4.0.1",
|
"postcss-pxtorem": "4.0.1",
|
||||||
"autoprefixer": "9.5.1",
|
"react-test-renderer": "16.8.6",
|
||||||
"browserslist": "4.5.4"
|
"rimraf": "2.6.3",
|
||||||
|
"stylelint": "9.10.1",
|
||||||
|
"stylelint-config-recommended-scss": "3.2.0",
|
||||||
|
"stylelint-scss": "3.5.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// @flow
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { graphql, StaticQuery } from 'gatsby';
|
import { graphql, StaticQuery } from 'gatsby';
|
||||||
import Author from './Author';
|
import Author from './Author';
|
||||||
@ -6,7 +7,15 @@ import Copyright from './Copyright';
|
|||||||
import Menu from './Menu';
|
import Menu from './Menu';
|
||||||
import styles from './Sidebar.module.scss';
|
import styles from './Sidebar.module.scss';
|
||||||
|
|
||||||
export const PureSidebar = ({ data, isIndex }) => {
|
type Props = {
|
||||||
|
+isIndex: ?boolean,
|
||||||
|
};
|
||||||
|
|
||||||
|
type PureProps = Props & {
|
||||||
|
+data: Object,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const PureSidebar = ({ data, isIndex }: PureProps) => {
|
||||||
const {
|
const {
|
||||||
author,
|
author,
|
||||||
copyright,
|
copyright,
|
||||||
@ -25,7 +34,7 @@ export const PureSidebar = ({ data, isIndex }) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const Sidebar = (props) => (
|
export const Sidebar = (props: Props) => (
|
||||||
<StaticQuery
|
<StaticQuery
|
||||||
query={graphql`
|
query={graphql`
|
||||||
query SidebarQuery {
|
query SidebarQuery {
|
||||||
@ -42,7 +51,7 @@ export const Sidebar = (props) => (
|
|||||||
name
|
name
|
||||||
photo
|
photo
|
||||||
bio
|
bio
|
||||||
contacts {
|
contacts {
|
||||||
twitter
|
twitter
|
||||||
telegram
|
telegram
|
||||||
github
|
github
|
||||||
|
6
src/flow/CSSModuleStub.js
Normal file
6
src/flow/CSSModuleStub.js
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
// @flow
|
||||||
|
type CSSModule = {
|
||||||
|
[key: string]: string,
|
||||||
|
};
|
||||||
|
const emptyCSSModule: CSSModule = {};
|
||||||
|
export default emptyCSSModule;
|
@ -1,3 +1,4 @@
|
|||||||
|
// @flow
|
||||||
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';
|
||||||
@ -6,7 +7,12 @@ import Feed from '../components/Feed';
|
|||||||
import Page from '../components/Page';
|
import Page from '../components/Page';
|
||||||
import Pagination from '../components/Pagination';
|
import Pagination from '../components/Pagination';
|
||||||
|
|
||||||
const IndexTemplate = ({ data, pageContext }) => {
|
type Props = {
|
||||||
|
+data: Object,
|
||||||
|
+pageContext: Object,
|
||||||
|
};
|
||||||
|
|
||||||
|
const IndexTemplate = ({ data, pageContext }: Props) => {
|
||||||
const {
|
const {
|
||||||
title: siteTitle,
|
title: siteTitle,
|
||||||
subtitle: siteSubtitle
|
subtitle: siteSubtitle
|
||||||
|
@ -4,8 +4,9 @@ const babelOptions = {
|
|||||||
presets: ['@babel/react', '@babel/env'],
|
presets: ['@babel/react', '@babel/env'],
|
||||||
plugins: [
|
plugins: [
|
||||||
'@babel/plugin-proposal-optional-chaining',
|
'@babel/plugin-proposal-optional-chaining',
|
||||||
'@babel/plugin-proposal-class-properties'
|
'@babel/plugin-proposal-class-properties',
|
||||||
|
'@babel/plugin-transform-flow-strip-types',
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = require('babel-jest').createTransformer(babelOptions);
|
module.exports = require('babel-jest').createTransformer(babelOptions);
|
||||||
|
29
yarn.lock
29
yarn.lock
@ -586,6 +586,14 @@
|
|||||||
"@babel/helper-plugin-utils" "^7.0.0"
|
"@babel/helper-plugin-utils" "^7.0.0"
|
||||||
"@babel/plugin-syntax-flow" "^7.2.0"
|
"@babel/plugin-syntax-flow" "^7.2.0"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-flow-strip-types@^7.4.0":
|
||||||
|
version "7.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.0.tgz#f3c59eecff68c99b9c96eaafe4fe9d1fa8947138"
|
||||||
|
integrity sha512-C4ZVNejHnfB22vI2TYN4RUp2oCmq6cSEAg4RygSvYZUECRqUu9O4PMEMNJ4wsemaRGg27BbgYctG4BZh+AgIHw==
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-plugin-utils" "^7.0.0"
|
||||||
|
"@babel/plugin-syntax-flow" "^7.2.0"
|
||||||
|
|
||||||
"@babel/plugin-transform-for-of@^7.0.0":
|
"@babel/plugin-transform-for-of@^7.0.0":
|
||||||
version "7.0.0"
|
version "7.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz#f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39"
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz#f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39"
|
||||||
@ -906,6 +914,14 @@
|
|||||||
js-levenshtein "^1.1.3"
|
js-levenshtein "^1.1.3"
|
||||||
semver "^5.3.0"
|
semver "^5.3.0"
|
||||||
|
|
||||||
|
"@babel/preset-flow@^7.0.0-rc.1":
|
||||||
|
version "7.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2"
|
||||||
|
integrity sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-plugin-utils" "^7.0.0"
|
||||||
|
"@babel/plugin-transform-flow-strip-types" "^7.0.0"
|
||||||
|
|
||||||
"@babel/preset-react@7.0.0", "@babel/preset-react@^7.0.0":
|
"@babel/preset-react@7.0.0", "@babel/preset-react@^7.0.0":
|
||||||
version "7.0.0"
|
version "7.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"
|
resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"
|
||||||
@ -5801,6 +5817,11 @@ flatten@^1.0.2:
|
|||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
|
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
|
||||||
|
|
||||||
|
flow-bin@^0.96.0:
|
||||||
|
version "0.96.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.96.0.tgz#3b0379d97304dc1879ae6db627cd2d6819998661"
|
||||||
|
integrity sha512-OSxERs0EdhVxEVCst/HmlT/RcnXsQQIRqcfK9J9wC8/93JQj+xQz4RtlsmYe1PSRYaozuDLyPS5pIA81Zwzaww==
|
||||||
|
|
||||||
flush-write-stream@^1.0.0:
|
flush-write-stream@^1.0.0:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd"
|
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd"
|
||||||
@ -6028,6 +6049,14 @@ gatsby-plugin-feed@^2.1.0:
|
|||||||
lodash.merge "^4.6.0"
|
lodash.merge "^4.6.0"
|
||||||
rss "^1.2.2"
|
rss "^1.2.2"
|
||||||
|
|
||||||
|
gatsby-plugin-flow@^1.0.4:
|
||||||
|
version "1.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/gatsby-plugin-flow/-/gatsby-plugin-flow-1.0.4.tgz#13a93a734115fb595fc725c319c47a007841d94d"
|
||||||
|
integrity sha512-HUFDiZIBEU6ZM6gOytKdX0FtgpZyw3vycZwGdY4Y6rtins9iXrfNmnh0pMyb8jVmCWUlxSPu+LMt14sm1QVDOg==
|
||||||
|
dependencies:
|
||||||
|
"@babel/preset-flow" "^7.0.0-rc.1"
|
||||||
|
"@babel/runtime" "^7.0.0"
|
||||||
|
|
||||||
gatsby-plugin-google-gtag@^1.0.16:
|
gatsby-plugin-google-gtag@^1.0.16:
|
||||||
version "1.0.16"
|
version "1.0.16"
|
||||||
resolved "https://registry.yarnpkg.com/gatsby-plugin-google-gtag/-/gatsby-plugin-google-gtag-1.0.16.tgz#547cd1302277e99fc7397dbf9d36d7e7a647657c"
|
resolved "https://registry.yarnpkg.com/gatsby-plugin-google-gtag/-/gatsby-plugin-google-gtag-1.0.16.tgz#547cd1302277e99fc7397dbf9d36d7e7a647657c"
|
||||||
|
Loading…
Reference in New Issue
Block a user