diff --git a/README.md b/README.md index ec74bd629c..3c2282fa14 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,11 @@ My personal website. Built using Node.js, React, Express, React-Router, Hot Modu ### Tests: [![Code Climate](https://codeclimate.com/github/mldangelo/mldangelo/badges/gpa.svg)](https://codeclimate.com/github/mldangelo/mldangelo) [![Build Status](https://travis-ci.org/mldangelo/mldangelo.svg?branch=master)](https://travis-ci.org/mldangelo/mldangelo) +[![Dependency Tracking](https://david-dm.org/mldangelo/mldangelo.svg)](https://david-dm.org/) -### Requirements: -* node >= v6.0 +### Dependencies: +* node >= v6.0.0 +* yarn >= v0.18. ### Installation: @@ -14,7 +16,7 @@ My personal website. Built using Node.js, React, Express, React-Router, Hot Modu ```bash git clone git://github.com/mldangelo/mldangelo.git cd mldangelo - npm install + yarn ``` 2. Optionally configure nginx. Run: @@ -23,7 +25,8 @@ My personal website. Built using Node.js, React, Express, React-Router, Hot Modu sudo ln [root directory]/nginx/mldangelo.conf [nginx directory]/sites-enabled/mldangelo.conf sudo service nginx restart ``` - Note: HTTPS block should be removed if step 2 (below is not followed) + Note: HTTPS block should be removed if step 3 (below) is not followed. + 3. Optionally configure a SSL certificate using Certbot. See [here](https://certbot.eff.org/#ubuntutrusty-nginx) for installation and setup instructions. A cronjob such as: @@ -38,17 +41,15 @@ for installation and setup instructions. A cronjob such as: 1. ``` cp sample.env .env ``` and set values as appropriate. -2. cd into [root directory] and run: +2. Run `npm run forever-start` and navigate to `: (default=7999)`. - ```bash - npm run build - npm start - ``` - If running in background, use nohup or screen. -3. Navigate to `: (default=7999)` and enjoy. +### Developing: +1. Set `NODE_ENV=development` in `.env`. +2. Run `npm run dev` ### Contributors - [@mldangelo](https://github.com/mldangelo) +- [@typpo](https://github/typpo) ### Acknowlegements - Special thanks to [@typpo](https://github.com/typpo) for tirelessly answering all of my node.js and react questions. diff --git a/app/components/Resume.js b/app/components/Resume.js deleted file mode 100644 index 296061b20d..0000000000 --- a/app/components/Resume.js +++ /dev/null @@ -1,33 +0,0 @@ -import React from 'react'; -import { Link } from 'react-router'; - -import Education from './Resume/Education'; -import Experience from './Resume/Experience'; -import Skills from './Resume/Skills'; -import Courses from './Resume/Courses'; - -const Resume = () => ( -
-
-
-

Resume

-
-
- - - - - - -
-
- -

References are available upon request

- -
-
- -
-); - -export default Resume; diff --git a/app/components/Resume/Courses.js b/app/components/Resume/Courses.js index 2dccc0af21..8045e35ba1 100644 --- a/app/components/Resume/Courses.js +++ b/app/components/Resume/Courses.js @@ -19,16 +19,15 @@ const getRows = () => courses.sort((a, b) => { )); const Courses = () => ( -
-
-
-

Selected Courses

-
-
    - {getRows()} -
+
+
+
+

Selected Courses

-
+
    + {getRows()} +
+ ); export default Courses; diff --git a/app/components/Resume/Education.js b/app/components/Resume/Education.js index 5b969e1730..982ff32b0d 100644 --- a/app/components/Resume/Education.js +++ b/app/components/Resume/Education.js @@ -12,6 +12,7 @@ const getRows = () => degrees.map(degree => ( const Education = () => (
+

Education

diff --git a/app/components/Resume/Experience.js b/app/components/Resume/Experience.js index 7cae337114..3ef4d71058 100644 --- a/app/components/Resume/Experience.js +++ b/app/components/Resume/Experience.js @@ -12,6 +12,7 @@ const getRows = () => positions.map(job => ( const Experience = () => (
+

Experience

diff --git a/app/components/Resume/References.js b/app/components/Resume/References.js new file mode 100644 index 0000000000..4630822a75 --- /dev/null +++ b/app/components/Resume/References.js @@ -0,0 +1,15 @@ +import React from 'react'; +import { Link } from 'react-router'; + +const References = () => ( +
+
+
+ +

References are available upon request

+ +
+
+); + +export default References; diff --git a/app/components/Resume/Skills.js b/app/components/Resume/Skills.js index a10c74184a..666fb33a4c 100644 --- a/app/components/Resume/Skills.js +++ b/app/components/Resume/Skills.js @@ -69,6 +69,7 @@ class Skills extends Component { render() { return (
+

Skills

Note: I think these sections are silly, but everyone seems to have one.

diff --git a/app/components/Stats/Personal.js b/app/components/Stats/Personal.js new file mode 100644 index 0000000000..414749aaf3 --- /dev/null +++ b/app/components/Stats/Personal.js @@ -0,0 +1,38 @@ +import React, { Component } from 'react'; + +import Table from './Table'; +import data from '../../data/stats'; + +class PersonalStats extends Component { + + constructor(props) { + super(props); + this.state = { data }; + } + + componentDidMount() { + this.timer = setInterval(() => this.tick(), 100); + } + + tick() { + const divisor = 1000 * 60 * 60 * 24 * 365.2421897; // ms in an average year + const birthTime = new Date('1990-02-05T09:24:00'); + this.state.data.age.value = ((Date.now() - birthTime) / divisor).toFixed(9); + this.setState({ + data: this.state.data, + }); + } + + render() { + return ( +
+

Some stats about me

+ + + ); + } +} + +export default PersonalStats; diff --git a/app/components/Stats.js b/app/components/Stats/Site.js similarity index 58% rename from app/components/Stats.js rename to app/components/Stats/Site.js index 44552878fe..67b20fe182 100644 --- a/app/components/Stats.js +++ b/app/components/Stats/Site.js @@ -1,18 +1,15 @@ import React, { Component } from 'react'; -import { Link } from 'react-router'; import axios from 'axios'; -import Table from './Stats/Table'; -import data from '../data/github'; +import Table from './Table'; +import data from '../../data/github'; class Stats extends Component { constructor(props) { super(props); - this.state = { - data, - }; + this.state = { data }; } componentDidMount() { @@ -32,17 +29,12 @@ class Stats extends Component { render() { return ( -
-
-
-

Some stats about this site

-

Click here to see how these are generated.

-
-
+
+

Some stats about this site

- + ); } } diff --git a/app/components/Stats/Table.js b/app/components/Stats/Table.js index 88fee7afd7..bf001c6169 100644 --- a/app/components/Stats/Table.js +++ b/app/components/Stats/Table.js @@ -17,7 +17,7 @@ class Table extends Component { render() { return ( -
+
{this.getRows()} diff --git a/app/components/Stats/TableRow.js b/app/components/Stats/TableRow.js index 314d4999f1..d2a983fb58 100644 --- a/app/components/Stats/TableRow.js +++ b/app/components/Stats/TableRow.js @@ -11,7 +11,7 @@ class TableRow extends Component { render() { return ( - + ); diff --git a/app/components/Template/Header/Hamburger.js b/app/components/Template/Hamburger.js similarity index 97% rename from app/components/Template/Header/Hamburger.js rename to app/components/Template/Hamburger.js index 4d85fa7e09..7756a377bd 100644 --- a/app/components/Template/Header/Hamburger.js +++ b/app/components/Template/Hamburger.js @@ -3,7 +3,7 @@ import { Link, IndexLink } from 'react-router'; import Menus from 'react-burger-menu'; -import links from '../../../data/links'; +import links from '../../data/links'; const Menu = Menus.slide; diff --git a/app/components/Template/Header.js b/app/components/Template/Header.js index 4cf7043abd..7c60ec14de 100644 --- a/app/components/Template/Header.js +++ b/app/components/Template/Header.js @@ -1,7 +1,7 @@ import React from 'react'; import { Link, IndexLink } from 'react-router'; -import Hamburger from './Header/Hamburger'; +import Hamburger from './Hamburger'; import links from '../../data/links'; const Header = () => ( diff --git a/app/data/about.md b/app/data/about.md new file mode 100644 index 0000000000..437854a0cb --- /dev/null +++ b/app/data/about.md @@ -0,0 +1,78 @@ +
+#### Intro +I am the CTO of [Arthena](https://arthena.com) where I work on building the most accurate models for pricing and valuating fine art. My primary job functions are as a data scientist and software engineer. +
+I am available to consult on interesting projects. I am particularly interested in social impact, education, inclusively, space, and in applying machine learning to large data sets. I may even be available for pro-bono work depending on the time commitment and the project. If you'd like to meet, I am based in Palo Alto but travel to New York frequently. +

+#### currently +At Arthena I have learned how to build teams and manage people, build relationships with customers, sell enterprise products, and build on-line predictive models for production environments. I've also learned how to build and maintain large web applications (see [arthena.com](https://arthena.com)). +

+#### Some History (Early Life): + +- I was born on February 5th, 1990. + +- My parents put a computer in my bedroom when I was 3. It was an old Tandy that ran MS-DOS and could barely handle Wolfenstein 3D. + +- We subscribed to AOL in 1995. I still remember installing it from a floppy disk onto our brand new Packard Bell. + +- At 8, my parents bought me a Sony Mavica MVC-FD71 digital camera after I stole their SLR one too many times. It could fit 10 images to a floppy disk at a 0.3MP resolution. I still have it and it still works. I've been taking photographs ever since, now with a Nikon D750, D800, and occasionally with a Mamiya 6II. + +- At 10, I built my first website with Microsoft FrontPage. It was terrible. + +- I was 11 when I built my first [Tesla Coil](https://en.wikipedia.org/wiki/Tesla_coil) (without the permission of my parents). Over the next few years, I built several more including one of the first audio modulated coils and one of the first DRSSTCs. + +- When I was 12, I set the all-time high record at my local laser tag facility by reverse engineering the charging station and weapon protocols with a photo-resistor, micro-cassette recorder, and a lot of patience. I was unstoppable. + +- At 13, I went to space camp and fell in love. I went back two more times and promised myself that I'd work in space. I've since worked on three generations of satellites. + +- At 14, I was almost expelled for finding a backdoor into my high school's file server and telling everyone but the faculty members about it. Later that year, I figured out how to turn off the internet firewall by editing system registry keys and later anonymously shared my work. + +- At 16, I participated in a foreign exchange program in Dortmund, Germany. Since then, I've gone back almost every year. + +- 14 - 17, I played a lot of video games. My favorites included Counter Strike Source, Command and Conquer 3, Halo 2, and Age of Empires 3. + +- At 18, In the summer before college, my friends and I started playing Muggle Quidditch. We went on to start over 8 teams in the [International Quidditch Association](https://en.wikipedia.org/wiki/International_Quidditch_Association) including the [Buffalo Quidditch Society](https://www.facebook.com/buffaloquidditch/). At our height, we were ranked third in the IQA. Although I don't play anymore, you can still see pictures of me holding a broom while wearing a chess camp t-shirt on facebook. + +- At 19, I took my first graduate course and published my first paper. + +- At 20, I coauthored a grant to build a satellite and managed a 60+ person team through the end of undergrad. You can read more about that [here](https://ubnl.space/glados/). + +You can ask me in person for stories that I'm afraid to share with the internet. +

+#### I like +- Skiing +- The sea +- Space +- Summer +- [Books](https://www.goodreads.com/mdangelo) +- Colored pencils +- NPR podcasts +- Obscure indie music +- Good design +- Photography + +#### Travel / Geography + +- I am from originally from Buffalo, New York. I have since lived in +Palo Alto, Mountain View, San Francisco, Seattle, and New York. + +- I've been to ~ 50 countries, some of which I have forgotten, and many of which I would like to revisit. + +- In 2016, I visited: Canada, Ethiopia, Austria, Germany, Belgium, Ireland, Northern Ireland, Italy, Romania, Sweden, Norway, Svalbard, Panama, Costa Rica, Uganda, Japan, and the UAE, mostly in that order. + +- In 2017, I plan to visit: Canada, Japan, China, Nepal, Indonesia, Germany, Denmark, Norway, Sweden, Russia, and Uganda. + +- I am an Oregon Trail II enthusiast. + +#### Fun Facts + +- I have a list of thousands of ideas, like creating matching bow ties for cats and humans. +- I almost always have a sketchbook with me. +- I can't locate every country on a map. +- I added this page because so many people complained that my site was just a resume. + +#### I dream of +- always finding inspiration. +- enabling a brighter future. +- doing better. +- no one checking my commit history for early drafts of this branch. diff --git a/app/data/github.js b/app/data/github.js index 07515be165..f5f8b01599 100644 --- a/app/data/github.js +++ b/app/data/github.js @@ -33,7 +33,7 @@ const data = [ }, { label: 'Number of linter warnings', // `npm run lint | grep problems | tail -1 | awk '{print $2}'` - value: '6', // TODO Update from travis / circle + value: '0', // TODO Update from travis / circle }, { label: 'Open github issues', key: 'open_issues_count', @@ -45,14 +45,15 @@ const data = [ value: moment().format('MMMM Do YYYY'), link: 'https://github.com/mldangelo/mldangelo/commits', }, + { /* find . | grep ".js" | grep -vE ".min.js|node_modules|.git|.json" | + xargs -I file cat file | wc -l */ + label: 'Lines of Javascript powering this website', + value: '1811', + link: 'https://github.com/mldangelo/mldangelo/graphs/contributors', + }, ]; /* // TODO Add these fields later -{ - label: 'number of lines of code powering this website', - value: '9762', - link: 'https://github.com/mldangelo/mldangelo/graphs/contributors', -}, { label: 'languages used', value: '6', diff --git a/app/data/links.js b/app/data/links.js index 5780b2b5d6..d0922ba121 100644 --- a/app/data/links.js +++ b/app/data/links.js @@ -4,6 +4,10 @@ const data = [ label: 'Michael D\'Angelo', index: true, }, + { + link: '/about', + label: 'About', + }, { link: '/resume', label: 'Resume', diff --git a/app/data/skills.js b/app/data/skills.js index 3d5fe444c8..ff340f6df3 100644 --- a/app/data/skills.js +++ b/app/data/skills.js @@ -5,9 +5,11 @@ export const categories = { Databases: '#3896e2', Design: '#747fff', Frameworks: '#64cb7b', + Javascript: '#d75858', Languages: '#6968b3', 'Machine Learning': '#e47272', Other: '#c3423f', + Python: '#37b1f5', Tools: '#40494e', 'Web Development': '#cc7b94', }; @@ -15,23 +17,23 @@ export const categories = { export const skills = [ { title: 'Javascript', - compentency: 4, - category: ['Web Development', 'Languages'], + compentency: 5, + category: ['Web Development', 'Languages', 'Javascript'], }, { title: 'Node.JS', - compentency: 4, - category: ['Web Development', 'Frameworks'], + compentency: 5, + category: ['Web Development', 'Frameworks', 'Javascript'], }, { title: 'React', compentency: 4, - category: ['Web Development', 'Frameworks'], + category: ['Web Development', 'Frameworks', 'Javascript'], }, { title: 'Backbone', compentency: 3, - category: ['Web Development', 'Frameworks'], + category: ['Web Development', 'Frameworks', 'Javascript'], }, { title: 'Bootstrap', @@ -96,43 +98,28 @@ export const skills = [ { title: 'Express.JS', compentency: 5, - category: ['Web Development', 'Frameworks'], + category: ['Web Development', 'Frameworks', 'Javascript'], }, { title: 'Koa', compentency: 3, - category: ['Web Development', 'Frameworks'], + category: ['Web Development', 'Frameworks', 'Javascript'], }, { title: 'D3', compentency: 3, - category: ['Web Development', 'Frameworks', 'Design'], + category: ['Web Development', 'Frameworks', 'Design', 'Javascript'], }, { title: 'Flask', compentency: 4, - category: ['Web Development', 'Frameworks'], + category: ['Web Development', 'Frameworks', 'Python'], }, { title: 'Product Development', compentency: 3, category: ['Other'], }, - { - title: 'Meteor', - compentency: 3, - category: ['Web Development', 'Frameworks'], - }, - { - title: 'Sails.js', - compentency: 3, - category: ['Web Development', 'Frameworks'], - }, - { - title: 'MEAN Stack', - compentency: 2, - category: ['Web Development', 'Frameworks'], - }, { title: 'Data Analysis', compentency: 3, @@ -156,7 +143,7 @@ export const skills = [ { title: 'Numpy', compentency: 3, - category: ['Data Science', 'Machine Learning'], + category: ['Data Science', 'Machine Learning', 'Python'], }, { title: 'Caffe', @@ -166,12 +153,12 @@ export const skills = [ { title: 'Tensorflow', compentency: 4, - category: ['Data Science', 'Machine Learning'], + category: ['Data Science', 'Machine Learning', 'Python'], }, { - title: 'IPython', + title: 'Jupyter', compentency: 4, - category: ['Data Science', 'Machine Learning'], + category: ['Data Science', 'Machine Learning', 'Python'], }, { title: 'Typescript', @@ -201,7 +188,7 @@ export const skills = [ { title: 'Python', compentency: 5, - category: ['Languages'], + category: ['Languages', 'Python'], }, { @@ -232,11 +219,36 @@ export const skills = [ { title: 'Keras', compentency: 4, - category: ['Machine Learning'], + category: ['Machine Learning', 'Python'], }, { title: 'Visualization', compentency: 4, - category: ['Data Science'], + category: ['Data Science', 'Javascript'], + }, + { + title: 'GraphQL', + compentency: 3, + category: ['Web Development', 'Databases'], + }, + { + title: 'Pandas', + compentency: 4, + category: ['Data Science', 'Python'], + }, + { + title: 'Matplotib', + compentency: 4, + category: ['Data Science', 'Python'], + }, + { + title: 'Scikit-Lean', + compentency: 4, + category: ['Data Science', 'Python'], + }, + { + title: 'Pylint', + compentency: 4, + category: ['Python'], }, ]; diff --git a/app/data/stats.js b/app/data/stats.js new file mode 100644 index 0000000000..f8bec2d7b4 --- /dev/null +++ b/app/data/stats.js @@ -0,0 +1,18 @@ +const data = { + age: { + label: 'Current age', + value: 0, + }, + countries: { + label: 'Countries visited', + value: 53, + link: 'https://www.google.com/maps/d/embed?mid=1iBBTscqateQ93pWFVfHCUZXoDu8&z=2', + }, + location: { + label: 'Current city', + value: 'Palo Alto, CA', + link: 'https://goo.gl/maps/eXsXbdUGRAt', + }, +}; + +export default data; diff --git a/app/main.js b/app/main.js index aaed8aaa8b..c49c223131 100644 --- a/app/main.js +++ b/app/main.js @@ -4,12 +4,13 @@ import { Router, Route, IndexRoute, browserHistory } from 'react-router'; import ReactGA from 'react-ga'; import App from './App'; -import About from './components/About'; -import Projects from './components/Projects'; -import Resume from './components/Resume'; -import Stats from './components/Stats'; -import Contact from './components/Contact'; -import NotFound from './components/NotFound'; +import Index from './pages/Index'; +import About from './pages/About'; +import Projects from './pages/Projects'; +import Resume from './pages/Resume'; +import Stats from './pages/Stats'; +import Contact from './pages/Contact'; +import NotFound from './pages/NotFound'; ReactGA.initialize('UA-68649021-1'); @@ -24,7 +25,8 @@ require('../public/css/main.scss'); ReactDOM.render( - + + diff --git a/app/pages/About.js b/app/pages/About.js new file mode 100644 index 0000000000..72c9d1c433 --- /dev/null +++ b/app/pages/About.js @@ -0,0 +1,19 @@ +import React from 'react'; +import { Link } from 'react-router'; +import ReactMarkdown from 'react-markdown'; + +import markdown from '../data/about.md'; + +const About = () => ( +
+
+
+

About Me

+

(in 1,000 words)

+
+
+ +
+); + +export default About; diff --git a/app/components/Contact.js b/app/pages/Contact.js similarity index 100% rename from app/components/Contact.js rename to app/pages/Contact.js index e18bdd98a6..4c32dca1fc 100644 --- a/app/components/Contact.js +++ b/app/pages/Contact.js @@ -13,10 +13,10 @@ const messages = [ 'or-this', 'but not this :( ', 'you.can.also.email.me.with.specific.topics.like', - 'help', - 'admin', 'just-saying-hi', 'please-work-for-us', + 'help', + 'admin', 'or-I-really-like-your-website', 'I\'ll-stop-distracting-you-now', 'thanks', diff --git a/app/components/About.js b/app/pages/Index.js similarity index 73% rename from app/components/About.js rename to app/pages/Index.js index 2419568c6e..338d8d26ee 100644 --- a/app/components/About.js +++ b/app/pages/Index.js @@ -1,15 +1,16 @@ import React from 'react'; import { Link, IndexLink } from 'react-router'; -const About = () => ( -
+const Index = () => ( +

About this site

A beautiful, responsive, react app written with ES2016. Please hire me.

-

Welcome to my website. Please feel free to check out my {' '} +

Welcome to my website. Please feel free to read more about me, + or you can check out my {' '} resume, {' '} projects, {' '} view site statistics, {' '} @@ -18,4 +19,4 @@ const About = () => (

); -export default About; +export default Index; diff --git a/app/components/NotFound.js b/app/pages/NotFound.js similarity index 100% rename from app/components/NotFound.js rename to app/pages/NotFound.js diff --git a/app/components/Projects.js b/app/pages/Projects.js similarity index 92% rename from app/components/Projects.js rename to app/pages/Projects.js index 7ba1113cac..a697d3c870 100644 --- a/app/components/Projects.js +++ b/app/pages/Projects.js @@ -1,7 +1,7 @@ import React from 'react'; import { Link } from 'react-router'; -import Cell from './Projects/Cell'; +import Cell from '../components/Projects/Cell'; import data from '../data/projects'; // TODO: Put projects side by side (2x2) instead of (1x4) diff --git a/app/pages/Resume.js b/app/pages/Resume.js new file mode 100644 index 0000000000..1f0f6ad10a --- /dev/null +++ b/app/pages/Resume.js @@ -0,0 +1,42 @@ +import React from 'react'; +import { Link } from 'react-router'; + +import Education from '../components/Resume/Education'; +import Experience from '../components/Resume/Experience'; +import Skills from '../components/Resume/Skills'; +import Courses from '../components/Resume/Courses'; +import References from '../components/Resume/References'; + +const sections = [ + 'Education', + 'Experience', + 'Skills', + 'Courses', + 'References', +]; + + +const Resume = () => ( +
+
+
+

Resume

+
+ {sections.map(sec => ( +

+ {sec} +

))} +
+ +
+
+ + + + + + +
+); + +export default Resume; diff --git a/app/pages/Stats.js b/app/pages/Stats.js new file mode 100644 index 0000000000..8eaf4ad064 --- /dev/null +++ b/app/pages/Stats.js @@ -0,0 +1,19 @@ +import React from 'react'; +import { Link } from 'react-router'; + +import Personal from '../components/Stats/Personal'; +import Site from '../components/Stats/Site'; + +const Stats = () => ( +
+
+
+

Stats

+
+
+ + +
+); + +export default Stats; diff --git a/package.json b/package.json index 9677d8f729..ae10bc05d1 100644 --- a/package.json +++ b/package.json @@ -32,13 +32,17 @@ "extract-text-webpack-plugin": "^2.0.0-rc.3", "forever": "^0.15.3", "github": "8.1.1", + "html-loader": "^0.4.4", "html-webpack-plugin": "^2.28.0", + "markdown-loader": "^2.0.0", "moment": "^2.17.1", "morgan": "^1.8.0", + "normalize.css": "^5.0.0", "react": "^15.4.2", "react-burger-menu": "^1.10.10", "react-dom": "^15.4.2", "react-ga": "^2.1.2", + "react-markdown": "^2.4.4", "react-router": "^3.0.2", "rimraf": "^2.5.4", "stats-webpack-plugin": "^0.4.3", diff --git a/public/css/layout/_about.scss b/public/css/layout/_about.scss new file mode 100644 index 0000000000..39acdafe9d --- /dev/null +++ b/public/css/layout/_about.scss @@ -0,0 +1,8 @@ +// About page (/about) + +#about { + + p { + margin: auto; + } +} diff --git a/public/css/layout/_contact.scss b/public/css/layout/_contact.scss index 54584cc1be..9fcb1d87fa 100644 --- a/public/css/layout/_contact.scss +++ b/public/css/layout/_contact.scss @@ -1,4 +1,4 @@ -// Not found page +// Contact page (/contact) #contact { diff --git a/public/css/layout/_notFound.scss b/public/css/layout/_notFound.scss index e19a2d6ea4..1c14d36948 100644 --- a/public/css/layout/_notFound.scss +++ b/public/css/layout/_notFound.scss @@ -1,4 +1,4 @@ -// Not found page +// Not found page (/*) .not-found { text-align: center; diff --git a/public/css/layout/_resume.scss b/public/css/layout/_resume.scss index 0102dcc934..0878a3c6db 100644 --- a/public/css/layout/_resume.scss +++ b/public/css/layout/_resume.scss @@ -1,7 +1,25 @@ -/* Resume */ +/* Resume */ #resume { + + .link-to { + position: relative; + top: -4.5em; + } + + .link-container h4 { + text-decoration:none; + border-bottom: none; + display: inline; + + a { + padding: 0 .5em; + margin: 0; + } + } + .education { + .title { text-align: center; margin-bottom: 2em; @@ -42,6 +60,7 @@ } } } + .skills { margin-top: 2em; .title { diff --git a/public/css/layout/_stats.scss b/public/css/layout/_stats.scss new file mode 100644 index 0000000000..7869fc51bb --- /dev/null +++ b/public/css/layout/_stats.scss @@ -0,0 +1,7 @@ +// About page (/about) + +#stats { + table { + width: 100%; + } +} diff --git a/public/css/main.scss b/public/css/main.scss index 902ca38928..d0240885bb 100644 --- a/public/css/main.scss +++ b/public/css/main.scss @@ -1,3 +1,5 @@ +@import '../../node_modules/normalize.css/normalize.css'; + @import 'libs/vars'; @import 'libs/functions'; @import 'libs/mixins'; @@ -57,7 +59,9 @@ @import 'layout/footer'; @import 'layout/menu'; + @import 'layout/about'; @import 'layout/resume'; @import 'layout/skills'; + @import 'layout/stats'; @import 'layout/contact'; @import 'layout/notFound'; diff --git a/server.js b/server.js index 2e7470d2c2..a2fb56a3ba 100644 --- a/server.js +++ b/server.js @@ -29,7 +29,6 @@ app.use(express.static(path.join(__dirname, 'public'))); apiRoutes(app); -// TODO(Michael) Rewrite linter rule for string compare if (env === 'development') { // eslint-disable-line eqeqeq const compiler = webpack(config); const middleware = webpackMiddleware(compiler, { @@ -63,7 +62,7 @@ app.listen(port, '0.0.0.0', (err) => { if (err) { console.error('application-err', err); } - console.info(`Started in ${env === 'development' ? 'development' : 'production'} mode on port ${port}.`); + console.info(`Started in ${env === 'development' ? env : 'production'} mode on port ${port}.`); }); export default app; diff --git a/webpack/webpack.config.js b/webpack/webpack.config.js index 962c5ea67e..38eb64a77f 100644 --- a/webpack/webpack.config.js +++ b/webpack/webpack.config.js @@ -1,5 +1,3 @@ - - const path = require('path'); const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); @@ -28,24 +26,32 @@ module.exports = { }), ], module: { - loaders: [{ - test: /\.js?$/, - exclude: /node_modules/, - loader: 'babel-loader', - }, { - test: /\.json?$/, - loader: 'json', - }, { - test: /\.css$/, - loader: 'style-loader!css-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]', - }, - { - test: /\.scss$/, - loaders: 'style-loader!css-loader!sass-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]', - }, { - test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'url-loader?limit=10000&minetype=application/font-woff', - }, { - test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file-loader', - }], + loaders: [ + { + test: /\.js?$/, + exclude: /node_modules/, + loader: 'babel-loader', + }, { + test: /\.md$/, + use: [ + { loader: 'html-loader' }, + { loader: 'markdown-loader' }, + ], + }, { + test: /\.json?$/, + loader: 'json-loader', + }, { + test: /\.css$/, + loader: 'style-loader!css-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]', + }, + { + test: /\.scss$/, + loaders: 'style-loader!css-loader!sass-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]', + }, { + test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'url-loader?limit=10000&minetype=application/font-woff', + }, { + test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file-loader', + }, + ], }, }; diff --git a/webpack/webpack.production.config.js b/webpack/webpack.production.config.js index 2522c328b5..9c6fe36a2a 100644 --- a/webpack/webpack.production.config.js +++ b/webpack/webpack.production.config.js @@ -46,26 +46,33 @@ module.exports = { new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /en/), ], module: { - loaders: [{ - test: /\.js?$/, - exclude: /node_modules/, - loader: 'babel-loader', - }, { - test: /\.json?$/, - loader: 'json', - }, { // TODO(Michael): Verfiy css/scss loaders later. Remove -loader from loader names - test: /\.css$/, - loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]' }), - }, { - test: /\.scss$/, - loaders: 'style-loader!css-loader!sass-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]', - }, { - test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'url-loader?limit=10000&minetype=application/font-woff', - }, { - test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file-loader', - }, { - test: /\.js$/, loader: 'strip-loader?strip[]=console.log', - }, + loaders: [ + { + test: /\.js?$/, + exclude: /node_modules/, + loader: 'babel-loader', + }, { + test: /\.md$/, + use: [ + { loader: 'html-loader' }, + { loader: 'markdown-loader' }, + ], + }, { + test: /\.json?$/, + loader: 'json-loader', + }, { + test: /\.css$/, + loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]' }), + }, { + test: /\.scss$/, + loaders: 'style-loader!css-loader!sass-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]', + }, { + test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'url-loader?limit=10000&minetype=application/font-woff', + }, { + test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file-loader', + }, { + test: /\.js$/, loader: 'strip-loader?strip[]=console.log', + }, ], }, }; diff --git a/yarn.lock b/yarn.lock index 38290a4ba5..9c105f8301 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,8 +34,8 @@ acorn@^3.0.4: resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" acorn@^4.0.3, acorn@^4.0.4: - version "4.0.8" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.8.tgz#f41e52020ce78118a3c68ed0e9215eb8fc68b5b1" + version "4.0.11" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" agent-base@2: version "2.0.1" @@ -45,8 +45,8 @@ agent-base@2: semver "~5.0.1" ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50" + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" ajv@^4.11.2, ajv@^4.7.0: version "4.11.2" @@ -80,8 +80,8 @@ ansi-html@0.0.6: resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.6.tgz#bda8e33dd2ee1c20f54c08eb405713cbfc0ed80e" ansi-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" ansi-styles@^2.2.1: version "2.2.1" @@ -95,8 +95,8 @@ anymatch@^1.3.0: micromatch "^2.1.5" aproba@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + version "1.1.1" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" are-we-there-yet@~1.1.2: version "1.1.2" @@ -139,13 +139,6 @@ array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" -array-index@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-index/-/array-index-1.0.0.tgz#ec56a749ee103e4e08c790b9c353df16055b97f9" - dependencies: - debug "^2.2.0" - es6-symbol "^3.0.2" - array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -213,6 +206,10 @@ ast-types-flow@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" +ast-types@0.9.5: + version "0.9.5" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.5.tgz#1a660a09945dbceb1f9c9cbb715002617424e04a" + ast-types@^0.7.0: version "0.7.8" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.7.8.tgz#902d2e0d60d071bdcd46dc115e1809ed11c138a9" @@ -230,8 +227,8 @@ async@0.2.9, async@0.2.x, async@~0.2.6, async@~0.2.9: resolved "https://registry.yarnpkg.com/async/-/async-0.2.9.tgz#df63060fbf3d33286a76aaf6d55a2986d9ff8619" async@^2.0.1, async@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.1.2.tgz#612a4ab45ef42a70cde806bad86ee6db047e8385" + version "2.1.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" dependencies: lodash "^4.14.0" @@ -255,14 +252,14 @@ aws-sign2@~0.6.0: resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" aws4@^1.2.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -axios: - version "0.15.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.15.2.tgz#496f50980b2ce1ad2e195af93c2d03b4d035e90d" +axios@^0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.15.3.tgz#2c9d638b2e191a08ea1d6cc988eadd6ba5bdc053" dependencies: - follow-redirects "0.0.7" + follow-redirects "1.0.0" babel-cli@^6.22.2: version "6.22.2" @@ -474,13 +471,6 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-lodash@^3.2.11: - version "3.2.11" - resolved "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.2.11.tgz#21c8fdec9fe1835efaa737873e3902bdd66d5701" - dependencies: - glob "^7.1.1" - lodash "^4.17.2" - babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" @@ -880,11 +870,7 @@ babel-types@^6.15.0, babel-types@^6.19.0, babel-types@^6.22.0: lodash "^4.2.0" to-fast-properties "^1.0.1" -babylon@^6.11.0, babylon@^6.13.0: - version "6.13.1" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.1.tgz#adca350e088f0467647157652bafead6ddb8dfdb" - -babylon@^6.15.0: +babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0: version "6.15.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" @@ -892,10 +878,6 @@ balanced-match@^0.4.1, balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" -balanced-match@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.1.0.tgz#b504bd05869b39259dd0c5efc35d843176dccc4a" - base64-js@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" @@ -905,8 +887,8 @@ basic-auth@~1.1.0: resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.1.0.tgz#45221ee429f7ee1e5035be3f51533f1cdfd29884" bcrypt-pbkdf@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" dependencies: tweetnacl "^0.14.3" @@ -915,8 +897,8 @@ big.js@^3.1.3: resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" binary-extensions@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d" + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" block-stream@*: version "0.0.9" @@ -958,8 +940,8 @@ boom@2.x.x: hoek "2.x.x" bowser@^1.0.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.5.0.tgz#b97414bacbc631f19f1e2e11466566ec19324983" + version "1.6.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.0.tgz#37fc387b616cb6aef370dab4d6bd402b74c5c54d" brace-expansion@^1.0.0: version "1.1.6" @@ -987,8 +969,8 @@ broadway@~0.3.2, broadway@~0.3.6: winston "0.8.0" brorand@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.6.tgz#4028706b915f91f7b349a2e0bf3c376039d216e5" + version "1.0.7" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.7.tgz#6677fa5e4901bdbf9c9ec2a748e28dca407a9bfc" browser-resolve@^1.8.1: version "1.11.2" @@ -1055,7 +1037,7 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserslist@^1.7.1: +browserslist@^1.0.1, browserslist@^1.5.2, browserslist@^1.7.1: version "1.7.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.1.tgz#cc9bd193979a2a4b09fdb3df6003fefe48ccefe1" dependencies: @@ -1136,9 +1118,18 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -caniuse-db@^1.0.30000617, caniuse-db@^1.0.30000618: - version "1.0.30000619" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000619.tgz#bffaa8150637c3182d3914a9718369b079299529" +caniuse-api@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.5.3.tgz#5018e674b51c393e4d50614275dc017e27c4a2a2" + dependencies: + browserslist "^1.0.1" + caniuse-db "^1.0.30000346" + lodash.memoize "^4.1.0" + lodash.uniq "^4.3.0" + +caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000617, caniuse-db@^1.0.30000618: + version "1.0.30000622" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000622.tgz#9d9690b577384990a58e33ebb903a14da735e5fd" caseless@~0.11.0: version "0.11.0" @@ -1182,13 +1173,13 @@ cipher-base@^1.0.0, cipher-base@^1.0.1: dependencies: inherits "^2.0.1" -circular-json@^0.3.0: +circular-json@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" clap@^1.0.9: - version "1.1.1" - resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.1.tgz#a8a93e0bfb7581ac199c4f001a5525a724ce696d" + version "1.1.2" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.2.tgz#316545bf22229225a2cecaa6824cd2f56a9709ed" dependencies: chalk "^1.1.3" @@ -1197,8 +1188,8 @@ classnames@^2.1.1: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" clean-css@4.0.x: - version "4.0.4" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.0.4.tgz#629896cc364f3c3d00b9908ee60dd18e4c6c6462" + version "4.0.5" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.0.5.tgz#6a48c30dad03ebe425d209fc282baa53d36c92ca" dependencies: source-map "0.5.x" @@ -1263,8 +1254,8 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" color-convert@^1.3.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.7.0.tgz#473bcddfa54b76a77a3d435aceccfbf3d99cbbb0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" dependencies: color-name "^1.1.1" @@ -1322,6 +1313,24 @@ commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" +commonmark-react-renderer@^4.2.4: + version "4.3.2" + resolved "https://registry.yarnpkg.com/commonmark-react-renderer/-/commonmark-react-renderer-4.3.2.tgz#f30cdebd66141eef45ccd2d82fc00861e1e1f747" + dependencies: + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.isplainobject "^4.0.6" + pascalcase "^0.1.1" + xss-filters "^1.2.6" + +commonmark@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/commonmark/-/commonmark-0.24.0.tgz#b80de0182c546355643aa15db12bfb282368278f" + dependencies: + entities "~ 1.1.1" + mdurl "~ 1.0.1" + string.prototype.repeat "^0.2.0" + compressible@~2.0.8: version "2.0.9" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.9.tgz#6daab4e2b599c2770dd9e21e7a891b1c5a755425" @@ -1344,12 +1353,12 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" concat-stream@^1.4.6: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" configstore@^1.0.0: version "1.4.0" @@ -1520,8 +1529,8 @@ cssesc@^0.1.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" "cssnano@>=2.6.1 <4": - version "3.8.0" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.8.0.tgz#bb90ac5292f42b679d9a05f6da0e9697556bb80d" + version "3.10.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" dependencies: autoprefixer "^6.3.1" decamelize "^1.1.2" @@ -1556,9 +1565,9 @@ cssesc@^0.1.0: postcss-value-parser "^3.2.3" postcss-zindex "^2.0.1" -csso@~2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/csso/-/csso-2.2.1.tgz#51fbb5347e50e81e6ed51668a48490ae6fe2afe2" +csso@~2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.1.tgz#4f8d91a156f2f1c2aebb40b8fb1b5eb83d94d3b9" dependencies: clap "^1.0.9" source-map "^0.5.3" @@ -1584,8 +1593,8 @@ damerau-levenshtein@^1.0.0: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz#ae4f4ce0b62acae10ff63a01bb08f652f5213af2" dashdash@^1.12.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.0.tgz#29e486c5418bf0f356034a993d51686a33e84141" + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" dependencies: assert-plus "^1.0.0" @@ -1772,12 +1781,12 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" electron-to-chromium@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.1.tgz#63ac7579a1c5bedb296c8607621f2efc9a54b968" + version "1.2.2" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.2.tgz#e41bc9488c88e3cfa1e94bde28e8420d7d47c47c" elliptic@^6.0.0: - version "6.3.2" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.2.tgz#e4c81e0829cf0a65ab70e998b8232723b5c1bc48" + version "6.3.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -1817,7 +1826,7 @@ enhanced-resolve@^3.0.0: object-assign "^4.0.1" tapable "^0.2.5" -entities@~1.1.1: +"entities@~ 1.1.1", entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" @@ -1890,13 +1899,20 @@ es6-set@~0.1.3: es6-symbol "3" event-emitter "~0.3.4" -es6-symbol@3, es6-symbol@^3.0.2, es6-symbol@~3.1, es6-symbol@~3.1.0: +es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" dependencies: d "~0.1.1" es5-ext "~0.10.11" +es6-templates@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" + dependencies: + recast "~0.11.12" + through "~2.3.6" + es6-weak-map@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" @@ -2042,6 +2058,10 @@ esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" +esprima@^3.1.1, esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + esprima@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" @@ -2199,22 +2219,23 @@ eyes@0.1.x, eyes@~0.1.8: resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" fast-levenshtein@~2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2" + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" fastparse@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" fbjs@^0.8.1, fbjs@^0.8.4: - version "0.8.6" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.6.tgz#7eb67d6986b2d5007a9b6e92e0e7cb6f75cad290" + version "0.8.9" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.9.tgz#180247fbd347dcc9004517b904f865400a0c8f14" dependencies: core-js "^1.0.0" isomorphic-fetch "^2.1.1" loose-envify "^1.0.0" object-assign "^4.1.0" promise "^7.1.1" + setimmediate "^1.0.5" ua-parser-js "^0.7.9" figures@^1.3.5: @@ -2277,10 +2298,10 @@ find-up@^1.0.0: pinkie-promise "^2.0.0" flat-cache@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff" + version "1.2.2" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" dependencies: - circular-json "^0.3.0" + circular-json "^0.3.1" del "^2.0.2" graceful-fs "^4.1.2" write "^0.2.1" @@ -2305,6 +2326,12 @@ follow-redirects@0.0.7: debug "^2.2.0" stream-consume "^0.1.0" +follow-redirects@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.0.0.tgz#8e34298cbd2e176f254effec75a1c78cc849fd37" + dependencies: + debug "^2.2.0" + for-in@^0.1.5: version "0.1.6" resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" @@ -2382,8 +2409,8 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: - version "1.0.15" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44" + version "1.0.17" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" dependencies: nan "^2.3.0" node-pre-gyp "^0.6.29" @@ -2409,13 +2436,12 @@ function-bind@^1.0.2, function-bind@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" -gauge@~2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46" +gauge@~2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" - has-color "^0.1.7" has-unicode "^2.0.0" object-assign "^4.1.0" signal-exit "^3.0.0" @@ -2475,7 +2501,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -2524,9 +2550,9 @@ got@^3.2.0: read-all-stream "^3.0.0" timed-out "^2.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.4: - version "4.1.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -2547,10 +2573,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-color@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -2581,8 +2603,8 @@ hawk@~3.1.3: sntp "1.x.x" he@1.1.x: - version "1.1.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.0.tgz#29319d49beec13a9b1f3c4f9b2a6dde4859bb2a7" + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" history@^3.0.0: version "3.2.1" @@ -2609,8 +2631,8 @@ home-or-tmp@^2.0.0: os-tmpdir "^1.0.1" hosted-git-info@^2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + version "2.2.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5" html-comment-regex@^1.1.0: version "1.1.1" @@ -2620,9 +2642,19 @@ html-entities@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2" -html-minifier@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.3.0.tgz#a9b5b8eda501362d4c5699db02a8dc72013d1fab" +html-loader@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.4.4.tgz#f2b5b9acd5e035ff3ab5fd369c13c97a7bb014da" + dependencies: + es6-templates "^0.2.2" + fastparse "^1.1.1" + html-minifier "^3.0.1" + loader-utils "^0.2.15" + object-assign "^4.1.0" + +html-minifier@^3.0.1, html-minifier@^3.2.3: + version "3.3.1" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.3.1.tgz#dd38e60571537bf34a8171889c64fce73c45edad" dependencies: camel-case "3.0.x" clean-css "4.0.x" @@ -2702,8 +2734,8 @@ ignore-by-default@^1.0.0: resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" ignore@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" + version "3.2.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410" imurmurhash@^0.1.4: version "0.1.4" @@ -2738,7 +2770,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -2784,8 +2816,8 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" invariant@^2.2.0, invariant@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: loose-envify "^1.0.0" @@ -2798,8 +2830,8 @@ ipaddr.js@1.2.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.2.0.tgz#8aba49c9192799585bdd643e0ccb50e8ae777ba4" is-absolute-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.0.0.tgz#9c4b20b0e5c0cbef9a479a367ede6f991679f359" + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" is-arrayish@^0.2.1: version "0.2.1" @@ -2910,7 +2942,7 @@ is-plain-obj@^1.0.0: is-posix-bracket@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + resolved "http://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" is-primitive@^2.0.0: version "2.0.0" @@ -2995,17 +3027,20 @@ js-base64@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" -js-tokens@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" - js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" -js-yaml@^3.5.1, js-yaml@~3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" +js-yaml@^3.5.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz#782ba50200be7b9e5a8537001b7804db3ad02628" + dependencies: + argparse "^1.0.7" + esprima "^3.1.1" + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" dependencies: argparse "^1.0.7" esprima "^2.6.0" @@ -3041,16 +3076,16 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" json5@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2" + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" jsonpointer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" jsprim@^1.2.2: version "1.3.1" @@ -3067,8 +3102,8 @@ jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4: object-assign "^4.1.0" kind-of@^3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74" + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" dependencies: is-buffer "^1.0.2" @@ -3184,10 +3219,6 @@ lodash.defaults@^3.1.2: lodash.assign "^3.0.0" lodash.restparam "^3.0.0" -lodash.indexof@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/lodash.indexof/-/lodash.indexof-4.0.5.tgz#53714adc2cddd6ed87638f893aa9b6c24e31ef3c" - lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" @@ -3196,6 +3227,10 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + lodash.keys@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -3204,6 +3239,10 @@ lodash.keys@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" +lodash.memoize@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + lodash.mergewith@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" @@ -3220,7 +3259,11 @@ lodash.tail@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" -lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: +lodash.uniq@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.2.0, lodash@^4.3.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -3233,10 +3276,10 @@ longest@^1.0.1: resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: - js-tokens "^2.0.0" + js-tokens "^3.0.0" loud-rejection@^1.0.0: version "1.6.0" @@ -3254,8 +3297,8 @@ lowercase-keys@^1.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" lru-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.1.tgz#1343955edaf2e37d9b9e7ee7241e27c4b9fb72be" + version "4.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" dependencies: pseudomap "^1.0.1" yallist "^2.0.0" @@ -3272,11 +3315,24 @@ map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" -math-expression-evaluator@^1.2.14: - version "1.2.14" - resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.14.tgz#39511771ed9602405fba9affff17eb4d2a3843ab" +markdown-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-loader/-/markdown-loader-2.0.0.tgz#421862d38c4224fd3615eb648017ea385b562d78" dependencies: - lodash.indexof "^4.0.5" + loader-utils "^0.2.16" + marked "^0.3.6" + +marked@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" + +math-expression-evaluator@^1.2.14: + version "1.2.16" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.16.tgz#b357fa1ca9faefb8e48d10c14ef2bcb2d9f0a7c9" + +"mdurl@~ 1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" media-typer@0.3.0: version "0.3.0" @@ -3337,11 +3393,7 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -"mime-db@>= 1.24.0 < 2": - version "1.25.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" - -mime-db@~1.26.0: +"mime-db@>= 1.24.0 < 2", mime-db@~1.26.0: version "1.26.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" @@ -3383,9 +3435,9 @@ mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd dependencies: minimist "0.0.8" -moment: - version "2.16.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.16.0.tgz#f38f2c97c9889b0ee18fc6cc392e1e443ad2da8e" +moment@^2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz#fed9506063f36b10f066c8b59a144d7faebe1d82" morgan@^1.8.0: version "1.8.0" @@ -3410,8 +3462,8 @@ mute-stream@0.0.5, mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" nan@^2.3.0, nan@^2.3.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" + version "2.5.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" natural-compare@^1.4.0: version "1.4.0" @@ -3450,8 +3502,8 @@ netrc@^0.1.4: resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444" no-case@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.0.tgz#ca2825ccb76b18e6f79d573dcfbf1eace33dd164" + version "2.3.1" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081" dependencies: lower-case "^1.1.1" @@ -3463,8 +3515,8 @@ node-fetch@^1.0.1: is-stream "^1.0.1" node-gyp@^3.3.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.4.0.tgz#dda558393b3ecbbe24c9e6b8703c71194c63fa36" + version "3.5.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.5.0.tgz#a8fe5e611d079ec16348a3eb960e78e11c85274a" dependencies: fstream "^1.0.0" glob "^7.0.3" @@ -3472,9 +3524,8 @@ node-gyp@^3.3.1: minimatch "^3.0.2" mkdirp "^0.5.0" nopt "2 || 3" - npmlog "0 || 1 || 2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" osenv "0" - path-array "^1.0.0" request "2" rimraf "2" semver "2.x || 3.x || 4 || 5" @@ -3510,14 +3561,14 @@ node-libs-browser@^2.0.0: vm-browserify "0.0.4" node-pre-gyp@^0.6.29: - version "0.6.31" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.31.tgz#d8a00ddaa301a940615dbcc8caad4024d58f6017" + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9" dependencies: mkdirp "~0.5.1" nopt "~3.0.6" - npmlog "^4.0.0" + npmlog "^4.0.1" rc "~1.1.6" - request "^2.75.0" + request "^2.79.0" rimraf "~2.5.4" semver "~5.3.0" tar "~2.2.1" @@ -3546,10 +3597,6 @@ node-sass@^4.5.0: sass-graph "^2.1.1" stdout-stream "^1.4.0" -node-uuid@~1.4.7: - version "1.4.7" - resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" - nodemon@^1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c" @@ -3595,30 +3642,25 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" normalize-url@^1.4.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.8.0.tgz#a9550b079aa3523c85d78df24eef1959fce359ab" + version "1.9.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.0.tgz#c2bb50035edee62cd81edb2d45da68dc25e3423e" dependencies: object-assign "^4.0.1" prepend-http "^1.0.0" query-string "^4.1.0" sort-keys "^1.0.0" -"npmlog@0 || 1 || 2 || 3": - version "3.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-3.1.2.tgz#2d46fa874337af9498a2f12bb43d8d0be4a36873" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.6.0" - set-blocking "~2.0.0" +normalize.css@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-5.0.0.tgz#7cec875ce8178a5333c4de80b68ea9c18b9d7c37" -npmlog@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f" +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" - gauge "~2.6.0" + gauge "~2.7.1" set-blocking "~2.0.0" nssocket@~0.5.1: @@ -3651,8 +3693,8 @@ object-assign@^3.0.0: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" object-keys@^1.0.8: version "1.0.11" @@ -3675,7 +3717,13 @@ on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" -once@^1.3.0, once@~1.3.0, once@~1.3.3: +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.0, once@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" dependencies: @@ -3735,8 +3783,8 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" osenv@0, osenv@^0.1.0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.3.tgz#83cf05c6d6458fc4d5ac6362ea325d92f2754217" + version "0.1.4" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" @@ -3795,11 +3843,9 @@ parseurl@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" -path-array@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz#7e2f0f35f07a2015122b868b7eac0eb2c4fec271" - dependencies: - array-index "^1.0.0" +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" path-browserify@0.0.0: version "0.0.0" @@ -3886,16 +3932,16 @@ postcss-calc@^5.2.0: reduce-css-calc "^1.2.6" postcss-colormin@^2.1.8: - version "2.2.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.1.tgz#dc5421b6ae6f779ef6bfd47352b94abe59d0316b" + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" dependencies: colormin "^1.0.5" postcss "^5.0.13" postcss-value-parser "^3.2.3" postcss-convert-values@^2.3.4: - version "2.4.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.4.1.tgz#45dce4d4e33b7d967b97a4d937f270ea98d2fe7a" + version "2.6.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" dependencies: postcss "^5.0.11" postcss-value-parser "^3.1.2" @@ -3907,8 +3953,8 @@ postcss-discard-comments@^2.0.4: postcss "^5.0.14" postcss-discard-duplicates@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.0.1.tgz#5fae3f1a71df3e19cffb37309d1a7dba56c4589c" + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.0.2.tgz#02be520e91571ffb10738766a981d5770989bb32" dependencies: postcss "^5.0.4" @@ -3925,8 +3971,8 @@ postcss-discard-overridden@^0.1.1: postcss "^5.0.16" postcss-discard-unused@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.2.tgz#5d72f7d05d11de0a9589e001958067ccae1b4931" + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" dependencies: postcss "^5.0.14" uniqs "^2.0.0" @@ -3947,16 +3993,19 @@ postcss-merge-idents@^2.1.5: postcss-value-parser "^3.1.1" postcss-merge-longhand@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.1.tgz#ff59b5dec6d586ce2cea183138f55c5876fa9cdc" + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" dependencies: postcss "^5.0.4" postcss-merge-rules@^2.0.3: - version "2.0.10" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.0.10.tgz#54b360be804e7e69a5c7222635247b92a3569e9b" + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.1.tgz#5e5640020ce43cddd343c73bba91c9a358d1fe0f" dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" postcss "^5.0.4" + postcss-selector-parser "^2.2.2" vendors "^1.0.0" postcss-message-helpers@^2.0.0: @@ -3979,8 +4028,8 @@ postcss-minify-gradients@^1.0.1: postcss-value-parser "^3.3.0" postcss-minify-params@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.0.5.tgz#82d602643b8616a61fb3634d7ede0289836d67f9" + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" dependencies: alphanum-sort "^1.0.1" postcss "^5.0.2" @@ -3988,8 +4037,8 @@ postcss-minify-params@^1.0.4: uniqs "^2.0.0" postcss-minify-selectors@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.0.6.tgz#044b1a85ee2f909fc9a1c540f6f74b0e7613f119" + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" dependencies: alphanum-sort "^1.0.2" has "^1.0.1" @@ -4030,8 +4079,8 @@ postcss-normalize-charset@^1.1.0: postcss "^5.0.5" postcss-normalize-url@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.7.tgz#6bd90d0a4bc5a1df22c26ea65c53257dc3829f4e" + version "3.0.8" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" dependencies: is-absolute-url "^2.0.0" normalize-url "^1.4.0" @@ -4039,22 +4088,22 @@ postcss-normalize-url@^3.0.7: postcss-value-parser "^3.2.3" postcss-ordered-values@^2.1.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.2.tgz#be8b511741fab2dac8e614a2302e9d10267b0771" + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" dependencies: postcss "^5.0.4" postcss-value-parser "^3.0.1" postcss-reduce-idents@^2.2.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.3.1.tgz#024e8e219f52773313408573db9645ba62d2d2fe" + version "2.4.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" dependencies: postcss "^5.0.4" postcss-value-parser "^3.0.2" postcss-reduce-initial@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.0.tgz#8f739b938289ef2e48936d7101783e4741ca9bbb" + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" dependencies: postcss "^5.0.4" @@ -4066,7 +4115,7 @@ postcss-reduce-transforms@^1.0.3: postcss "^5.0.8" postcss-value-parser "^3.0.1" -postcss-selector-parser@^2.0.0: +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.2.tgz#3d70f5adda130da51c7c0c2fc023f56b1374fe08" dependencies: @@ -4075,8 +4124,8 @@ postcss-selector-parser@^2.0.0: uniq "^1.0.1" postcss-svgo@^2.1.1: - version "2.1.5" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.5.tgz#46fc0363f01bab6a36a9abb01c229fcc45363094" + version "2.1.6" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" dependencies: is-svg "^2.0.0" postcss "^5.0.14" @@ -4096,15 +4145,16 @@ postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" postcss-zindex@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.1.1.tgz#ea3fbe656c9738aa8729e2ee96ec2a46089b720f" + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" dependencies: + has "^1.0.1" postcss "^5.0.4" uniqs "^2.0.0" postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.11: - version "5.2.11" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.11.tgz#ff29bcd6d2efb98bfe08a022055ec599bbe7b761" + version "5.2.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.12.tgz#6a2b15e35dd65634441bb0961fa796904c7890e0" dependencies: chalk "^1.1.3" js-base64 "^2.1.9" @@ -4137,9 +4187,9 @@ prettyjson@^1.1.2: colors "^1.1.2" minimist "^1.2.0" -private@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" +private@^0.1.6, private@~0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" process-nextick-args@~1.0.6: version "1.0.7" @@ -4231,8 +4281,8 @@ qs@~6.3.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" query-string@^4.1.0, query-string@^4.2.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.2.3.tgz#9f27273d207a25a8ee4c7b8c74dcd45d556db822" + version "4.3.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.1.tgz#54baada6713eafc92be75c47a731f2ebd09cd11d" dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" @@ -4255,8 +4305,8 @@ radium@^0.18.0: rimraf "^2.4.0" randomatic@^1.1.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" dependencies: is-number "^2.0.2" kind-of "^3.0.2" @@ -4310,6 +4360,14 @@ react-ga@^2.1.2: dependencies: object-assign "^4.0.1" +react-markdown@^2.4.4: + version "2.4.4" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-2.4.4.tgz#26d825438d292e7ca6e292fe76201e1dbf2cfeee" + dependencies: + commonmark "^0.24.0" + commonmark-react-renderer "^4.2.4" + in-publish "^2.0.0" + react-router@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/react-router/-/react-router-3.0.2.tgz#5a19156678810e01d81901f9c0fef63284b8a514" @@ -4365,9 +4423,9 @@ readable-stream@1.0: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.1.0, readable-stream@~2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" +readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" dependencies: buffer-shims "^1.0.0" core-util-is "~1.0.0" @@ -4377,10 +4435,11 @@ readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2. string_decoder "~0.10.x" util-deprecate "~1.0.1" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@~2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" dependencies: + buffer-shims "^1.0.0" core-util-is "~1.0.0" inherits "~2.0.1" isarray "~1.0.0" @@ -4405,6 +4464,15 @@ readline2@^1.0.1: is-fullwidth-code-point "^1.0.0" mute-stream "0.0.5" +recast@~0.11.12: + version "0.11.21" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.21.tgz#4e83081c6359ecb2e526d14f4138879333f20ac9" + dependencies: + ast-types "0.9.5" + esprima "~3.1.0" + private "~0.1.5" + source-map "~0.5.0" + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -4427,10 +4495,10 @@ reduce-css-calc@^1.2.6: reduce-function-call "^1.0.1" reduce-function-call@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.1.tgz#fa02e126e695824263cab91d3a5b0fdc1dd27a9a" + version "1.0.2" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" dependencies: - balanced-match "~0.1.0" + balanced-match "^0.4.2" regenerate@^1.2.1: version "1.3.2" @@ -4521,9 +4589,9 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@2, request@^2.61.0, request@^2.75.0: - version "2.78.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" +request@2, request@^2.61.0, request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -4539,12 +4607,12 @@ request@2, request@^2.61.0, request@^2.75.0: isstream "~0.1.2" json-stringify-safe "~5.0.1" mime-types "~2.1.7" - node-uuid "~1.4.7" oauth-sign "~0.8.1" qs "~6.3.0" stringstream "~0.0.4" tough-cookie "~2.3.0" tunnel-agent "~0.4.1" + uuid "^3.0.0" require-directory@^2.1.1: version "2.1.1" @@ -4565,10 +4633,14 @@ resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" -resolve@1.1.7, resolve@^1.1.6: +resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" +resolve@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -4592,7 +4664,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf, rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.4.0, rimraf@~2.5.1, rimraf@~2.5.4: +rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.4.0, rimraf@^2.5.4, rimraf@~2.5.1, rimraf@~2.5.4: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" dependencies: @@ -4621,8 +4693,8 @@ sass-graph@^2.1.1: yargs "^4.7.1" sass-loader@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-5.0.0.tgz#896ce4cf376975186358a1ce079673f55af0797e" + version "5.0.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-5.0.1.tgz#4aa82f44242abe62ed8fdcd28d6331a34ef27c2d" dependencies: async "^2.0.1" loader-utils "^0.2.15" @@ -4630,8 +4702,8 @@ sass-loader@^5.0.0: pify "^2.3.0" sax@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + version "1.2.2" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" semver-diff@^2.0.0: version "2.1.0" @@ -4682,7 +4754,7 @@ set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" -setimmediate@^1.0.4: +setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -4697,8 +4769,8 @@ sha.js@^2.3.6: inherits "^2.0.1" shelljs@^0.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.5.tgz#2eef7a50a21e1ccf37da00df767ec69e30ad0675" + version "0.7.6" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -4712,8 +4784,8 @@ shush@^1.0.0: strip-json-comments "~0.1.1" signal-exit@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" slash@^1.0.0: version "1.0.0" @@ -4751,21 +4823,17 @@ sort-keys@^1.0.0: dependencies: is-plain-obj "^1.0.0" -source-list-map@^0.1.4: - version "0.1.6" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.6.tgz#e1e6f94f0b40c4d28dcf8f5b8766e0e45636877f" - -source-list-map@~0.1.7: +source-list-map@^0.1.4, source-list-map@~0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" source-map-support@^0.4.2: - version "0.4.6" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb" + version "0.4.11" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322" dependencies: source-map "^0.5.3" -source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: +source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -4800,8 +4868,8 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + version "1.10.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -4888,6 +4956,10 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" +string.prototype.repeat@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz#aba36de08dcee6a5a337d49b2ea1da1b28fc0ecf" + string_decoder@^0.10.25, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -4946,26 +5018,20 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" - dependencies: - has-flag "^1.0.0" - -supports-color@^3.2.3: +supports-color@^3.1.0, supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: has-flag "^1.0.0" svgo@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.1.tgz#287320fed972cb097e72c2bb1685f96fe08f8034" + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" dependencies: coa "~1.0.1" colors "~1.1.2" - csso "~2.2.1" - js-yaml "~3.6.1" + csso "~2.3.1" + js-yaml "~3.7.0" mkdirp "~0.5.1" sax "~1.2.1" whet.extend "~0.9.9" @@ -5021,7 +5087,7 @@ text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -through@2, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4: +through@2, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4, through@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -5048,8 +5114,8 @@ to-fast-properties@^1.0.1: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" toposort@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.0.tgz#b66cf385a1a8a8e68e45b8259e7f55875e8b06ef" + version "1.0.2" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.2.tgz#be1de72431320fcefe35a7b539c1c336cbcfd32c" touch@1.0.0: version "1.0.0" @@ -5080,8 +5146,8 @@ tunnel-agent@~0.4.1: resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d" + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" type-check@~0.3.2: version "0.3.2" @@ -5096,13 +5162,13 @@ type-is@~1.6.14: media-typer "0.3.0" mime-types "~2.1.13" -typedarray@~0.0.5: +typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" ua-parser-js@^0.7.9: - version "0.7.11" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.11.tgz#3741e2dd2fb09251a960f9ef076cd0cc72eaf6a0" + version "0.7.12" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" uglify-js@2.7.x, uglify-js@^2.7.5: version "2.7.5" @@ -5130,8 +5196,8 @@ uniq@^1.0.1: resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" uniqid@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.0.tgz#33d9679f65022f48988a03fd24e7dcaf8f109eca" + version "4.1.1" + resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" dependencies: macaddress "^0.2.8" @@ -5220,6 +5286,10 @@ uuid@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" +uuid@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + v8flags@^2.0.10: version "2.0.11" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" @@ -5318,8 +5388,8 @@ webpack@^2.2.1: yargs "^6.0.0" whatwg-fetch@>=0.10.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.0.0.tgz#01c2ac4df40e236aaa18480e3be74bd5c8eb798e" + version "2.0.2" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.2.tgz#fe294d1d89e36c5be8b3195057f2e4bc74fc980e" whet.extend@~0.9.9: version "0.9.9" @@ -5372,29 +5442,34 @@ winston@0.8.x, winston@~0.8.1: pkginfo "0.3.x" stack-trace "0.0.x" -wordwrap@0.0.2, "wordwrap@>=0.0.1 <0.1.0", wordwrap@~0.0.2: +wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" +"wordwrap@>=0.0.1 <0.1.0", wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" wrap-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.0.0.tgz#7d30f8f873f9a5bbc3a64dabc8d177e071ae426f" + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" dependencies: string-width "^1.0.1" + strip-ansi "^3.0.1" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" write-file-atomic@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.2.0.tgz#14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab" + version "1.3.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a" dependencies: - graceful-fs "^4.1.2" + graceful-fs "^4.1.11" imurmurhash "^0.1.4" slide "^1.1.5" @@ -5414,6 +5489,10 @@ xml-char-classes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" +xss-filters@^1.2.6: + version "1.2.7" + resolved "https://registry.yarnpkg.com/xss-filters/-/xss-filters-1.2.7.tgz#59fa1de201f36f2f3470dcac5f58ccc2830b0a9a" + xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
{this.props.label}{this.props.label} {this.getValue()}