From 363b4ae7d05f88b5541b47dd7bad5cb7726ddbfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Benitte?= Date: Fri, 18 Aug 2017 13:18:43 +0900 Subject: [PATCH] =?UTF-8?q?feat(v2):=20update=20demo=20according=20to=20la?= =?UTF-8?q?test=20Moza=C3=AFk=20updates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.sample | 11 +- .../ISSUE_TEMPLATE.md | 0 .gitignore | 8 +- .travis.yml | 4 +- README.md | 21 +- conf/config-ga.yml | 109 ++++ conf/config-github-stats.yml | 65 +++ config-github.yml => conf/config-github.yml | 14 +- conf/config-gitlab-labels-charts.yml | 104 ++++ conf/config-gitlab.yml | 71 +++ conf/config-time.yml | 92 +++ config-travis.yml => conf/config-travis.yml | 15 +- config.yml => conf/config.yml | 59 +- package.json | 35 +- public/index.html | 20 +- server.js | 10 +- src/index.js | 30 +- src/register_apis.js | 7 + src/register_extensions.js | 13 + src/register_themes.js | 19 + yarn.lock | 525 ++++++++---------- 21 files changed, 817 insertions(+), 415 deletions(-) rename ISSUE_TEMPLATE.md => .github/ISSUE_TEMPLATE.md (100%) create mode 100644 conf/config-ga.yml create mode 100644 conf/config-github-stats.yml rename config-github.yml => conf/config-github.yml (89%) create mode 100644 conf/config-gitlab-labels-charts.yml create mode 100644 conf/config-gitlab.yml create mode 100644 conf/config-time.yml rename config-travis.yml => conf/config-travis.yml (84%) rename config.yml => conf/config.yml (76%) create mode 100644 src/register_apis.js create mode 100644 src/register_extensions.js create mode 100644 src/register_themes.js diff --git a/.env.sample b/.env.sample index 0bc08f99..5e696f2d 100644 --- a/.env.sample +++ b/.env.sample @@ -3,9 +3,16 @@ # rename it to .env to use it # -# mozaik-ext-github +# @mozaik/ext-github # # Not required, but without it, you'll probably reach the API rate limit. -# Uncomment and set yours to use it +# Uncomment and set yours to use it. +# #GITHUB_API_TOKEN=xxxxx +# mozaik-ext-analytics +# +# Required if you wish to use this extension. +# +#GOOGLE_SERVICE_EMAIL= +#GOOGLE_SERVICE_KEY= diff --git a/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md similarity index 100% rename from ISSUE_TEMPLATE.md rename to .github/ISSUE_TEMPLATE.md diff --git a/.gitignore b/.gitignore index 752d8c78..127846b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,7 @@ .DS_Store -.env .idea -/node_modules +node_modules /build +.env +.idea *.log* -config-*.yml -!config-github.yml -!config-travis.yml \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 084b6ea0..c55e0f5e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: node_js node_js: - '6' -script: - - npm run build + - '7' + - '8' diff --git a/README.md b/README.md index e2635d74..7246e8eb 100644 --- a/README.md +++ b/README.md @@ -10,12 +10,13 @@ This repository shows how to use Mozaïk with npm extensions. ``` sh git clone git@github.com:plouc/mozaik-demo.git +cd mozaik-demo +git checkout mozaik-2 ``` ### Install packages ``` sh -cd mozaik-demo yarn install ``` @@ -38,21 +39,22 @@ extensions demo, to run another demo, simply pass the config file as first argument: ``` sh -node server.js config-github.yml +node server.js conf/config-github.yml ``` -Just search for `config-*.yml` files to see what's available. +See `conf/` directory for available config files. ### Tweaking default theme Several themes are loaded from -[`mozaik-themes`](https://github.com/plouc/mozaik-themes) +[`@mozaik/themes`](https://github.com/plouc/mozaik/tree/v2.x/packages/themes) package, you can change the default theme used by -updating this line in `src/index.js`: +updating this line in `src/register_themes.js`: ``` javascript -// src/index.js -ThemeManager.defaultTheme = wine.name +// src/register_themes.js +// … +ThemeManager.defaultTheme = wineTheme.name ``` ### Adding environment variables @@ -72,17 +74,16 @@ or prepend it to the command: GITHUB_API_TOKEN="xxxxx" node server.js config-github.yml ``` -or create an `.env` file if you want a more permanent solution: +or create an `.env` file if you want a more permanent solution +(you have a sample file available `.env.sample`): ``` sh # .env GITHUB_API_TOKEN=xxxxx -node server.js config-github.yml ``` Note that `.env` file is in `.gitignore` to prevent pushing sensible data to GitHub. - [travis-image]: https://img.shields.io/travis/plouc/mozaik-demo.svg?style=flat-square [travis-url]: https://travis-ci.org/plouc/mozaik-demo diff --git a/conf/config-ga.yml b/conf/config-ga.yml new file mode 100644 index 00000000..8f2c9185 --- /dev/null +++ b/conf/config-ga.yml @@ -0,0 +1,109 @@ +host: 0.0.0.0 +port: 5000 + +# define duration between each dashboard rotation (ms) +rotationDuration: 10000 + +# define the interval used by Mozaïk Bus to call registered APIs +apisPollInterval: 100000 + +extension: &extension analytics +startDate: &startDate 300daysAgo +endDate: &endDate 288daysAgo +id: &id 96121643 + +dashboards: +- title: Google Analytics Demo + columns: 3 + rows: 3 + widgets: + - + extension: *extension + widget: Browser + id: *id + startDate: *startDate + endDate: *endDate + columns: 1 + rows: 1 + x: 0 + y: 0 + - + extension: *extension + widget: PageViews + id: *id + startDate: *startDate + endDate: *endDate + columns: 1 + rows: 1 + x: 1 + y: 0 + - + extension: *extension + widget: PageViewsLine + id: *id + startDate: *startDate + endDate: *endDate + columns: 1 + rows: 1 + x: 2 + y: 0 + - + extension: *extension + widget: TopPages + id: *id + startDate: *startDate + endDate: *endDate + columns: 1 + rows: 1 + x: 0 + y: 1 + - + extension: *extension + widget: TopPagesAvgTimeBar + id: *id + startDate: *startDate + endDate: *endDate + columns: 1 + rows: 1 + x: 1 + y: 1 + - + extension: *extension + widget: TopPagesViewsBar + id: *id + startDate: *startDate + endDate: *endDate + columns: 1 + rows: 1 + x: 2 + y: 1 + - + extension: *extension + widget: TopPagesViewsBubble + id: *id + startDate: *startDate + endDate: *endDate + columns: 1 + rows: 1 + x: 0 + y: 2 + - + extension: *extension + widget: TopPagesViewsLine + id: *id + startDate: *startDate + endDate: *endDate + columns: 1 + rows: 1 + x: 1 + y: 2 + - + extension: *extension + widget: TopPagesViewsTreeMap + id: *id + startDate: *startDate + endDate: *endDate + columns: 1 + rows: 1 + x: 2 + y: 2 \ No newline at end of file diff --git a/conf/config-github-stats.yml b/conf/config-github-stats.yml new file mode 100644 index 00000000..cd293ce8 --- /dev/null +++ b/conf/config-github-stats.yml @@ -0,0 +1,65 @@ +port: 5000 + +# define duration between each dashboard rotation (seconds) +rotationDuration: 10 +# define the interval used by Mozaïk Bus to call registered APIs +apisPollInterval: 100000 + +extension: &extension github +github_user: &github_user plouc +github_org: &github_org ekino +github_repo: &github_repo plouc/mozaik + +dashboards: +- title: "GitHub Demo: traffic" + columns: 2 + rows: 3 + widgets: + - + extension: *extension + widget: RepoTrafficViewsHistogram + repository: *github_repo + rows: 1 + columns: 1 + x: 0 + y: 0 + - + extension: *extension + widget: RepoTrafficViewsLine + repository: *github_repo + rows: 1 + columns: 1 + x: 1 + y: 0 + - + extension: *extension + widget: RepoTrafficClonesHistogram + repository: *github_repo + rows: 1 + columns: 1 + x: 0 + y: 1 + - + extension: *extension + widget: RepoTrafficClonesLine + repository: *github_repo + rows: 1 + columns: 1 + x: 1 + y: 1 + - + extension: *extension + widget: RepoCommitActivityHistogram + repository: *github_repo + rows: 1 + columns: 1 + x: 0 + y: 2 + - + extension: *extension + widget: RepoCommitActivityLine + repository: *github_repo + rows: 1 + columns: 1 + x: 1 + y: 2 \ No newline at end of file diff --git a/config-github.yml b/conf/config-github.yml similarity index 89% rename from config-github.yml rename to conf/config-github.yml index dc94afdf..a9d3674f 100644 --- a/config-github.yml +++ b/conf/config-github.yml @@ -1,11 +1,3 @@ -# -# mozaik-ext-github demo dashboard -# -# It's not required, but you should add this env var, -# without it, you'll probably reach the API rate limit. -# -# GITHUB_API_TOKEN=xxxxx -# port: 5000 # define duration between each dashboard rotation (seconds) @@ -14,14 +6,12 @@ rotationDuration: 10 apisPollInterval: 100000 extension: &extension github - -# change those values of you want to use another user, organization or repo github_user: &github_user plouc github_org: &github_org ekino github_repo: &github_repo plouc/mozaik dashboards: -- title: GitHub Demo 1 +- title: GitHub Dashboard Demo 1 (mozaik-ext-github) columns: 3 rows: 3 widgets: @@ -80,7 +70,7 @@ dashboards: x: 2 y: 2 -- title: GitHub Demo 2 +- title: GitHub Dashboard Demo 2 (mozaik-ext-github) columns: 3 rows: 3 widgets: diff --git a/conf/config-gitlab-labels-charts.yml b/conf/config-gitlab-labels-charts.yml new file mode 100644 index 00000000..a2ee1446 --- /dev/null +++ b/conf/config-gitlab-labels-charts.yml @@ -0,0 +1,104 @@ +host: 0.0.0.0 +port: 5000 + +# define duration between each dashboard rotation (ms) +rotationDuration: 8000 + +# define the interval used by Mozaïk Bus to call registered APIs +apisPollInterval: 100000 + +extension: &extension gitlab +gitlabProject: &gitlabProject gitlab-org/release-tools + +dashboards: +- title: "GitLab Demo: labels charts" + columns: 3 + rows: 3 + widgets: + - + extension: *extension + widget: LabelsTreemap + project: *gitlabProject + title: Labels by opened issues + columns: 1 + rows: 1 + x: 0 + y: 0 + - + extension: *extension + widget: LabelsBubble + project: *gitlabProject + title: Labels by opened issues + columns: 1 + rows: 1 + x: 0 + y: 1 + - + extension: *extension + widget: LabelsPie + project: *gitlabProject + title: Labels by opened issues + columns: 1 + rows: 1 + x: 0 + y: 2 + - + extension: *extension + widget: LabelsTreemap + project: *gitlabProject + countBy: closed_issues_count + title: Labels by closed issues + columns: 1 + rows: 1 + x: 1 + y: 0 + - + extension: *extension + widget: LabelsBubble + project: *gitlabProject + countBy: closed_issues_count + title: Labels by closed issues + columns: 1 + rows: 1 + x: 1 + y: 1 + - + extension: *extension + widget: LabelsPie + project: *gitlabProject + countBy: closed_issues_count + title: Labels by closed issues + columns: 1 + rows: 1 + x: 1 + y: 2 + - + extension: *extension + widget: LabelsTreemap + project: *gitlabProject + countBy: open_merge_requests_count + title: Labels by opened merge requests + columns: 1 + rows: 1 + x: 2 + y: 0 + - + extension: *extension + widget: LabelsBubble + project: *gitlabProject + countBy: open_merge_requests_count + title: Labels by opened merge requests + columns: 1 + rows: 1 + x: 2 + y: 1 + - + extension: *extension + widget: LabelsPie + project: *gitlabProject + countBy: open_merge_requests_count + title: Labels by opened merge requests + columns: 1 + rows: 1 + x: 2 + y: 2 diff --git a/conf/config-gitlab.yml b/conf/config-gitlab.yml new file mode 100644 index 00000000..ba60593a --- /dev/null +++ b/conf/config-gitlab.yml @@ -0,0 +1,71 @@ +host: 0.0.0.0 +port: 5000 + +# define duration between each dashboard rotation (ms) +rotationDuration: 8000 + +# define the interval used by Mozaïk Bus to call registered APIs +apisPollInterval: 100000 + +extension: &extension gitlab +gitlabProject: &gitlabProject gitlab-org/gitlab-ci-multi-runner + +dashboards: +- title: GitLab Demo + columns: 3 + rows: 3 + widgets: + - + extension: *extension + widget: Project + project: *gitlabProject + columns: 1 + rows: 1 + x: 0 + y: 0 + - + extension: *extension + widget: ProjectMembers + project: *gitlabProject + columns: 1 + rows: 1 + x: 1 + y: 2 + - + extension: *extension + widget: ProjectContributors + project: *gitlabProject + columns: 1 + rows: 1 + x: 1 + y: 1 +# - type: gitlab.merge_requests_gauge +# project: *gitlabProject +# columns: 1 +# rows: 1 +# x: 2 +# y: 0 + - + extension: *extension + widget: BuildHistory + project: *gitlabProject + columns: 1 + rows: 2 + x: 0 + y: 1 + - + extension: *extension + widget: Branches + project: *gitlabProject + columns: 1 + rows: 2 + x: 2 + y: 1 + - + extension: *extension + widget: BuildHistogram + project: *gitlabProject + columns: 2 + rows: 1 + x: 1 + y: 0 diff --git a/conf/config-time.yml b/conf/config-time.yml new file mode 100644 index 00000000..e4abe7b4 --- /dev/null +++ b/conf/config-time.yml @@ -0,0 +1,92 @@ +port: 5000 + +# define duration between each dashboard rotation (ms) +rotationDuration: 10000 +# define the interval used by Mozaïk Bus to call registered APIs +apisPollInterval: 100000 + +dashboards: +- columns: 4 + rows: 3 + title: Mozaïk time extension dashboard + widgets: + - + extension: time + widget: Clock + timezone: Europe/Paris + info: date + title: Paris + columns: 1 + rows: 1 + x: 0 + y: 0 + - + extension: time + widget: Clock + info: time + timezone: Asia/Tokyo + title: Tokyo + columns: 1 + rows: 1 + x: 1 + y: 0 + - + extension: time + widget: Clock + info: timezone + timezone: America/Los_Angeles + title: Los Angeles + columns: 1 + rows: 1 + x: 2 + y: 0 + - + extension: time + widget: DigitalClock + timezone: Europe/Paris + displaySeconds: false + columns: 1 + rows: 1 + x: 0 + y: 1 + - + extension: time + widget: DigitalClock + timezone: Asia/Tokyo + displayDate: false + columns: 1 + rows: 1 + x: 1 + y: 1 + - + extension: time + widget: DigitalClock + timezone: America/Los_Angeles + columns: 1 + rows: 1 + x: 2 + y: 1 + - + extension: time + widget: Clock + timezone: Europe/Paris + columns: 1 + rows: 1 + x: 0 + y: 2 + - + extension: time + widget: Clock + timezone: Asia/Tokyo + columns: 1 + rows: 1 + x: 1 + y: 2 + - + extension: time + widget: Clock + timezone: America/Los_Angeles + columns: 1 + rows: 1 + x: 2 + y: 2 \ No newline at end of file diff --git a/config-travis.yml b/conf/config-travis.yml similarity index 84% rename from config-travis.yml rename to conf/config-travis.yml index aa9fa1ac..e75046bf 100644 --- a/config-travis.yml +++ b/conf/config-travis.yml @@ -9,14 +9,15 @@ extension: &extension travis # change those values of you want to use another user/repo travisOwner: &travisOwner plouc -travisRepo: &travisRepo mozaik +travisRepo: &travisRepo mozaik-ext-travis dashboards: - columns: 2 rows: 2 title: travis demo widgets: - - extension: *extension + - + extension: *extension widget: Repository owner: *travisOwner repository: *travisRepo @@ -24,8 +25,8 @@ dashboards: rows: 1 x: 0 y: 0 - - - extension: *extension + - + extension: *extension widget: BuildHistory owner: *travisOwner repository: *travisRepo @@ -33,12 +34,12 @@ dashboards: rows: 1 x: 1 y: 0 - - - extension: *extension + - + extension: *extension widget: BuildHistogram owner: *travisOwner repository: *travisRepo columns: 2 rows: 1 x: 0 - y: 1 + y: 1 \ No newline at end of file diff --git a/config.yml b/conf/config.yml similarity index 76% rename from config.yml rename to conf/config.yml index 5c15fcfe..cc735310 100644 --- a/config.yml +++ b/conf/config.yml @@ -8,7 +8,7 @@ # port: 5000 -# define duration between each dashboard rotation (ms) +# define duraton between each dashboard rotation (ms) rotationDuration: 10000 # define the interval used by Mozaïk Bus to call registered APIs apisPollInterval: 100000 @@ -18,69 +18,70 @@ dashboards: rows: 3 title: Mozaïk demo dashboard widgets: - - extension: github + - + extension: github widget: UserBadge user: plouc columns: 1 rows: 1 x: 0 y: 0 - - - extension: github + - + extension: github widget: OrgBadge organization: ekino columns: 1 rows: 1 x: 1 y: 0 - - - extension: github + - + extension: github widget: RepoContributorsStats repository: plouc/mozaik columns: 1 rows: 1 x: 2 y: 0 - - - extension: github + - + extension: github widget: RepoBadge repository: plouc/mozaik columns: 1 rows: 1 x: 3 y: 0 - - - extension: mozaik + - + extension: mozaik widget: Inspector columns: 1 rows: 1 x: 0 y: 1 - - - extension: github + - + extension: github widget: Status columns: 1 rows: 1 x: 1 y: 1 - - - extension: github + - + extension: github widget: Branches repository: plouc/mozaik columns: 1 rows: 1 x: 2 y: 1 - - - extension: github + - + extension: github widget: PullRequests repository: plouc/mozaik columns: 1 rows: 1 x: 3 y: 1 - - - extension: travis + - + extension: travis widget: Repository owner: plouc repository: mozaik @@ -88,17 +89,17 @@ dashboards: rows: 1 x: 0 y: 2 - -# - extension: travis -# widget: BuildHistogram -# owner: plouc -# repository: mozaik -# columns: 2 -# rows: 1 -# x: 1 -# y: 2 - - - extension: travis + - + extension: travis + widget: BuildHistogram + owner: plouc + repository: mozaik + columns: 2 + rows: 1 + x: 1 + y: 2 + - + extension: travis widget: BuildHistory owner: plouc repository: mozaik diff --git a/package.json b/package.json index d5043493..72ee4e4f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mozaik-demo", - "version": "2.0.0-alpha.14", "description": "Mozaïk demo dashboard", + "version": "2.0.0", "repository": { "type": "git", "url": "git://github.com/plouc/mozaik-demo" @@ -13,33 +13,24 @@ }, "engineStrict": true, "engines": { - "node": "^6.0.0", - "npm": "^3.0.0" + "node": ">=6.0.0", + "npm": ">=3.0.0" }, "dependencies": { - "@mozaik/ext-github": "^2.0.0-alpha.0", - "@mozaik/ext-travis": "^2.0.0-alpha.0", + "@mozaik/ext-github": "^2.0.0-alpha.6", + "@mozaik/ext-gitlab": "^2.0.0-alpha.3", + "@mozaik/ext-time": "^2.0.0-alpha.11", + "@mozaik/ext-travis": "^2.0.0-rc.0", "@mozaik/server": "^2.0.0-alpha.2", - "@mozaik/themes": "^1.0.0-alpha.2", - "@mozaik/ui": "^2.0.0-alpha.7", - "d3": "4.2.6", - "dotenv": "^2.0.0", - "nivo": "^1.0.0-alpha.8", + "@mozaik/themes": "1.0.0-alpha.13", + "@mozaik/ui": "^2.0.0-alpha.13", + "nivo": "^0.15.0", "react": "^15.6.1", "react-dom": "^15.6.1" }, "devDependencies": { - "prettier": "^1.5.2", "react-scripts": "1.0.10" }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test --env=jsdom", - "eject": "react-scripts eject", - "format": "prettier --tab-width=4 --bracket-spacing --no-semi --trailing-comma es5 --single-quote --write 'src/**/*.js' 'server.js'", - "postinstall": "npm run build" - }, "proxy": { "/socket": { "target": "ws://localhost:5000", @@ -48,5 +39,11 @@ "/config": { "target": "http://localhost:5000" } + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "npm run build", + "postinstall": "npm run build" } } diff --git a/public/index.html b/public/index.html index 580a17cc..d4d1c185 100644 --- a/public/index.html +++ b/public/index.html @@ -1,13 +1,17 @@ - + - + + + - Mozaïk demo dashboards - - -
-
- + Mozaïk demo dashboard + + + +
+ diff --git a/server.js b/server.js index b15c952d..f130c670 100644 --- a/server.js +++ b/server.js @@ -3,15 +3,13 @@ require('dotenv').load({ silent: true }) const path = require('path') const Mozaik = require('@mozaik/server') -let configFile = process.argv[2] || 'config.yml' +let configFile = process.argv[2] || 'conf/config.yml' -console.log(`using config file: ${configFile}\n`) +console.log(`> using config file: '${configFile}'\n`) Mozaik.configureFromFile(path.join(__dirname, configFile)) - .then(() => { - Mozaik.registerApi('github', require('@mozaik/ext-github/client')) - Mozaik.registerApi('travis', require('@mozaik/ext-travis/client')) - + .then(config => { + require('./src/register_apis')(Mozaik, configFile, config) Mozaik.start() }) .catch(err => { diff --git a/src/index.js b/src/index.js index ff0b97b6..30defb52 100644 --- a/src/index.js +++ b/src/index.js @@ -1,29 +1,7 @@ import React from 'react' import ReactDOM from 'react-dom' -import Mozaik, { Registry, ThemeManager } from '@mozaik/ui' +import './register_themes' +import './register_extensions' +import Mozaik from '@mozaik/ui' -// themes -import { - miniKuroTheme, - nightBlueTheme, - solarizedDarkTheme, - wineTheme, -} from '@mozaik/themes' - -// extensions -import github from '@mozaik/ext-github' -import travis from '@mozaik/ext-travis' - -ThemeManager.add(miniKuroTheme) -ThemeManager.add(nightBlueTheme) -ThemeManager.add(solarizedDarkTheme) -ThemeManager.add(wineTheme) - -ThemeManager.defaultTheme = solarizedDarkTheme.name - -Registry.addExtensions({ - github, - travis, -}) - -ReactDOM.render(, document.getElementById('mozaik')) +ReactDOM.render(, document.getElementById('root')) diff --git a/src/register_apis.js b/src/register_apis.js new file mode 100644 index 00000000..b056475e --- /dev/null +++ b/src/register_apis.js @@ -0,0 +1,7 @@ +'use strict' + +module.exports = (Mozaik, configFile, config) => { + Mozaik.registerApi('github', require('@mozaik/ext-github/client')) + Mozaik.registerApi('travis', require('@mozaik/ext-travis/client')) + Mozaik.registerApi('gitlab', require('@mozaik/ext-gitlab/client')) +} diff --git a/src/register_extensions.js b/src/register_extensions.js new file mode 100644 index 00000000..65754add --- /dev/null +++ b/src/register_extensions.js @@ -0,0 +1,13 @@ +import { Registry } from '@mozaik/ui' + +import github from '@mozaik/ext-github' +import gitlab from '@mozaik/ext-gitlab' +import time from '@mozaik/ext-time' +import travis from '@mozaik/ext-travis' + +Registry.addExtensions({ + github, + gitlab, + time, + travis, +}) diff --git a/src/register_themes.js b/src/register_themes.js new file mode 100644 index 00000000..7ac4782e --- /dev/null +++ b/src/register_themes.js @@ -0,0 +1,19 @@ +import { ThemeManager } from '@mozaik/ui' + +import { + miniTheme, + miniKuroTheme, + nightBlueTheme, + snowTheme, + solarizedDarkTheme, + wineTheme, +} from '@mozaik/themes' + +ThemeManager.add(miniTheme) +ThemeManager.add(miniKuroTheme) +ThemeManager.add(nightBlueTheme) +ThemeManager.add(snowTheme) +ThemeManager.add(solarizedDarkTheme) +ThemeManager.add(wineTheme) + +ThemeManager.defaultTheme = solarizedDarkTheme.name diff --git a/yarn.lock b/yarn.lock index 285b3ed2..da000f2a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,9 +2,9 @@ # yarn lockfile v1 -"@mozaik/ext-github@^2.0.0-alpha.0": - version "2.0.0-alpha.0" - resolved "https://registry.yarnpkg.com/@mozaik/ext-github/-/ext-github-2.0.0-alpha.0.tgz#29b60f3254e28ff5c6db43c63a3ea6bddb1e0ff0" +"@mozaik/ext-github@^2.0.0-alpha.6": + version "2.0.0-alpha.6" + resolved "https://registry.yarnpkg.com/@mozaik/ext-github/-/ext-github-2.0.0-alpha.6.tgz#3bf0a586d0ba3bc69086085e9508eb5c081957e1" dependencies: chalk "1.1.3" convict "^2.0.0" @@ -12,18 +12,48 @@ moment-duration-format "1.3.0" prop-types "^15.5.10" react-icons "^2.2.5" - request "^2.79.0" - request-promise-native "^1.0.3" + request "^2.81.0" + request-promise-native "^1.0.4" -"@mozaik/ext-travis@^2.0.0-alpha.0": - version "2.0.0-alpha.0" - resolved "https://registry.yarnpkg.com/@mozaik/ext-travis/-/ext-travis-2.0.0-alpha.0.tgz#89207c20a00dae999f48626e580020572d5b6be5" +"@mozaik/ext-gitlab@^2.0.0-alpha.3": + version "2.0.0-alpha.3" + resolved "https://registry.yarnpkg.com/@mozaik/ext-gitlab/-/ext-gitlab-2.0.0-alpha.3.tgz#708c106aae3742082337ef4c4c94f4b2e3eb593b" dependencies: - chalk "^1.1.3" - lodash "^4.17.2" - moment "^2.17.1" + chalk "^2.0.1" + convict "^4.0.0" + lodash "^4.17.4" + lodash-es "^4.17.4" + moment "^2.18.1" prop-types "^15.5.10" react-icons "^2.2.5" + request "^2.81.0" + request-promise-native "^1.0.4" + +"@mozaik/ext-time@^2.0.0-alpha.11": + version "2.0.0-alpha.11" + resolved "https://registry.yarnpkg.com/@mozaik/ext-time/-/ext-time-2.0.0-alpha.11.tgz#a91697defb3f533e7c0eca4e07ac59c0898c2a85" + dependencies: + classnames "2.2.5" + d3 "^3.5.5" + lodash "^4.17.4" + lodash-es "^4.17.4" + moment "^2.18.1" + moment-timezone "^0.5.13" + prop-types "^15.5.10" + react-icons "^2.2.5" + react-measure "^2.0.2" + styled-components "^2.1.1" + +"@mozaik/ext-travis@^2.0.0-rc.0": + version "2.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@mozaik/ext-travis/-/ext-travis-2.0.0-rc.0.tgz#47871ee173ed90e5e5c42ba2f8e04a980275e47c" + dependencies: + chalk "^2.1.0" + lodash "^4.17.4" + moment "^2.18.1" + prop-types "^15.5.10" + react-icons "^2.2.5" + styled-components "^2.1.2" travis-ci "^2.1.1" "@mozaik/server@^2.0.0-alpha.2": @@ -39,13 +69,13 @@ socket.io "^2.0.3" winston "^2.3.1" -"@mozaik/themes@^1.0.0-alpha.2": - version "1.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@mozaik/themes/-/themes-1.0.0-alpha.2.tgz#b9f7ef942bf756225b6d9566ff383d2b3b3084d3" +"@mozaik/themes@1.0.0-alpha.13": + version "1.0.0-alpha.13" + resolved "https://registry.yarnpkg.com/@mozaik/themes/-/themes-1.0.0-alpha.13.tgz#5c360fa313dffd94a478ea69bc01afa9b9bf0f71" -"@mozaik/ui@^2.0.0-alpha.7": - version "2.0.0-alpha.7" - resolved "https://registry.yarnpkg.com/@mozaik/ui/-/ui-2.0.0-alpha.7.tgz#fc2a1f0e32ebf9cf13e8b54d2c4102d7d80c9200" +"@mozaik/ui@^2.0.0-alpha.13": + version "2.0.0-alpha.13" + resolved "https://registry.yarnpkg.com/@mozaik/ui/-/ui-2.0.0-alpha.13.tgz#d8f1f424d4ccdfe34e4c1d7d5c084184f122b892" dependencies: immutable "^3.8.1" lodash "^4.17.4" @@ -53,7 +83,7 @@ prop-types "^15.5.10" react-icons "^2.2.5" react-redux "^5.0.5" - react-svg-buttons "^0.3.1" + react-svg-buttons "^0.4.0" redux "^3.7.2" redux-thunk "^2.2.0" socket.io-client "^2.0.3" @@ -1357,6 +1387,18 @@ chalk@^2.0.1: escape-string-regexp "^1.0.5" supports-color "^4.0.0" +chalk@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + +change-emitter@^0.1.2: + version "0.1.6" + resolved "https://registry.yarnpkg.com/change-emitter/-/change-emitter-0.1.6.tgz#e8b2fe3d7f1ab7d69a32199aff91ea6931409515" + chokidar@^1.4.3, chokidar@^1.6.0, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -1393,6 +1435,10 @@ clap@^1.0.9: dependencies: chalk "^1.1.3" +classnames@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" + clean-css@4.1.x: version "4.1.7" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.7.tgz#b9aea4f85679889cf3eae8b40349ec4ebdfdd032" @@ -1499,7 +1545,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2, commander@2.9.x, commander@^2.9.0, commander@~2.9.0: +commander@2.9.x, commander@^2.9.0, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1618,6 +1664,19 @@ convict@^2.0.0: optionalDependencies: varify "0.1.1" +convict@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/convict/-/convict-4.0.0.tgz#73507fd0b7370d103bd0d08504dbb6a24f2fc09f" + dependencies: + depd "1.1.0" + json5 "0.5.1" + lodash.clonedeep "4.5.0" + minimist "1.2.0" + moment "2.17.1" + validator "7.0.0" + optionalDependencies: + varify "0.2.0" + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -1689,7 +1748,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.5.2, create-react-class@^15.5.3, create-react-class@^15.6.0: +create-react-class@^15.5.3, create-react-class@^15.6.0: version "15.6.0" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.0.tgz#ab448497c26566e1e29413e883207d57cfe7bed4" dependencies: @@ -1857,131 +1916,58 @@ cycle@1.0.x: version "1.0.3" resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" -d3-array@1, d3-array@1.0.1: +d3-array@1: version "1.0.1" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.0.1.tgz#375c02874fcd96c16ed9f1bcf5b4a7be53f358e7" -d3-axis@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.3.tgz#ddcbd8a23c2a568d3787de0dee00a36413c5d595" - -d3-brush@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.3.tgz#4fa5374cc3b755d0990bf76b71b7a66417751c74" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" +d3-array@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.0.tgz#147d269720e174c4057a7f42be8b0f3f2ba53108" -d3-chord@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.2.tgz#9b1ac90efe7de448c0b9188309071de52855a99a" +d3-chord@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.4.tgz#7dec4f0ba886f713fe111c45f763414f6f74ca2c" dependencies: d3-array "1" d3-path "1" -d3-collection@1, d3-collection@1.0.1: +d3-collection@1: version "1.0.1" resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.1.tgz#5b5c5626f731122b600b107d71a08833fec049ad" -d3-color@1, d3-color@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.0.1.tgz#73cc91f4ee3f12e00ca06b1596a7c83cf104723a" - -d3-dispatch@1, d3-dispatch@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.1.tgz#4bd65a43cecff4318deb9df24552aa8bf281a840" - -d3-drag@1, d3-drag@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.0.1.tgz#49ad9f5c91865593fb30c86b15f9322d43fec51f" - dependencies: - d3-dispatch "1" - d3-selection "1" - -d3-dsv@1, d3-dsv@1.0.3: +d3-color@1, d3-color@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.3.tgz#049fe43c0f5f60c7ff7d376616bc76d6fc9d378f" - dependencies: - commander "2" - iconv-lite "0.4" - rw "1" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.0.3.tgz#bc7643fca8e53a8347e2fbdaffa236796b58509b" -d3-ease@1, d3-ease@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.1.tgz#a18c2d44e218fb8b9ec6d635bcca587f85979a85" - -d3-force@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.0.2.tgz#92dbedeacf9a2d3f6686450c8d6375f3c363af66" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-quadtree "1" - d3-timer "1" - -d3-format@1, d3-format@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.0.2.tgz#138618320b4bbeb43b5c0ff30519079fbbd7375e" - -d3-geo@1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.2.5.tgz#21f3d15c027e621a6fb505b1d40eee7fc13b8881" - dependencies: - d3-array "1" +d3-format@1, d3-format@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.0.tgz#6b480baa886885d4651dc248a8f4ac9da16db07a" -d3-hierarchy@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.0.2.tgz#c8faa11dc49bcc93914c6aa35a46bdee4e01ee72" +d3-hierarchy@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz#a1c845c42f84a206bcf1c01c01098ea4ddaa7a26" -d3-interpolate@1, d3-interpolate@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.1.tgz#f9ad4f9a421b22cad8838cf53d9bd2cbad0b8fd7" +d3-interpolate@1, d3-interpolate@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.5.tgz#69e099ff39214716e563c9aec3ea9d1ea4b8a79f" dependencies: d3-color "1" -d3-path@1, d3-path@1.0.2: +d3-path@1: version "1.0.2" resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.2.tgz#9941a472daed62084e5ecf4394987bcadc8c39a7" -d3-polygon@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.1.tgz#c1e710cc715b082f18494d102e41bdaaf8c44d03" - -d3-quadtree@1, d3-quadtree@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.1.tgz#13be025624f110405ed43536c506aaec199ed591" - -d3-queue@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/d3-queue/-/d3-queue-3.0.3.tgz#10ee4dd0574a1affaabfb931d0ba4f117926edc6" - -d3-random@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.0.1.tgz#2c9444cdcba23f8c41f7940d46bf301bf99603eb" - -d3-request@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-request/-/d3-request-1.0.2.tgz#98083736d4146fdd28703b5aa8ef7e7328ba3f69" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-dsv "1" - xmlhttprequest "1" - -d3-scale-chromatic@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.0.2.tgz#19dc284f47415f5d52f4b6a818685fa8e7cff651" +d3-scale-chromatic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.1.1.tgz#811406e8e09dab78a49dac4a32047d5d3edd0c44" dependencies: d3-interpolate "1" -d3-scale@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.3.tgz#4f9e8f0cc2ea0f3925ff04ac27adc09045fa4c90" +d3-scale@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.6.tgz#bce19da80d3a0cf422c9543ae3322086220b34ed" dependencies: - d3-array "1" + d3-array "^1.2.0" d3-collection "1" d3-color "1" d3-format "1" @@ -1989,89 +1975,39 @@ d3-scale@1.0.3: d3-time "1" d3-time-format "2" -d3-selection@1, d3-selection@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.0.2.tgz#ae662afd4702ac9c5da039b2107a1764fa1c9070" - -d3-shape@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.0.3.tgz#bf685dcfc192ed1d35a39ff69826a409a9385034" +d3-shape@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz#45d01538f064bafd05ea3d6d2cb748fd8c41f777" dependencies: d3-path "1" -d3-time-format@2, d3-time-format@2.0.2: +d3-time-format@2: version "2.0.2" resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.0.2.tgz#1c537e9d4558966a658c51f4ca3dd1b47369c2d5" dependencies: d3-time "1" -d3-time@1, d3-time@1.0.4: +d3-time-format@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.0.5.tgz#9d7780204f7c9119c9170b1a56db4de9a8af972e" + dependencies: + d3-time "1" + +d3-time@1: version "1.0.4" resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.4.tgz#2ceba09a76b7450c992a1ded4e10fc6195e69649" -d3-timer@1, d3-timer@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.3.tgz#7a308a10c8524778e6b32d1d6c1c329209ae0ebf" - -d3-transition@1, d3-transition@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.0.2.tgz#987b4e350099ae2f1783fe259a94b45db7209963" - dependencies: - d3-color "1" - d3-dispatch "1" - d3-ease "1" - d3-interpolate "1" - d3-selection "1" - d3-timer "1" +d3-time@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.7.tgz#94caf6edbb7879bb809d0d1f7572bc48482f7270" -d3-voronoi@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.0.2.tgz#09b1a3a7891c4ed8376d9ffdb2e770430f3f55c3" +d3-voronoi@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c" -d3-zoom@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.0.3.tgz#b36bfb517e535dff0e179088dbeb3d7899a6050e" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" - -d3@4.2.6: - version "4.2.6" - resolved "https://registry.yarnpkg.com/d3/-/d3-4.2.6.tgz#f4ce9fe2aebdbe888e2eff520441857397e2c015" - dependencies: - d3-array "1.0.1" - d3-axis "1.0.3" - d3-brush "1.0.3" - d3-chord "1.0.2" - d3-collection "1.0.1" - d3-color "1.0.1" - d3-dispatch "1.0.1" - d3-drag "1.0.1" - d3-dsv "1.0.3" - d3-ease "1.0.1" - d3-force "1.0.2" - d3-format "1.0.2" - d3-geo "1.2.5" - d3-hierarchy "1.0.2" - d3-interpolate "1.1.1" - d3-path "1.0.2" - d3-polygon "1.0.1" - d3-quadtree "1.0.1" - d3-queue "3.0.3" - d3-random "1.0.1" - d3-request "1.0.2" - d3-scale "1.0.3" - d3-selection "1.0.2" - d3-shape "1.0.3" - d3-time "1.0.4" - d3-time-format "2.0.2" - d3-timer "1.0.3" - d3-transition "1.0.2" - d3-voronoi "1.0.2" - d3-zoom "1.0.3" +d3@^3.5.5: + version "3.5.17" + resolved "https://registry.yarnpkg.com/d3/-/d3-3.5.17.tgz#bc46748004378b21a360c9fc7cf5231790762fb8" d@^0.1.1, d@~0.1.1: version "0.1.1" @@ -2316,10 +2252,6 @@ dotenv@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" -dotenv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-2.0.0.tgz#bd759c357aaa70365e01c96b7b0bec08a6e0d949" - duplexer2@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" @@ -2344,10 +2276,6 @@ electron-to-chromium@^1.3.14: version "1.3.15" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz#08397934891cbcfaebbd18b82a95b5a481138369" -element-resize-event@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/element-resize-event/-/element-resize-event-2.0.7.tgz#8b63953715967cd2241620245573e79e684e07b0" - elliptic@^6.0.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -2674,6 +2602,10 @@ esprima@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" +esprima@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" + esquery@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" @@ -2860,7 +2792,7 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs@^0.8.5, fbjs@^0.8.9: +fbjs@^0.8.1, fbjs@^0.8.5, fbjs@^0.8.9: version "0.8.12" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" dependencies: @@ -3092,6 +3024,10 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +get-node-dimensions@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-node-dimensions/-/get-node-dimensions-1.2.2.tgz#7a71e8624cf9e1ab74599bb05b7e5116e995e45b" + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -3299,7 +3235,7 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" -hoist-non-react-statics@^1.0.3, hoist-non-react-statics@^1.2.0: +hoist-non-react-statics@^1.0.0, hoist-non-react-statics@^1.0.3, hoist-non-react-statics@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" @@ -3419,10 +3355,6 @@ https-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" -iconv-lite@0.4: - version "0.4.15" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" - iconv-lite@0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" @@ -3537,15 +3469,15 @@ interpret@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" -invariant@2.2.1, invariant@^2.0.0, invariant@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" +invariant@^2.0.0, invariant@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: loose-envify "^1.0.0" -invariant@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" +invariant@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" dependencies: loose-envify "^1.0.0" @@ -4342,10 +4274,6 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "~3.0.0" -lodash@4.16.3: - version "4.16.3" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.3.tgz#0ba761439529127c7a38c439114ca153efa999a2" - "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -4483,13 +4411,13 @@ mime-db@~1.25.0: version "1.25.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" -mime-types@^2.1.10, mime-types@~2.1.15: +mime-types@^2.1.10, mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.7: version "2.1.15" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: mime-db "~1.27.0" -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7: +mime-types@~2.1.11: version "2.1.13" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" dependencies: @@ -4535,10 +4463,20 @@ moment-duration-format@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/moment-duration-format/-/moment-duration-format-1.3.0.tgz#541771b5f87a049cc65540475d3ad966737d6908" +moment-timezone@^0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.13.tgz#99ce5c7d827262eb0f1f702044177f60745d7b90" + dependencies: + moment ">= 2.9.0" + moment@2.17.1, moment@^2.17.1: version "2.17.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz#fed9506063f36b10f066c8b59a144d7faebe1d82" +"moment@>= 2.9.0", moment@^2.18.1: + version "2.18.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" + ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -4588,16 +4526,27 @@ negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" -nivo@^1.0.0-alpha.8: - version "1.0.0-alpha.8" - resolved "https://registry.yarnpkg.com/nivo/-/nivo-1.0.0-alpha.8.tgz#092df906f8465bf8ec366ee17248a704e90f8463" - dependencies: - d3 "4.2.6" - d3-scale-chromatic "1.0.2" - invariant "2.2.1" - lodash "4.16.3" - react-dimensions "1.3.0" - react-motion "0.4.5" +nivo@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/nivo/-/nivo-0.15.0.tgz#57c7ddbbb3cfcebea085bb00c2045a973eddb674" + dependencies: + d3-chord "^1.0.4" + d3-color "^1.0.3" + d3-format "^1.2.0" + d3-hierarchy "^1.1.5" + d3-interpolate "^1.1.5" + d3-scale "^1.0.6" + d3-scale-chromatic "^1.1.1" + d3-shape "^1.2.0" + d3-time "^1.0.7" + d3-time-format "^2.0.5" + d3-voronoi "^1.1.2" + lodash "^4.17.4" + lodash-es "^4.17.4" + prop-types "^15.5.10" + react-measure "^2.0.2" + react-motion "^0.5.0" + recompose "^0.24.0" no-case@^2.2.0: version "2.3.0" @@ -5339,10 +5288,6 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.5.2.tgz#7ea0751da27b93bfb6cecfcec509994f52d83bb3" - pretty-bytes@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" @@ -5441,10 +5386,6 @@ qs@~6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" -qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" - query-string@^4.1.0: version "4.2.3" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.2.3.tgz#9f27273d207a25a8ee4c7b8c74dcd45d556db822" @@ -5523,12 +5464,6 @@ react-dev-utils@^3.0.2: strip-ansi "3.0.1" text-table "0.2.0" -react-dimensions@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/react-dimensions/-/react-dimensions-1.3.0.tgz#f5dec8e7b84644a605a900cae0f4a6654acf4e9f" - dependencies: - element-resize-event "^2.0.4" - react-dom@^15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470" @@ -5561,18 +5496,18 @@ react-icons@^2.2.5: dependencies: react-icon-base "2.0.7" -react-motion@0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/react-motion/-/react-motion-0.4.5.tgz#ecc42f692fec9b2de4c92f85e26375071f779b76" +react-measure@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/react-measure/-/react-measure-2.0.2.tgz#072a9a5fafc01dfbadc1fa5fb09fc351037f636c" dependencies: - performance-now "^0.2.0" - raf "^3.1.0" + get-node-dimensions "^1.2.0" + prop-types "^15.5.10" + resize-observer-polyfill "^1.4.2" -react-motion@^0.4.7: - version "0.4.8" - resolved "https://registry.yarnpkg.com/react-motion/-/react-motion-0.4.8.tgz#23bb2dd27c2d8e00d229e45572d105efcf40a35e" +react-motion@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/react-motion/-/react-motion-0.5.0.tgz#1708fc2aee552900d21c1e6bed28346863e017b6" dependencies: - create-react-class "^15.5.2" performance-now "^0.2.0" prop-types "^15.5.8" raf "^3.1.0" @@ -5632,11 +5567,12 @@ react-scripts@1.0.10: optionalDependencies: fsevents "1.1.2" -react-svg-buttons@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/react-svg-buttons/-/react-svg-buttons-0.3.1.tgz#1c26a1a85f2927d56bc6a9dce8fb49d1880b2dba" +react-svg-buttons@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/react-svg-buttons/-/react-svg-buttons-0.4.0.tgz#19950cf0858d01ef332dec13ed2a796f710eedd3" dependencies: - react-motion "^0.4.7" + prop-types "^15.5.10" + react-motion "^0.5.0" react@^15.6.1: version "15.6.1" @@ -5737,6 +5673,15 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" +recompose@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.24.0.tgz#262e93f974439eb17e7779824d88cce90492a5dd" + dependencies: + change-emitter "^0.1.2" + fbjs "^0.8.1" + hoist-non-react-statics "^1.0.0" + symbol-observable "^1.0.4" + recursive-readdir@2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99" @@ -5756,6 +5701,12 @@ redeyed@~0.4.2: dependencies: esprima "~1.0.4" +redeyed@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a" + dependencies: + esprima "~3.0.0" + reduce-css-calc@^1.2.6: version "1.3.0" resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" @@ -5879,7 +5830,7 @@ request-promise-core@1.1.1: dependencies: lodash "^4.13.1" -request-promise-native@^1.0.3: +request-promise-native@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.4.tgz#86988ec8eee408e45579fce83bfd05b3adf9a155" dependencies: @@ -5887,32 +5838,7 @@ request-promise-native@^1.0.3: stealthy-require "^1.1.0" tough-cookie ">=2.3.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" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.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" - -request@^2.81.0: +request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -5988,6 +5914,10 @@ requires-port@1.0.x, requires-port@1.x.x: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" +resize-observer-polyfill@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.4.2.tgz#a37198e6209e888acb1532a9968e06d38b6788e5" + resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" @@ -6051,10 +5981,6 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" -rw@1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.2.tgz#14ef5137ff7547c73ecf0e0af1f0aee07e5401ee" - rx-lite-aggregates@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" @@ -6519,6 +6445,20 @@ styled-components@^2.1.1: stylis "^3.2.1" supports-color "^3.2.3" +styled-components@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.1.2.tgz#bb419978e1287c5d0d88fa9106b2dd75f66a324c" + dependencies: + buffer "^5.0.3" + css-to-react-native "^2.0.3" + fbjs "^0.8.9" + hoist-non-react-statics "^1.2.0" + is-function "^1.0.1" + is-plain-object "^2.0.1" + prop-types "^15.5.4" + stylis "^3.2.1" + supports-color "^3.2.3" + stylis@^3.2.1: version "3.2.3" resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.2.3.tgz#fed751d792af3f48a247769f55aca05c1a100a09" @@ -6581,7 +6521,7 @@ sw-toolbox@^3.4.0: path-to-regexp "^1.0.1" serviceworker-cache-polyfill "^4.0.0" -symbol-observable@^1.0.3: +symbol-observable@^1.0.3, symbol-observable@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" @@ -6921,6 +6861,10 @@ validator@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/validator/-/validator-6.2.0.tgz#b2cccdc49ff0f4b8ee4e61dba2ddd3dde13f23e7" +validator@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-7.0.0.tgz#c74deb8063512fac35547938e6f0b1504a282fd2" + varify@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/varify/-/varify-0.1.1.tgz#98854bf465438a520788cfca136e14f511155b1e" @@ -6928,6 +6872,13 @@ varify@0.1.1: redeyed "~0.4.2" through "~2.3.4" +varify@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/varify/-/varify-0.2.0.tgz#191da9fe9dc4cd68d0d14498d4e2a910ff4e6516" + dependencies: + redeyed "~1.0.1" + through "~2.3.4" + vary@^1: version "1.1.0" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140" @@ -7199,10 +7150,6 @@ xmlhttprequest-ssl@1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" -xmlhttprequest@1: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"