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

View File

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