Set up docker as development environment.
gitea/icedream/vizon-countdown-website/master There was a failure building this commit Details

- Docker will be used to provide a working stack with a MySQL server and phpMyAdmin as we're planning to rebuild the website to include results and winners from drawings.
- Fix dependencies/devDependencies.
master
Icedream 2017-08-22 22:20:58 +02:00
parent 2e4cff3fff
commit 9bea67e1b1
Signed by: icedream
GPG Key ID: 1573F6D8EFE4D0CF
11 changed files with 394 additions and 123 deletions

5
.gitignore vendored
View File

@ -20,9 +20,10 @@ coverage
build/Release build/Release
# Dependency directory # Dependency directory
# Deployed apps should consider commenting this line out: # Deployed apps should consider commenting these line out:
# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git # see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
node_modules node_modules/**
!node_modules/.gitkeep
# Webpack output # Webpack output
/dist /dist

45
docker-compose.local.yml Normal file
View File

@ -0,0 +1,45 @@
version: "2"
volumes:
web_npm_cache:
services:
db:
image: mariadb
volumes:
- "./docker/mysql/:/docker-entrypoint-initdb.d/:ro"
environment:
MYSQL_ROOT_PASSWORD: testing
MYSQL_DATABASE: vizon
MYSQL_USER: vizonweb
MYSQL_PASSWORD: vizonweb
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "3001:80"
depends_on:
- db
environment:
PMA_HOST: "db"
web:
# image: node:6-alpine
build: docker/node
command: sh ./docker/web.sh
volumes:
- ".:/src:ro"
- "web_npm_cache:/var/cache/npm"
- "/src/node_modules"
ports:
- "3000:3000"
working_dir: /src
environment:
NPM_CONFIG_CACHE: /var/cache/npm
PORT: "3000"
MYSQL_HOST: db
MYSQL_DATABASE: vizon
MYSQL_USER: vizonweb
MYSQL_PASSWORD: vizonweb
depends_on:
- db

View File

@ -0,0 +1,88 @@
-- MySQL Script generated by MySQL Workbench
-- 01/15/17 12:21:36
-- Model: New Model Version: 1.0
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- -----------------------------------------------------
-- Schema vizon
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema vizon
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `vizon` DEFAULT CHARACTER SET latin1 ;
USE `vizon` ;
-- -----------------------------------------------------
-- Table `vizon`.`vizon_users`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `vizon`.`vizon_users` (
`id` INT NOT NULL AUTO_INCREMENT,
`nick` VARCHAR(64) NOT NULL,
`vhost` VARCHAR(64) NULL,
`eligible` TINYINT(1) NULL DEFAULT 0,
`bold` TINYINT(1) NULL DEFAULT 0,
`expires` INT NULL DEFAULT -1,
`obtained` TIMESTAMP NULL,
`multiplier` INT NULL DEFAULT 1,
`jackpot` TINYINT(1) NULL DEFAULT 0,
`permanent` TINYINT(1) NULL DEFAULT 0,
`days` INT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE INDEX `nick_UNIQUE` (`nick` ASC))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `vizon`.`vizon_drawings`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `vizon`.`vizon_drawings` (
`id` INT NOT NULL AUTO_INCREMENT,
`first` INT NULL,
`second` INT NULL,
`third` INT NULL,
`fourth` INT NULL,
`fifth` INT NULL,
`sixth` INT NULL,
`drawing_date` TIMESTAMP NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `vizon`.`vizon_bets`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `vizon`.`vizon_bets` (
`id` INT NOT NULL AUTO_INCREMENT,
`vizon_users_id` INT NOT NULL,
`vizon_drawings_id` INT NOT NULL,
`first` INT NOT NULL,
`second` INT NOT NULL,
`third` INT NOT NULL,
`fourth` INT NOT NULL,
`fifth` INT NOT NULL,
`sixth` INT NOT NULL,
`placed` TIMESTAMP NOT NULL DEFAULT NOW(),
PRIMARY KEY (`id`),
INDEX `fk_vizon_bets_vizon_users_idx` (`vizon_users_id` ASC),
INDEX `fk_vizon_bets_vizon_drawings1_idx` (`vizon_drawings_id` ASC),
CONSTRAINT `fk_vizon_bets_vizon_users`
FOREIGN KEY (`vizon_users_id`)
REFERENCES `vizon`.`vizon_users` (`id`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `fk_vizon_bets_vizon_drawings1`
FOREIGN KEY (`vizon_drawings_id`)
REFERENCES `vizon`.`vizon_drawings` (`id`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

View File

@ -0,0 +1,36 @@
-- phpMyAdmin SQL Dump
-- version 4.7.3
-- https://www.phpmyadmin.net/
--
-- Host: db
-- Generation Time: Aug 22, 2017 at 08:02 PM
-- Server version: 10.2.8-MariaDB-10.2.8+maria~jessie
-- PHP Version: 7.0.21
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `vizon`
--
--
-- Dumping data for table `vizon_drawings`
--
INSERT INTO `vizon_drawings` (`id`, `first`, `second`, `third`, `fourth`, `fifth`, `sixth`, `drawing_date`) VALUES
(1, 2, 4, 9, 11, 13, 24, '2017-08-12 00:00:00'),
(2, 1, 5, 15, 19, 22, 23, '2017-08-15 00:00:00');
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@ -0,0 +1,36 @@
-- phpMyAdmin SQL Dump
-- version 4.7.3
-- https://www.phpmyadmin.net/
--
-- Host: db
-- Generation Time: Aug 22, 2017 at 08:02 PM
-- Server version: 10.2.8-MariaDB-10.2.8+maria~jessie
-- PHP Version: 7.0.21
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `vizon`
--
--
-- Dumping data for table `vizon_users`
--
INSERT INTO `vizon_users` (`id`, `nick`, `vhost`, `eligible`, `bold`, `expires`, `obtained`, `multiplier`, `jackpot`, `permanent`, `days`) VALUES
(4, 'Icedream', '', 1, 0, -1, NULL, 1, 0, 0, 0),
(5, 'MAGIC', 'is.some.op', 0, 1, -1, '2017-03-08 00:00:00', 1, 0, 1, 0);
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

17
docker/node/Dockerfile Normal file
View File

@ -0,0 +1,17 @@
FROM node:7-alpine
RUN \
apk add --no-cache \
gcc \
g++ \
musl-dev \
python \
openssl \
curl \
tar \
make
RUN npm install npm@5.x \
&& rm -rf /usr/local/lib/node_modules \
&& mv node_modules /usr/local/lib \
&& npm install -g npm@5.x

3
docker/web.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh -e
npm install
npm start

34
index.js Normal file
View File

@ -0,0 +1,34 @@
const path = require('path');
const express = require('express');
const fs = require('fs');
const bodyParser = require('body-parser');
const frontendDir = path.resolve(__dirname, 'dist');
const app = express();
app.set('port', (process.env.PORT || 3000));
fs.stat(frontendDir, (err) => {
if (!err) {
console.log(`Serving static build from ${frontendDir}`);
console.log('Run `npm run clean` to return to development mode');
app.use('/', express.static(frontendDir));
} else {
console.log('Serving development build with nwb middleware');
console.log('Run `npm run build` to create a production build');
// eslint-disable-next-line import/no-extraneous-dependencies
app.use(require('nwb/express')(express, {
entry: 'src/index.jsx',
reload: true,
}));
}
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.listen(app.get('port'), () => {
console.log(`Server started: http://localhost:${app.get('port')}/`);
});

0
node_modules/.gitkeep generated vendored Normal file
View File

212
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "vizon-countdown-website", "name": "vizon-countdown-website",
"version": "0.1.0", "version": "0.2.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -14,7 +14,6 @@
"version": "1.3.3", "version": "1.3.3",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
"integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
"dev": true,
"requires": { "requires": {
"mime-types": "2.1.16", "mime-types": "2.1.16",
"negotiator": "0.6.1" "negotiator": "0.6.1"
@ -306,7 +305,8 @@
"asap": { "asap": {
"version": "2.0.6", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
"dev": true
}, },
"asn1": { "asn1": {
"version": "0.2.3", "version": "0.2.3",
@ -1680,7 +1680,6 @@
"version": "1.17.2", "version": "1.17.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.2.tgz", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.2.tgz",
"integrity": "sha1-+IkqvI+eYn1Crtr7yma/WrmRBO4=", "integrity": "sha1-+IkqvI+eYn1Crtr7yma/WrmRBO4=",
"dev": true,
"requires": { "requires": {
"bytes": "2.4.0", "bytes": "2.4.0",
"content-type": "1.0.2", "content-type": "1.0.2",
@ -1698,7 +1697,6 @@
"version": "2.6.7", "version": "2.6.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
"integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
"dev": true,
"requires": { "requires": {
"ms": "2.0.0" "ms": "2.0.0"
} }
@ -1706,8 +1704,7 @@
"iconv-lite": { "iconv-lite": {
"version": "0.4.15", "version": "0.4.15",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
"integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es="
"dev": true
} }
} }
}, },
@ -1890,8 +1887,7 @@
"bytes": { "bytes": {
"version": "2.4.0", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
"integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk="
"dev": true
}, },
"caller-path": { "caller-path": {
"version": "0.1.0", "version": "0.1.0",
@ -2358,14 +2354,12 @@
"content-disposition": { "content-disposition": {
"version": "0.5.2", "version": "0.5.2",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
"dev": true
}, },
"content-type": { "content-type": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
"integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=", "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0="
"dev": true
}, },
"convert-source-map": { "convert-source-map": {
"version": "1.5.0", "version": "1.5.0",
@ -2376,14 +2370,12 @@
"cookie": { "cookie": {
"version": "0.3.1", "version": "0.3.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
"dev": true
}, },
"cookie-signature": { "cookie-signature": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
"dev": true
}, },
"copy-template-dir": { "copy-template-dir": {
"version": "1.3.0", "version": "1.3.0",
@ -2548,6 +2540,7 @@
"version": "15.6.0", "version": "15.6.0",
"resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.0.tgz", "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.0.tgz",
"integrity": "sha1-q0SEl8JlZuHilBPogyB9V8/nvtQ=", "integrity": "sha1-q0SEl8JlZuHilBPogyB9V8/nvtQ=",
"dev": true,
"requires": { "requires": {
"fbjs": "0.8.14", "fbjs": "0.8.14",
"loose-envify": "1.3.1", "loose-envify": "1.3.1",
@ -2890,7 +2883,6 @@
"version": "2.6.8", "version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true,
"requires": { "requires": {
"ms": "2.0.0" "ms": "2.0.0"
} }
@ -2904,7 +2896,8 @@
"deep-equal": { "deep-equal": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
"dev": true
}, },
"deep-is": { "deep-is": {
"version": "0.1.3", "version": "0.1.3",
@ -2958,8 +2951,7 @@
"depd": { "depd": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
"integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
"dev": true
}, },
"des.js": { "des.js": {
"version": "1.0.0", "version": "1.0.0",
@ -2974,8 +2966,7 @@
"destroy": { "destroy": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
"dev": true
}, },
"detect-indent": { "detect-indent": {
"version": "4.0.0", "version": "4.0.0",
@ -3169,8 +3160,7 @@
"ee-first": { "ee-first": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
"dev": true
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.3.18", "version": "1.3.18",
@ -3208,13 +3198,13 @@
"encodeurl": { "encodeurl": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
"integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
"dev": true
}, },
"encoding": { "encoding": {
"version": "0.1.12", "version": "0.1.12",
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
"integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
"dev": true,
"requires": { "requires": {
"iconv-lite": "0.4.18" "iconv-lite": "0.4.18"
} }
@ -3470,8 +3460,7 @@
"escape-html": { "escape-html": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
"dev": true
}, },
"escape-string-regexp": { "escape-string-regexp": {
"version": "1.0.5", "version": "1.0.5",
@ -3805,8 +3794,7 @@
"etag": { "etag": {
"version": "1.8.0", "version": "1.8.0",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz",
"integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=", "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE="
"dev": true
}, },
"event-emitter": { "event-emitter": {
"version": "0.3.5", "version": "0.3.5",
@ -3872,7 +3860,8 @@
"exenv": { "exenv": {
"version": "1.2.2", "version": "1.2.2",
"resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz",
"integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=",
"dev": true
}, },
"exit": { "exit": {
"version": "0.1.2", "version": "0.1.2",
@ -3961,7 +3950,6 @@
"version": "4.15.4", "version": "4.15.4",
"resolved": "https://registry.npmjs.org/express/-/express-4.15.4.tgz", "resolved": "https://registry.npmjs.org/express/-/express-4.15.4.tgz",
"integrity": "sha1-Ay4iU0ic+PzgJma+yj0R7XotrtE=", "integrity": "sha1-Ay4iU0ic+PzgJma+yj0R7XotrtE=",
"dev": true,
"requires": { "requires": {
"accepts": "1.3.3", "accepts": "1.3.3",
"array-flatten": "1.1.1", "array-flatten": "1.1.1",
@ -3996,14 +3984,12 @@
"array-flatten": { "array-flatten": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
"dev": true
}, },
"qs": { "qs": {
"version": "6.5.0", "version": "6.5.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz",
"integrity": "sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg==", "integrity": "sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg=="
"dev": true
} }
} }
}, },
@ -4142,6 +4128,7 @@
"version": "0.8.14", "version": "0.8.14",
"resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.14.tgz", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.14.tgz",
"integrity": "sha1-0dviviVMNakeCfMfnNUKQLKg7Rw=", "integrity": "sha1-0dviviVMNakeCfMfnNUKQLKg7Rw=",
"dev": true,
"requires": { "requires": {
"core-js": "1.2.7", "core-js": "1.2.7",
"isomorphic-fetch": "2.2.1", "isomorphic-fetch": "2.2.1",
@ -4155,12 +4142,14 @@
"core-js": { "core-js": {
"version": "1.2.7", "version": "1.2.7",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
"dev": true
}, },
"promise": { "promise": {
"version": "7.3.1", "version": "7.3.1",
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
"dev": true,
"requires": { "requires": {
"asap": "2.0.6" "asap": "2.0.6"
} }
@ -4233,7 +4222,6 @@
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.4.tgz", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.4.tgz",
"integrity": "sha512-16l/r8RgzlXKmFOhZpHBztvye+lAhC5SU7hXavnerC9UfZqZxxXl3BzL8MhffPT3kF61lj9Oav2LKEzh0ei7tg==", "integrity": "sha512-16l/r8RgzlXKmFOhZpHBztvye+lAhC5SU7hXavnerC9UfZqZxxXl3BzL8MhffPT3kF61lj9Oav2LKEzh0ei7tg==",
"dev": true,
"requires": { "requires": {
"debug": "2.6.8", "debug": "2.6.8",
"encodeurl": "1.0.1", "encodeurl": "1.0.1",
@ -4344,14 +4332,12 @@
"forwarded": { "forwarded": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz",
"integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M=", "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M="
"dev": true
}, },
"fresh": { "fresh": {
"version": "0.5.0", "version": "0.5.0",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz",
"integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=", "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44="
"dev": true
}, },
"fs-access": { "fs-access": {
"version": "1.0.1", "version": "1.0.1",
@ -4790,6 +4776,7 @@
"version": "4.6.3", "version": "4.6.3",
"resolved": "https://registry.npmjs.org/history/-/history-4.6.3.tgz", "resolved": "https://registry.npmjs.org/history/-/history-4.6.3.tgz",
"integrity": "sha1-bXI6hxLFgda+836MJvSu3G64aWc=", "integrity": "sha1-bXI6hxLFgda+836MJvSu3G64aWc=",
"dev": true,
"requires": { "requires": {
"invariant": "2.2.2", "invariant": "2.2.2",
"loose-envify": "1.3.1", "loose-envify": "1.3.1",
@ -4818,7 +4805,8 @@
"hoist-non-react-statics": { "hoist-non-react-statics": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
"integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=",
"dev": true
}, },
"home-or-tmp": { "home-or-tmp": {
"version": "2.0.0", "version": "2.0.0",
@ -4959,7 +4947,6 @@
"version": "1.6.2", "version": "1.6.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
"integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
"dev": true,
"requires": { "requires": {
"depd": "1.1.1", "depd": "1.1.1",
"inherits": "2.0.3", "inherits": "2.0.3",
@ -5026,7 +5013,8 @@
"iconv-lite": { "iconv-lite": {
"version": "0.4.18", "version": "0.4.18",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz",
"integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==" "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==",
"dev": true
}, },
"icss-replace-symbols": { "icss-replace-symbols": {
"version": "1.1.0", "version": "1.1.0",
@ -5059,6 +5047,7 @@
"version": "2.3.1", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-2.3.1.tgz", "resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-2.3.1.tgz",
"integrity": "sha1-jM/OkhVyCMEgsq+tftBcERFMCG4=", "integrity": "sha1-jM/OkhVyCMEgsq+tftBcERFMCG4=",
"dev": true,
"requires": { "requires": {
"invariant": "2.2.2" "invariant": "2.2.2"
} }
@ -5115,8 +5104,7 @@
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
"dev": true
}, },
"inquirer": { "inquirer": {
"version": "3.2.2", "version": "3.2.2",
@ -5205,6 +5193,7 @@
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
"integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
"dev": true,
"requires": { "requires": {
"loose-envify": "1.3.1" "loose-envify": "1.3.1"
} }
@ -5224,8 +5213,7 @@
"ipaddr.js": { "ipaddr.js": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz",
"integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA=", "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA="
"dev": true
}, },
"is-absolute-url": { "is-absolute-url": {
"version": "2.1.0", "version": "2.1.0",
@ -5491,7 +5479,8 @@
"is-stream": { "is-stream": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true
}, },
"is-string": { "is-string": {
"version": "1.0.4", "version": "1.0.4",
@ -5557,6 +5546,7 @@
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
"integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
"dev": true,
"requires": { "requires": {
"node-fetch": "1.7.2", "node-fetch": "1.7.2",
"whatwg-fetch": "2.0.3" "whatwg-fetch": "2.0.3"
@ -5668,7 +5658,8 @@
"js-tokens": { "js-tokens": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
"dev": true
}, },
"js-yaml": { "js-yaml": {
"version": "3.9.1", "version": "3.9.1",
@ -6308,6 +6299,7 @@
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
"dev": true,
"requires": { "requires": {
"js-tokens": "3.0.2" "js-tokens": "3.0.2"
} }
@ -6386,8 +6378,7 @@
"media-typer": { "media-typer": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
"dev": true
}, },
"mem": { "mem": {
"version": "1.1.0", "version": "1.1.0",
@ -6491,14 +6482,12 @@
"merge-descriptors": { "merge-descriptors": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
"dev": true
}, },
"methods": { "methods": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
"dev": true
}, },
"micromatch": { "micromatch": {
"version": "2.3.11", "version": "2.3.11",
@ -6540,14 +6529,12 @@
"mime-db": { "mime-db": {
"version": "1.29.0", "version": "1.29.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz",
"integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=", "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg="
"dev": true
}, },
"mime-types": { "mime-types": {
"version": "2.1.16", "version": "2.1.16",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz",
"integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=",
"dev": true,
"requires": { "requires": {
"mime-db": "1.29.0" "mime-db": "1.29.0"
} }
@ -6704,12 +6691,14 @@
"moment": { "moment": {
"version": "2.18.1", "version": "2.18.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz",
"integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=" "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=",
"dev": true
}, },
"moment-timezone": { "moment-timezone": {
"version": "0.5.13", "version": "0.5.13",
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.13.tgz", "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.13.tgz",
"integrity": "sha1-mc5cfYJyYusPH3AgRBd/YHRde5A=", "integrity": "sha1-mc5cfYJyYusPH3AgRBd/YHRde5A=",
"dev": true,
"requires": { "requires": {
"moment": "2.18.1" "moment": "2.18.1"
} }
@ -6717,8 +6706,7 @@
"ms": { "ms": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
"dev": true
}, },
"multicast-dns": { "multicast-dns": {
"version": "6.1.1", "version": "6.1.1",
@ -6766,8 +6754,7 @@
"negotiator": { "negotiator": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
"dev": true
}, },
"no-case": { "no-case": {
"version": "2.3.1", "version": "2.3.1",
@ -6791,6 +6778,7 @@
"version": "1.7.2", "version": "1.7.2",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz",
"integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==", "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==",
"dev": true,
"requires": { "requires": {
"encoding": "0.1.12", "encoding": "0.1.12",
"is-stream": "1.1.0" "is-stream": "1.1.0"
@ -6959,7 +6947,8 @@
"normalize-scss": { "normalize-scss": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/normalize-scss/-/normalize-scss-7.0.0.tgz", "resolved": "https://registry.npmjs.org/normalize-scss/-/normalize-scss-7.0.0.tgz",
"integrity": "sha1-kuqsZVTMN2M2wGaCoNaiCZu7CIk=" "integrity": "sha1-kuqsZVTMN2M2wGaCoNaiCZu7CIk=",
"dev": true
}, },
"normalize-url": { "normalize-url": {
"version": "1.9.1", "version": "1.9.1",
@ -7226,7 +7215,8 @@
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
}, },
"object-component": { "object-component": {
"version": "0.0.3", "version": "0.0.3",
@ -7284,7 +7274,6 @@
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"dev": true,
"requires": { "requires": {
"ee-first": "1.1.1" "ee-first": "1.1.1"
} }
@ -7550,8 +7539,7 @@
"parseurl": { "parseurl": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
"integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=", "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY="
"dev": true
}, },
"path-browserify": { "path-browserify": {
"version": "0.0.0", "version": "0.0.0",
@ -7595,8 +7583,7 @@
"path-to-regexp": { "path-to-regexp": {
"version": "0.1.7", "version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
"dev": true
}, },
"path-type": { "path-type": {
"version": "2.0.0", "version": "2.0.0",
@ -8873,12 +8860,14 @@
"preact": { "preact": {
"version": "8.2.1", "version": "8.2.1",
"resolved": "https://registry.npmjs.org/preact/-/preact-8.2.1.tgz", "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.1.tgz",
"integrity": "sha1-Z0JD3wyEeITQGYNARKovzTEecu0=" "integrity": "sha1-Z0JD3wyEeITQGYNARKovzTEecu0=",
"dev": true
}, },
"preact-compat": { "preact-compat": {
"version": "3.17.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/preact-compat/-/preact-compat-3.17.0.tgz", "resolved": "https://registry.npmjs.org/preact-compat/-/preact-compat-3.17.0.tgz",
"integrity": "sha1-Uoz9/DARkMGg9HVnM2vh9L4CZrM=", "integrity": "sha1-Uoz9/DARkMGg9HVnM2vh9L4CZrM=",
"dev": true,
"requires": { "requires": {
"immutability-helper": "2.3.1", "immutability-helper": "2.3.1",
"preact-render-to-string": "3.6.3", "preact-render-to-string": "3.6.3",
@ -8891,6 +8880,7 @@
"version": "3.6.3", "version": "3.6.3",
"resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-3.6.3.tgz", "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-3.6.3.tgz",
"integrity": "sha1-SB0NW9rJGS0zR1V0N9XNAKoxIEM=", "integrity": "sha1-SB0NW9rJGS0zR1V0N9XNAKoxIEM=",
"dev": true,
"requires": { "requires": {
"pretty-format": "3.8.0" "pretty-format": "3.8.0"
} }
@ -8898,7 +8888,8 @@
"preact-transition-group": { "preact-transition-group": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/preact-transition-group/-/preact-transition-group-1.1.1.tgz", "resolved": "https://registry.npmjs.org/preact-transition-group/-/preact-transition-group-1.1.1.tgz",
"integrity": "sha1-8KSTJ+pRXs406ivoZMSn0p5dbhA=" "integrity": "sha1-8KSTJ+pRXs406ivoZMSn0p5dbhA=",
"dev": true
}, },
"prelude-ls": { "prelude-ls": {
"version": "1.1.2", "version": "1.1.2",
@ -8931,7 +8922,8 @@
"pretty-format": { "pretty-format": {
"version": "3.8.0", "version": "3.8.0",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz",
"integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U=" "integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U=",
"dev": true
}, },
"private": { "private": {
"version": "0.1.7", "version": "0.1.7",
@ -8970,6 +8962,7 @@
"version": "15.5.10", "version": "15.5.10",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz",
"integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=",
"dev": true,
"requires": { "requires": {
"fbjs": "0.8.14", "fbjs": "0.8.14",
"loose-envify": "1.3.1" "loose-envify": "1.3.1"
@ -8979,7 +8972,6 @@
"version": "1.1.5", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz",
"integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=", "integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=",
"dev": true,
"requires": { "requires": {
"forwarded": "0.1.0", "forwarded": "0.1.0",
"ipaddr.js": "1.4.0" "ipaddr.js": "1.4.0"
@ -9041,8 +9033,7 @@
"qs": { "qs": {
"version": "6.4.0", "version": "6.4.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
"dev": true
}, },
"query-string": { "query-string": {
"version": "4.3.4", "version": "4.3.4",
@ -9125,14 +9116,12 @@
"range-parser": { "range-parser": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
"dev": true
}, },
"raw-body": { "raw-body": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz",
"integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y=", "integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y=",
"dev": true,
"requires": { "requires": {
"bytes": "2.4.0", "bytes": "2.4.0",
"iconv-lite": "0.4.15", "iconv-lite": "0.4.15",
@ -9142,8 +9131,7 @@
"iconv-lite": { "iconv-lite": {
"version": "0.4.15", "version": "0.4.15",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
"integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es="
"dev": true
} }
} }
}, },
@ -9151,6 +9139,7 @@
"version": "15.6.1", "version": "15.6.1",
"resolved": "https://registry.npmjs.org/react/-/react-15.6.1.tgz", "resolved": "https://registry.npmjs.org/react/-/react-15.6.1.tgz",
"integrity": "sha1-uqhDTsZ4C96ZfNw4C3nNM7ljk98=", "integrity": "sha1-uqhDTsZ4C96ZfNw4C3nNM7ljk98=",
"dev": true,
"requires": { "requires": {
"create-react-class": "15.6.0", "create-react-class": "15.6.0",
"fbjs": "0.8.14", "fbjs": "0.8.14",
@ -9169,6 +9158,7 @@
"version": "15.6.1", "version": "15.6.1",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.1.tgz", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.1.tgz",
"integrity": "sha1-LLDtQZEDjlPCCes6eaI+Kkz5lHA=", "integrity": "sha1-LLDtQZEDjlPCCes6eaI+Kkz5lHA=",
"dev": true,
"requires": { "requires": {
"fbjs": "0.8.14", "fbjs": "0.8.14",
"loose-envify": "1.3.1", "loose-envify": "1.3.1",
@ -9180,6 +9170,7 @@
"version": "1.6.1", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/react-fontawesome/-/react-fontawesome-1.6.1.tgz", "resolved": "https://registry.npmjs.org/react-fontawesome/-/react-fontawesome-1.6.1.tgz",
"integrity": "sha1-7dzhfn3HMaoJ/UoYZoimF5OhbFw=", "integrity": "sha1-7dzhfn3HMaoJ/UoYZoimF5OhbFw=",
"dev": true,
"requires": { "requires": {
"prop-types": "15.5.10" "prop-types": "15.5.10"
} }
@ -9188,6 +9179,7 @@
"version": "5.1.3", "version": "5.1.3",
"resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.1.3.tgz", "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.1.3.tgz",
"integrity": "sha1-zUBiZZOinuz2hLbTjXEfRMSBiK8=", "integrity": "sha1-zUBiZZOinuz2hLbTjXEfRMSBiK8=",
"dev": true,
"requires": { "requires": {
"deep-equal": "1.0.1", "deep-equal": "1.0.1",
"object-assign": "4.1.1", "object-assign": "4.1.1",
@ -9209,6 +9201,7 @@
"version": "4.1.2", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-4.1.2.tgz", "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.1.2.tgz",
"integrity": "sha512-VyM87OP+GkijVkkOXJw39A9fKtFelLoZYYDxtELhpZefjYatxI2SUxZcImo/9Tv52rR9UnNJBPSBpVRQMdvi8A==", "integrity": "sha512-VyM87OP+GkijVkkOXJw39A9fKtFelLoZYYDxtELhpZefjYatxI2SUxZcImo/9Tv52rR9UnNJBPSBpVRQMdvi8A==",
"dev": true,
"requires": { "requires": {
"history": "4.6.3", "history": "4.6.3",
"hoist-non-react-statics": "1.2.0", "hoist-non-react-statics": "1.2.0",
@ -9222,12 +9215,14 @@
"isarray": { "isarray": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
}, },
"path-to-regexp": { "path-to-regexp": {
"version": "1.7.0", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
"integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
"dev": true,
"requires": { "requires": {
"isarray": "0.0.1" "isarray": "0.0.1"
} }
@ -9238,6 +9233,7 @@
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.1.3.tgz", "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.1.3.tgz",
"integrity": "sha1-USwlq+DewXKDTEAB7FxR4E1BvFw=", "integrity": "sha1-USwlq+DewXKDTEAB7FxR4E1BvFw=",
"dev": true,
"requires": { "requires": {
"exenv": "1.2.2", "exenv": "1.2.2",
"shallowequal": "1.0.2" "shallowequal": "1.0.2"
@ -9643,7 +9639,8 @@
"resolve-pathname": { "resolve-pathname": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.1.0.tgz", "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.1.0.tgz",
"integrity": "sha1-6DWIAbhrg7F1YNTjw4LXrvIQCUQ=" "integrity": "sha1-6DWIAbhrg7F1YNTjw4LXrvIQCUQ=",
"dev": true
}, },
"resolve-url": { "resolve-url": {
"version": "0.2.1", "version": "0.2.1",
@ -10012,7 +10009,6 @@
"version": "0.15.4", "version": "0.15.4",
"resolved": "https://registry.npmjs.org/send/-/send-0.15.4.tgz", "resolved": "https://registry.npmjs.org/send/-/send-0.15.4.tgz",
"integrity": "sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk=", "integrity": "sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk=",
"dev": true,
"requires": { "requires": {
"debug": "2.6.8", "debug": "2.6.8",
"depd": "1.1.1", "depd": "1.1.1",
@ -10032,8 +10028,7 @@
"mime": { "mime": {
"version": "1.3.4", "version": "1.3.4",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
"integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM="
"dev": true
} }
} }
}, },
@ -10056,7 +10051,6 @@
"version": "1.12.4", "version": "1.12.4",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.4.tgz", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.4.tgz",
"integrity": "sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE=", "integrity": "sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE=",
"dev": true,
"requires": { "requires": {
"encodeurl": "1.0.1", "encodeurl": "1.0.1",
"escape-html": "1.0.3", "escape-html": "1.0.3",
@ -10079,13 +10073,13 @@
"setimmediate": { "setimmediate": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true
}, },
"setprototypeof": { "setprototypeof": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
"integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
"dev": true
}, },
"sha.js": { "sha.js": {
"version": "2.4.8", "version": "2.4.8",
@ -10128,7 +10122,8 @@
"shallowequal": { "shallowequal": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.0.2.tgz", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.0.2.tgz",
"integrity": "sha512-zlVXeVUKvo+HEv1e2KQF/csyeMKx2oHvatQ9l6XjCUj3agvC8XGf6R9HvIPDSmp8FNPvx7b5kaEJTRi7CqxtEw==" "integrity": "sha512-zlVXeVUKvo+HEv1e2KQF/csyeMKx2oHvatQ9l6XjCUj3agvC8XGf6R9HvIPDSmp8FNPvx7b5kaEJTRi7CqxtEw==",
"dev": true
}, },
"shebang-command": { "shebang-command": {
"version": "1.2.0", "version": "1.2.0",
@ -10509,13 +10504,13 @@
"standalone-react-addons-pure-render-mixin": { "standalone-react-addons-pure-render-mixin": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/standalone-react-addons-pure-render-mixin/-/standalone-react-addons-pure-render-mixin-0.1.1.tgz", "resolved": "https://registry.npmjs.org/standalone-react-addons-pure-render-mixin/-/standalone-react-addons-pure-render-mixin-0.1.1.tgz",
"integrity": "sha1-PHQJ9MecQN6axyxhbPZ5qZTzdVE=" "integrity": "sha1-PHQJ9MecQN6axyxhbPZ5qZTzdVE=",
"dev": true
}, },
"statuses": { "statuses": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
"integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
"dev": true
}, },
"stdout-stream": { "stdout-stream": {
"version": "1.4.0", "version": "1.4.0",
@ -10935,7 +10930,6 @@
"version": "1.6.15", "version": "1.6.15",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
"integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
"dev": true,
"requires": { "requires": {
"media-typer": "0.3.0", "media-typer": "0.3.0",
"mime-types": "2.1.16" "mime-types": "2.1.16"
@ -10950,7 +10944,8 @@
"ua-parser-js": { "ua-parser-js": {
"version": "0.7.14", "version": "0.7.14",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz",
"integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=" "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=",
"dev": true
}, },
"uglify-js": { "uglify-js": {
"version": "3.0.27", "version": "3.0.27",
@ -11029,8 +11024,7 @@
"unpipe": { "unpipe": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
"dev": true
}, },
"upper-case": { "upper-case": {
"version": "1.1.3", "version": "1.1.3",
@ -11146,8 +11140,7 @@
"utils-merge": { "utils-merge": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
"integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
"dev": true
}, },
"uuid": { "uuid": {
"version": "3.1.0", "version": "3.1.0",
@ -11177,13 +11170,13 @@
"value-equal": { "value-equal": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.2.1.tgz", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.2.1.tgz",
"integrity": "sha1-wiCjBDYfzmmU277ao8fhobiVhx0=" "integrity": "sha1-wiCjBDYfzmmU277ao8fhobiVhx0=",
"dev": true
}, },
"vary": { "vary": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz",
"integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc=", "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc="
"dev": true
}, },
"vendors": { "vendors": {
"version": "1.0.1", "version": "1.0.1",
@ -11229,6 +11222,7 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
"integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
"dev": true,
"requires": { "requires": {
"loose-envify": "1.3.1" "loose-envify": "1.3.1"
} }
@ -11256,7 +11250,8 @@
"webfontloader": { "webfontloader": {
"version": "1.6.28", "version": "1.6.28",
"resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz", "resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz",
"integrity": "sha1-23hhKSU8tujq5UwvsF+HCvZnW64=" "integrity": "sha1-23hhKSU8tujq5UwvsF+HCvZnW64=",
"dev": true
}, },
"webpack": { "webpack": {
"version": "3.4.1", "version": "3.4.1",
@ -11674,7 +11669,8 @@
"whatwg-fetch": { "whatwg-fetch": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz",
"integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=",
"dev": true
}, },
"whet.extend": { "whet.extend": {
"version": "0.9.9", "version": "0.9.9",

View File

@ -1,17 +1,24 @@
{ {
"name": "vizon-countdown-website", "name": "vizon-countdown-website",
"version": "0.1.0", "version": "0.2.0",
"description": "Website for a countdown to the next draw on VIzon", "description": "Website for a countdown to the next draw on VIzon",
"private": true, "private": true,
"main": "src/index.jsx", "main": "./index.js",
"scripts": { "scripts": {
"build": "nwb build-react-app ./src --preact", "build": "nwb build-react-app ./src --preact",
"clean": "nwb clean-app", "clean": "nwb clean-app",
"start": "nwb serve-react-app ./src", "docker-compose": "docker-compose -f docker-compose.local.yml",
"test": "nwb test-react", "docker:down:clean": "npm run -s docker:down -- --rmi all -v",
"docker:down": "npm run -s docker-compose -- down",
"docker:up:daemon": "npm run -s docker:up -- -d",
"docker:up": "npm run -s docker-compose -- up --build",
"docker": "npm run -s docker:up",
"lint": "eslint .",
"prepare": "npm run -s build",
"start": "node .",
"test:coverage": "nwb test-react --coverage", "test:coverage": "nwb test-react --coverage",
"test:watch": "nwb test-react --server", "test:watch": "nwb test-react --server",
"lint": "eslint ." "test": "nwb test-react"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -24,35 +31,43 @@
"draw", "draw",
"countdown" "countdown"
], ],
"bin": "./index.js",
"files": [
"dist",
"index.js",
"README.md"
],
"author": "Carl Kittelberger <icedream@icedream.pw>", "author": "Carl Kittelberger <icedream@icedream.pw>",
"license": "UNLICENSED", "license": "UNLICENSED",
"devDependencies": { "devDependencies": {
"babel-eslint": "^7.2.3", "babel-eslint": "^7.2.3",
"babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.6.0", "babel-preset-env": "^1.6.0",
"eslint": "^4.5.0",
"eslint-config-airbnb": "^15.1.0", "eslint-config-airbnb": "^15.1.0",
"eslint-plugin-babel": "^4.1.2", "eslint-plugin-babel": "^4.1.2",
"eslint-plugin-import": "^2.7.0", "eslint-plugin-import": "^2.7.0",
"eslint-plugin-json": "^1.2.0", "eslint-plugin-json": "^1.2.0",
"eslint-plugin-jsx-a11y": "^5.1.1", "eslint-plugin-jsx-a11y": "^5.1.1",
"eslint-plugin-react": "^7.2.1", "eslint-plugin-react": "^7.2.1",
"eslint": "^4.5.0",
"file-loader": "^0.11.2", "file-loader": "^0.11.2",
"nwb": "^0.18.10",
"nwb-sass": "^0.8.1",
"resolve-url-loader": "^2.1.0"
},
"dependencies": {
"moment-timezone": "^0.5.13", "moment-timezone": "^0.5.13",
"normalize-scss": "^7.0.0", "normalize-scss": "^7.0.0",
"preact": "^8.2.1", "nwb-sass": "^0.8.1",
"nwb": "^0.18.10",
"preact-compat": "^3.17.0", "preact-compat": "^3.17.0",
"preact": "^8.2.1",
"prop-types": "^15.5.10", "prop-types": "^15.5.10",
"react": "^15.6.1",
"react-dom": "^15.6.1", "react-dom": "^15.6.1",
"react-fontawesome": "^1.6.1", "react-fontawesome": "^1.6.1",
"react-helmet": "^5.1.3", "react-helmet": "^5.1.3",
"react-router": "^4.1.2", "react-router": "^4.1.2",
"react": "^15.6.1",
"resolve-url-loader": "^2.1.0",
"webfontloader": "^1.6.28" "webfontloader": "^1.6.28"
},
"dependencies": {
"body-parser": "^1.17.2",
"express": "^4.15.4"
} }
} }