Added back button to euromat

This commit is contained in:
Moritz Kröger 2017-08-14 22:28:12 +02:00
parent 8efc192c7c
commit f66c36e583
10 changed files with 339 additions and 58 deletions

View file

@ -5,6 +5,7 @@
"author": "Moritz Kröger <write@morkro.de>",
"private": true,
"scripts": {
"precommit": "lint-staged",
"dev": "npm run svg && node build/dev-server.js",
"start": "npm run svg && node build/dev-server.js",
"build": "npm run svg && node build/build.js",
@ -15,7 +16,15 @@
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs",
"css": "stylelint '**/*.vue' --syntax scss"
},
"lint-staged": {
"src/**/*.vue": [
"npm run css",
"git add"
]
},
"dependencies": {
"husky": "^0.14.3",
"lint-staged": "^4.0.3",
"stylelint": "^8.0.0",
"stylelint-config-standard": "^17.0.0",
"stylelint-processor-html": "^1.0.0",

View file

@ -25,14 +25,14 @@
</template>
<script>
import { getAllTheses } from '@/data'
import { theses } from '@/data'
export default {
name: 'Emphasis',
data () {
return {
theses: getAllTheses(),
theses,
emphasized: []
}
},

View file

@ -6,7 +6,7 @@
</div>
<header class="euromat-header">
<h1 class="thesis">{{ thesisTitle }}</h1>
<h1>{{ thesisTitle }}</h1>
</header>
<div class="euromat-controls">
@ -17,15 +17,27 @@
</button>
</li>
</ul>
<button class="controls-skip btn-txt" type="button" @click="submitAnswer(optionSkip)">
{{ optionSkip.label }}
</button>
<div class="controls-sub">
<button
:disabled="this.currentThesis === 0"
class="btn-dark btn-small"
type="button"
@click="goBack">
{{ $t('euromat.euromat.back') }}
</button>
<button
class="btn-dark btn-small"
type="button"
@click="submitAnswer(optionSkip)">
{{ optionSkip.label }}
</button>
</div>
</div>
</section>
</template>
<script>
import { getAllOptions, getThesis, getThesesCount } from '@/data'
import { options, theses } from '@/data'
import Progress from '@/components/progress'
export default {
@ -38,7 +50,7 @@
data () {
return {
currentThesis: 0,
thesesCount: getThesesCount(),
thesesCount: theses.length,
answers: []
}
},
@ -48,10 +60,10 @@
if (this.currentThesis === this.thesesCount) {
return
}
return getThesis(this.currentThesis).thesis
return this.getThesis(this.currentThesis).thesis
},
options () {
return getAllOptions().map(option =>
return options.map(option =>
Object.assign({}, option, {
label: this.$t(`euromat.options.${option.position}`)
}))
@ -62,6 +74,16 @@
},
methods: {
getThesis (id) {
return theses.find(t => t.id === id)
},
goBack () {
const thesis = this.getThesis(this.currentThesis)
const index = this.answers.findIndex(a => a.thesis === thesis.id)
this.answers.splice(index, 1)
this.currentThesis -= 1
},
submitAnswer (option, event) {
if (!option) {
return console.warn('Invalid answer')
@ -70,7 +92,7 @@
this.forwardToResults()
}
const thesis = getThesis(this.currentThesis)
const thesis = this.getThesis(this.currentThesis)
this.answers.push({ thesis: thesis.id, position: option.position })
this.currentThesis += 1
event && event.target.blur()
@ -93,12 +115,13 @@
margin-bottom: $base-gap * 2;
span {
margin-right: 15px;
margin-right: $small-gap;
}
}
.euromat-header {
margin-bottom: $base-gap * 2;
text-align: center;
}
.euromat-controls {
@ -108,9 +131,13 @@
align-items: center;
}
.controls-skip {
font-style: italic;
margin-top: $base-gap;
.controls-sub {
display: flex;
margin-top: $small-gap;
button:first-of-type {
margin-right: $small-gap;
}
}
.euromat-btns {
@ -119,7 +146,7 @@
justify-content: center;
li:not(:last-child) {
margin-right: 15px;
margin-right: $small-gap;
}
}
</style>

View file

@ -24,7 +24,7 @@
EMPHASIS_POINTS,
getScoringGrid
} from '@/app/euromat/scoring'
import { getParties } from '@/data'
import { parties } from '@/data'
import Progress from '@/components/progress'
import '@/assets/icons'
@ -47,7 +47,7 @@
answers: [],
emphasized: [],
scores: [],
parties: getParties(),
parties,
totalScoredPoints: 0
}
},
@ -101,9 +101,9 @@
// 4. Count the highest score per thesis
// 5. Return a new object for each thesis row with results
return grid.map(row => {
const parties = row.positions.filter(p => p.type === 'party')
const partiesFromRow = row.positions.filter(p => p.type === 'party')
const user = row.positions[row.positions.length - 1]
const scores = parties.map(party => this.evalPoints(party, user, row.emphasis))
const scores = partiesFromRow.map(party => this.evalPoints(party, user, row.emphasis))
const highestScore = this.getHighestScore(scores)
return { thesis: row.thesis, highestScore, scores }
})

View file

@ -7,6 +7,9 @@ export default {
negative: '👎🏻 Ich bin dagegen',
skipped: 'These überspringen'
},
euromat: {
back: 'Zurück'
},
results: {
headline: 'Dein Ergebnis'
},
@ -25,6 +28,9 @@ export default {
negative: '👎🏻 I disagree',
skipped: 'Skip thesis'
},
euromat: {
back: 'Back'
},
results: {
headline: 'Your results'
},

View file

@ -1,10 +1,17 @@
import { getPartyPositions } from '@/data'
import { parties } from '@/data'
export const MAX_POINTS = 2
export const BASE_POINTS = 1
export const MIN_POINTS = 0
export const EMPHASIS_POINTS = 2
export function getPartyPositions (thesis) {
return parties.map(party => {
const { position } = party.positions.find(p => p.thesis === thesis)
return { type: 'party', party: party.id, position }
})
}
// Grid example:
// [
// {
@ -22,7 +29,6 @@ export const EMPHASIS_POINTS = 2
// },
// ...
// ]
export function getScoringGrid (userAnswers, emphasizedTheses) {
return userAnswers.map(answer => (
{

View file

@ -2,29 +2,8 @@ import options from './options'
import theses from './theses'
import parties from './parties'
export const getOption = position =>
options.find(o => o.position === position)
export const getAllOptions = () =>
options
export const getThesis = id =>
theses.find(t => t.id === id)
export const getAllTheses = () =>
theses
export const getThesesCount = () =>
theses.length
export const getParty = token =>
parties.find(p => p.token === token)
export const getPartyPositions = (thesis) =>
parties.map(party => {
const { position } = party.positions.find(p => p.thesis === thesis)
return { type: 'party', party: party.id, position }
})
export const getParties = () =>
export {
options,
theses,
parties
}

View file

@ -1,7 +1,8 @@
@import "~styles/colors";
@import "~styles/layout";
button, .btn {
button,
.btn {
display: inline-block;
text-decoration: none;
padding: 10px 20px;
@ -15,6 +16,16 @@ button, .btn {
transition: background 50ms, border-color 0.4s;
transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
&[disabled] {
cursor: not-allowed;
color: transparentize($button-color, 0.5);
&::before,
&::after {
content: none;
}
}
&::before,
&::after {
content: '';
@ -41,10 +52,10 @@ button, .btn {
z-index: -2;
}
&:hover {
background: transparent;
border-color: $yellow;
color: $button-color;
&:hover:not([disabled]) {
background: transparent !important;
border-color: $yellow !important;
color: $button-color !important;
&::before {
opacity: 1;
@ -58,6 +69,26 @@ button, .btn {
background: $yellow;
}
&.btn-dark {
background: $dark-blue;
border-color: $dark-blue;
color: $text-color-base;
font-weight: 400;
&[disabled] {
color: rgba(255, 255, 255, 0.3);
}
&::after {
background: $dark-blue;
}
}
&.btn-small {
padding: 5px 10px;
font-size: 85%;
}
&.btn-txt {
all: unset;
cursor: pointer;
@ -66,7 +97,8 @@ button, .btn {
border: none;
font-weight: 400;
&::before, &::after {
&::before,
&::after {
content: none;
}

View file

@ -1,2 +1,3 @@
$small-gap: 15px;
$base-gap: 25px;
$border-radius: 20px;

231
yarn.lock
View file

@ -94,7 +94,7 @@ ansi-align@^1.1.0:
dependencies:
string-width "^1.0.1"
ansi-escapes@^1.1.0:
ansi-escapes@^1.0.0, ansi-escapes@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
@ -127,6 +127,10 @@ anymatch@^1.3.0:
micromatch "^2.1.5"
normalize-path "^2.0.0"
app-root-path@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46"
aproba@^1.0.3:
version "1.1.2"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1"
@ -1222,6 +1226,10 @@ chromedriver@^2.27.2:
request "^2.81.0"
rimraf "^2.5.4"
ci-info@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534"
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
@ -1249,7 +1257,7 @@ cli-boxes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
cli-cursor@^1.0.1:
cli-cursor@^1.0.1, cli-cursor@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
dependencies:
@ -1261,10 +1269,21 @@ cli-cursor@^2.1.0:
dependencies:
restore-cursor "^2.0.0"
cli-spinners@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c"
cli-spinners@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a"
cli-truncate@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574"
dependencies:
slice-ansi "0.0.4"
string-width "^1.0.1"
cli-width@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
@ -1520,6 +1539,19 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
cosmiconfig@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-1.1.0.tgz#0dea0f9804efdfb929fbb1b188e25553ea053d37"
dependencies:
graceful-fs "^4.1.2"
js-yaml "^3.4.3"
minimist "^1.2.0"
object-assign "^4.0.1"
os-homedir "^1.0.1"
parse-json "^2.2.0"
pinkie-promise "^2.0.0"
require-from-string "^1.1.0"
cosmiconfig@^2.1.0, cosmiconfig@^2.1.1, cosmiconfig@^2.1.3:
version "2.2.2"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892"
@ -1726,6 +1758,10 @@ data-uri-to-buffer@1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835"
date-fns@^1.27.2:
version "1.28.5"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.5.tgz#257cfc45d322df45ef5658665967ee841cd73faf"
date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
@ -1998,6 +2034,10 @@ electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.17:
version "1.3.18"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.18.tgz#3dcc99da3e6b665f6abbc71c28ad51a2cd731a9c"
elegant-spinner@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
elliptic@^6.0.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
@ -2331,6 +2371,18 @@ evp_bytestokey@^1.0.0:
dependencies:
create-hash "^1.1.1"
execa@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
dependencies:
cross-spawn "^5.0.1"
get-stream "^3.0.0"
is-stream "^1.1.0"
npm-run-path "^2.0.0"
p-finally "^1.0.0"
signal-exit "^3.0.0"
strip-eof "^1.0.0"
execall@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73"
@ -2460,7 +2512,7 @@ fd-slicer@~1.0.1:
dependencies:
pend "~1.2.0"
figures@^1.3.5:
figures@^1.3.5, figures@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
dependencies:
@ -2721,6 +2773,10 @@ get-stdin@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
get-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
get-uri@2:
version "2.0.1"
resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.1.tgz#dbdcacacd8c608a38316869368117697a1631c59"
@ -3128,6 +3184,14 @@ https-proxy-agent@1:
debug "2"
extend "3"
husky@^0.14.3:
version "0.14.3"
resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3"
dependencies:
is-ci "^1.0.10"
normalize-path "^1.0.0"
strip-indent "^2.0.0"
iconv-lite@0.4.15:
version "0.4.15"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
@ -3168,6 +3232,10 @@ indent-string@^2.1.0:
dependencies:
repeating "^2.0.0"
indent-string@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
indexes-of@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
@ -3269,6 +3337,12 @@ is-builtin-module@^1.0.0:
dependencies:
builtin-modules "^1.0.0"
is-ci@^1.0.10:
version "1.0.10"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e"
dependencies:
ci-info "^1.0.0"
is-directory@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
@ -3390,6 +3464,10 @@ is-primitive@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
is-property@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
@ -3412,7 +3490,7 @@ is-retry-allowed@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
is-stream@^1.0.0, is-stream@^1.0.1:
is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
@ -3753,6 +3831,67 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
lint-staged@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.0.3.tgz#1ce55591bc2c83a781a90b69a0a0c8aa0fc6370b"
dependencies:
app-root-path "^2.0.0"
cosmiconfig "^1.1.0"
execa "^0.8.0"
listr "^0.12.0"
lodash.chunk "^4.2.0"
minimatch "^3.0.0"
npm-which "^3.0.1"
p-map "^1.1.1"
staged-git-files "0.0.4"
listr-silent-renderer@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e"
listr-update-renderer@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9"
dependencies:
chalk "^1.1.3"
cli-truncate "^0.2.1"
elegant-spinner "^1.0.1"
figures "^1.7.0"
indent-string "^3.0.0"
log-symbols "^1.0.2"
log-update "^1.0.2"
strip-ansi "^3.0.1"
listr-verbose-renderer@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.0.tgz#44dc01bb0c34a03c572154d4d08cde9b1dc5620f"
dependencies:
chalk "^1.1.3"
cli-cursor "^1.0.2"
date-fns "^1.27.2"
figures "^1.7.0"
listr@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/listr/-/listr-0.12.0.tgz#6bce2c0f5603fa49580ea17cd6a00cc0e5fa451a"
dependencies:
chalk "^1.1.3"
cli-truncate "^0.2.1"
figures "^1.7.0"
indent-string "^2.1.0"
is-promise "^2.1.0"
is-stream "^1.1.0"
listr-silent-renderer "^1.1.1"
listr-update-renderer "^0.2.0"
listr-verbose-renderer "^0.4.0"
log-symbols "^1.0.2"
log-update "^1.0.2"
ora "^0.2.3"
p-map "^1.1.1"
rxjs "^5.0.0-beta.11"
stream-to-observable "^0.1.0"
strip-ansi "^3.0.1"
load-json-file@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
@ -3868,6 +4007,10 @@ lodash.camelcase@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
lodash.chunk@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc"
lodash.clone@3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-3.0.3.tgz#84688c73d32b5a90ca25616963f189252a997043"
@ -3974,6 +4117,13 @@ log-symbols@^1.0.2:
dependencies:
chalk "^1.0.0"
log-update@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1"
dependencies:
ansi-escapes "^1.0.0"
cli-cursor "^1.0.2"
log4js@^0.6.31:
version "0.6.38"
resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd"
@ -4409,6 +4559,10 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
normalize-path@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379"
normalize-path@^2.0.0, normalize-path@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
@ -4436,6 +4590,26 @@ normalize.css@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-7.0.0.tgz#abfb1dd82470674e0322b53ceb1aaf412938e4bf"
npm-path@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.3.tgz#15cff4e1c89a38da77f56f6055b24f975dfb2bbe"
dependencies:
which "^1.2.10"
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
dependencies:
path-key "^2.0.0"
npm-which@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa"
dependencies:
commander "^2.9.0"
npm-path "^2.0.2"
which "^1.2.10"
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
@ -4547,6 +4721,15 @@ options@>=0.0.5:
version "0.0.6"
resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
ora@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4"
dependencies:
chalk "^1.1.1"
cli-cursor "^1.0.2"
cli-spinners "^0.1.2"
object-assign "^4.0.1"
ora@^1.2.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a"
@ -4581,6 +4764,10 @@ osenv@0, osenv@^0.1.0, osenv@^0.1.4:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
p-limit@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
@ -4591,6 +4778,10 @@ p-locate@^2.0.0:
dependencies:
p-limit "^1.1.0"
p-map@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.1.1.tgz#05f5e4ae97a068371bc2a5cc86bfbdbc19c4ae7a"
pac-proxy-agent@1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz#34a385dfdf61d2f0ecace08858c745d3e791fd4d"
@ -4703,6 +4894,10 @@ path-is-inside@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
path-key@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
path-parse@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
@ -5622,6 +5817,12 @@ rx-lite@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
rxjs@^5.0.0-beta.11:
version "5.4.3"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.3.tgz#0758cddee6033d68e0fd53676f0f3596ce3d483f"
dependencies:
symbol-observable "^1.0.1"
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
@ -5964,6 +6165,10 @@ stackframe@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.3.tgz#fe64ab20b170e4ce49044b126c119dfa0e5dc7cc"
staged-git-files@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35"
"statuses@>= 1.3.1 < 2", statuses@~1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
@ -5991,6 +6196,10 @@ stream-http@^2.3.1:
to-arraybuffer "^1.0.0"
xtend "^4.0.0"
stream-to-observable@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe"
strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
@ -6052,12 +6261,20 @@ strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
strip-indent@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
dependencies:
get-stdin "^4.0.1"
strip-indent@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@ -6206,6 +6423,10 @@ sw-toolbox@^3.4.0:
path-to-regexp "^1.0.1"
serviceworker-cache-polyfill "^4.0.0"
symbol-observable@^1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
table@^3.7.8:
version "3.8.3"
resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
@ -6739,7 +6960,7 @@ which-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
which@1, which@^1.1.1, which@^1.2.9:
which@1, which@^1.1.1, which@^1.2.10, which@^1.2.9:
version "1.3.0"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
dependencies: