feat: cleaned old building methods

This commit is contained in:
plup 2019-11-14 17:59:57 +01:00
parent 643420d6ce
commit 983eab6ef3
8 changed files with 495 additions and 422 deletions

4
.gitignore vendored
View File

@ -1,5 +1,5 @@
/node_modules **/node_modules
/src/config.json **/config.json
*.iml *.iml
*.swp *.swp
dist dist

View File

@ -1,86 +0,0 @@
DIST_DIR := www
SCRIPT_SRC := $(wildcard src/scripts/*.js)
SCRIPT_DEST := $(SCRIPT_SRC:src/%=$(DIST_DIR)/%)
default: build
build: $(DIST_DIR)/index.html $(DIST_DIR)/styles/index.css $(SCRIPT_DEST)
watch:
@echo 'watching for change'
@echo 'press Ctrl+C to stop'
@while true; do \
$(MAKE) --silent build; \
sleep 0.5; \
done
# pug
$(DIST_DIR)/index.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
@echo pug: $< ➜ $@
@export ENV="dev"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -O src/config.json || touch $@
# pug (alpha)
$(DIST_DIR)/index.alpha.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
@echo pug: $< ➜ $@
@export ENV="alpha"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -E alpha.html -O src/config.json || touch $@
# pug (paris)
$(DIST_DIR)/index.paris.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
@echo pug: $< ➜ $@
@export ENV="paris"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -E paris.html -O src/config.json || touch $@
# pug (nantes)
$(DIST_DIR)/index.nantes.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
@echo pug: $< ➜ $@
@export ENV="nantes"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -E nantes.html -O src/config.json || touch $@
# sass
$(DIST_DIR)/styles/index.css: src/styles/_index.scss $(wildcard src/*.scss src/*/*.scss src/*/*/*.scss src/*/*/*/*.scss)
@echo sass: $< ➜ $@
@node_modules/.bin/node-sass $< $@ --source-map true --source-map-contents || touch $@
# babel
$(DIST_DIR)/%.js: src/%.js .babelrc
@echo babel: $< ➜ $@
@mkdir -p $(dir $@)
@node_modules/.bin/babel $< --out-file $@ --source-maps || touch $@
buildparis: build
$(MAKE) $(DIST_DIR)/index.paris.html
syncparis: buildparis
rsync -rv --exclude '*.html' www/* test-paris@ssh-test-paris.happy-dev.fr:~/www/
rsync --no-R --no-implied-dirs www/index.paris.html test-paris@ssh-test-paris.happy-dev.fr:~/www/index.html
rsync -v www/.htaccess test-paris@ssh-test-paris.happy-dev.fr:~/www/
buildnantes: build
$(MAKE) $(DIST_DIR)/index.nantes.html
syncnantes: buildnantes
rsync -rv --exclude '*.html' www/* test-nantes@ssh-test-nantes.happy-dev.fr:~/www/
rsync --no-R --no-implied-dirs www/index.nantes.html test-nantes@ssh-test-nantes.happy-dev.fr:~/www/index.html
rsync -v www/.htaccess test-nantes@ssh-test-nantes.happy-dev.fr:~/www/
buildalpha: build
$(MAKE) $(DIST_DIR)/index.alpha.html
syncalpha: buildalpha
rsync -rv --exclude '*.html' www/* alpha@ssh-alpha.happy-dev.fr:~/www/
rsync --no-R --no-implied-dirs www/index.alpha.html alpha@ssh-alpha.happy-dev.fr:~/www/index.html
rsync -v www/.htaccess alpha@ssh-alpha.happy-dev.fr:~/www/
sync: syncnantes syncparis
syncprod: syncalpha
.PHONY: default build watch sync syncprod

View File

@ -1,10 +0,0 @@
FROM happydev1/sib:3.6
RUN pip install --user -U sib-manager
RUN sudo chown -R sib /opt
WORKDIR /opt
RUN cd /opt/ && sib startproject sib_server
ADD packages.yml /opt/sib_server/packages.yml
RUN cd /opt/sib_server && sib install sib_server
EXPOSE 8000
CMD cd /opt/sib_server && python manage.py runserver 0.0.0.0:8000

View File

@ -1,18 +0,0 @@
ldppackages:
djangoldp_project: djangoldp_project
djangoldp_uploader: djangoldp_uploader
djangoldp_circle: djangoldp_circle
djangoldp_notification: djangoldp_notification
djangoldp_account: djangoldp_account
djangoldp_skill: djangoldp_skill
djangoldp_joboffer: djangoldp_joboffer
djangoldp_conversation: djangoldp_conversation
djangoldp_profile: djangoldp_profile
djangoldp_invoice: djangoldp_invoice
oidc_provider: 'git+https://github.com/jblemee/django-oidc-provider.git@develop'
server:
site_url: 'http://localhost:8000'
admin_email: admin@example.org
admin_name: admin
admin_pass: admin

View File

@ -1,299 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HD App</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="icon" type="image/png" href="/images/favicon.png">
<script type="module" src="https://unpkg.com/@startinblox/oidc@0.6.0"></script>
<script src="/scripts/index.js"></script>
<link rel="stylesheet" href="/styles/index.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700&amp;amp;subset=latin-ext">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i">
<script type="module" src="https://unpkg.com/@startinblox/core@0.7"></script>
<script type="module" src="https://unpkg.com/@startinblox/router@0.7.2"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-chat@0.1.7"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-notifications@0.1.12"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-conversation@0.2.1"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-directory@0.1.16"></script>
</head>
<body>
<header id="header" role="banner">
<div id="logo">
<sib-link next="members"><img src="/images/logo.png" width="111" height="32"></sib-link>
</div>
<sib-notifications id-suffix="inbox" bind-user></sib-notifications>
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<details id="user-controls">
<summary tabindex="0" role="button">
<sib-display id="user-controls__profile" data-fields="first_name, account.picture" widget-account.picture="hd-user-avatar" bind-user></sib-display>
</summary>
</details>
<button role="log in" onclick="document.querySelector('sib-auth').login();">Login</button>
<sib-auth>
<sib-auth-provider class="sib-auth-provider" data-authority="https://api.test-nantes.happy-dev.fr/openid/" data-client_id="621272" data-id="paris" data-response_type="id_token token" data-scope="openid profile email" data-automaticSilentRenew="true" data-loadUserInfo="true"></sib-auth-provider>
</sib-auth>
</header>
<main>
<nav id="main__menu">
<sib-router id="navbar-router" default-route="members">
<sib-route class="menu" name="members">
<div class="menu-label">Members</div>
<div class="menu-icon icon-people"></div>
</sib-route>
<div class="divider"></div>
<sib-route class="menu" name="job-offers" rdf-type="hd:joboffer">
<div class="menu-label">Job offers</div>
<div class="menu-icon icon-briefcase"></div>
</sib-route>
<sib-route hidden name="job-offer-create"></sib-route>
<div class="divider"></div>
<div class="menu-wrapper">
<div class="menu">
<div class="menu-chevron">
<div class="menu-icon icon-arrow-up"></div>
</div>
<div class="menu-label">Projects</div>
<div class="menu-icon icon-folder-alt"></div>
</div>
<sib-route hidden name="project" id-prefix="https://api.test-nantes.happy-dev.fr/projects/" rdf-type="hd:project" use-id=""></sib-route>
<div class="sub-menu">
<sib-display data-src="https://api.test-nantes.happy-dev.fr/projects/" data-fields="project" set-project="customer.name, dash, name" value-dash=" - " next="project"></sib-display>
</div>
</div>
<div class="divider"></div>
<div class="menu-wrapper">
<div class="menu">
<div class="menu-chevron">
<div class="menu-icon icon-arrow-up"></div>
</div>
<div class="menu-label">Chat</div>
<div class="menu-icon icon-envelope-letter"></div>
</div>
<sib-route hidden name="member-chat" id-prefix="https://api.test-nantes.happy-dev.fr/members/" rdf-type="foaf:user" use-id=""></sib-route>
<div class="sub-menu">
<sib-display data-src="https://api.test-nantes.happy-dev.fr/members/" data-fields="user.username" widget-user.username="sib-display-div" next="member-chat"></sib-display>
</div>
</div>
<div class="divider"></div>
</sib-router>
</nav>
<div id="viewport">
<div class="no-sidebar" id="members" hidden>
<sib-directory data-src="https://api.test-nantes.happy-dev.fr/members/" range-groups="https://api.test-nantes.happy-dev.fr/groups/" range-skills="https://api.test-nantes.happy-dev.fr/skills/"></sib-directory>
</div>
<div class="no-sidebar" id="job-offers" hidden>
<div class="job-offers__main">
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<sib-widget name="groups-name">
<template>${value.name}</template>
</sib-widget>
<sib-widget name="skills-name">
<template>
<li class="skill">${value.name}</li>
</template>
</sib-widget>
<sib-widget name="joboffers-filter">
<template>
<select>
<option name="Offers" disabled>Offers</option>
<option selected name="Current offers">Current offers</option>
<option name="Expired offers">Expired offers</option>
<option name="All offers">All offers</option>
<option name="My offers">Only my offers</option>
</select>
</template>
</sib-widget>
<sib-widget name="hd-contact-author">
<template>
<sib-link next="member-chat" data-src="${value.profile['@id']}">Send a message</sib-link>
</template>
</sib-widget>
<div class="job-offers__content">
<h1>New offers<span>Here you can find and post offers</span></h1>
<sib-display id="offers-list" data-src="https://api.test-nantes.happy-dev.fr/job-offers/" data-fields="user-thumb, creationDate, title, description, skills, author" set-user-thumb="author.account.picture, author.first_name, author.groups" widget-author.account.picture="hd-user-avatar" widget-author.groups="groups-name" multiple-author.groups widget-skills="skills-name" multiple-skills widget-author="hd-contact-author" search-range-skills="https://api.test-nantes.happy-dev.fr/skills/" search-fields="content, open, skills" set-content="title, description" search-label-content="Search by keyword" search-label-skills="Search by skills" search-widget-content="sib-form-placeholder-text" search-widget-skills="sib-form-placeholder-dropdown" search-widget-open="joboffers-filter"></sib-display>
</div>
<div class="job-offers__newoffer">
<template id="groups-list-template">
<p>${value}</p>
</template>
<sib-link class="plus-button" next="job-offer-create">
<div class="icon-plus"></div>
<div>Post a new offer</div>
</sib-link>
</div>
</div>
</div>
<div class="no-sidebar" id="job-offer-create" hidden>
<sib-link class="backlink" next="job-offers">Back</sib-link>
<div class="content-box with-form">
<h1>Post a new job offer</h1>
<p class="center">This form allows you to share an offer to all members of the network.</p>
<sib-widget name="title-text">
<template>
<p>Be clear and specific with the name of your offer. You can indicate which skill is important, the start date or the name of the client. Ex: "Looking for a plumber for planet Mars ASAP".</p>
</template>
</sib-widget>
<sib-widget name="description-text">
<template>
<p>Be specific and exhaustive to avoid answering too many questions later. Indicate what is the best way to fill the offer, the prerequisites...'</p>
</template>
</sib-widget>
<sib-form class="block" data-src="https://api.test-nantes.happy-dev.fr/job-offers/" range-skills="https://api.test-nantes.happy-dev.fr/skills/" data-fields="title, title-text, description, description-text, skills" label-title="Title*" widget-title-text="title-text" label-description="Description*" widget-description-text="description-text" label-skills="The required skills for this mission:*" multiple-skills="sib-multiple-select" widget-skills="sib-form-auto-completion" next="job-offers"></sib-form>
</div>
</div>
<div class="with-sidebar" id="project" hidden>
<div class="views-container">
<div id="project-chat">
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
<div id="project-profile">
<div class="content-box full-width">
<sib-widget name="template-business-provider">
<template>
<ul>
<li><span>Happy Dev Paris:</span> 5%</li>
<li><span>Business provider:</span> ${value.name}, ${value.fee ? value.fee:0}%</li>
</ul>
</template>
</sib-widget>
<sib-widget name="customer-template">
<template>
<div id="clientBox">
<div>
<h5>Client:</h5>
<ul>
<li><span>Business name:</span>${value.name}</li>
<li><span>Company register:</span>${value.companyRegister}</li>
<li><span>Address:</span><br>
<p>${value.address}</p>
</li>
</ul>
</div>
<div>
<h5>Contact:</h5>
<ul>
<li class="mdi-account-outline"><span>${value.firstName} ${value.lastName}</span>, ${value.role}</li>
<li class="mdi-email-outline"><a href="mailto:${value.email}">${value.email}</a></li>
<li class="mdi-cellphone-iphone">${value.phone}</li>
</ul>
</div>
</div>
</template>
</sib-widget>
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<sib-widget name="team-template">
<template>
<sib-display data-src="${value.user['@id']}" data-fields="account.picture" widget-account.picture="hd-user-avatar"></sib-display>
<div name="user.thumb"><span>${value.user.name}</span>
<sib-display data-src="${value.user.groups['@id']}" data-fields="name" multiple-name></sib-display>
</div><span>${value.name}</span>
</template>
</sib-widget>
<sib-display data-fields="block-title, infos, block-lead, block-fee, block-customer, block-team" set-block-title="const-title1, number, customer.name, const-title2, name, entitled, creationDate" value-const-title1="N°" value-const-title2="-" value-entitled="Creation date:" set-infos="block-description, block-logo" set-block-description="label-description, description" set-block-logo="customer.logo" value-label-description="DESCRIPTION:" widget-customer.logo="sib-display-img" set-block-fee="label-fee, businessProvider" value-label-fee="FEE:" widget-businessProvider="template-business-provider" set-block-customer="label-customer, customer" value-label-customer="CUSTOMER INFORMATIONS:" widget-customer="customer-template" set-block-team="label-team, members" value-label-team="TEAM:" widget-members="team-template" multiple-members="" bind-resources></sib-display>
</div>
</div>
<div id="project-edit">
<div class="content-box with-form full-width">
<h1>Edit your project</h1>
<p>Here you can edit your projet's details</p>
<sib-widget name="hd-template-project-title">
<template><span>${label}</span></template>
</sib-widget>
<sib-widget name="template-members">
<template>
<sib-form class="team is-horizontal" naked data-src="${id}" data-fields="user.name, name" range-user.name="https://api.test-nantes.happy-dev.fr/users/" class-name="field" class-user.name="field" label-name="Role" label-user.name="Member(s)"></sib-form>
</template>
</sib-widget>
<sib-form class="block" data-fields="block-project__info, block-project__fee, block-project__customer, block-project__team" set-block-project__info="customer.name, name, customer.logo, description" label-customer.name="Customer's name" label-name="Project's name" label-customer.logo="Customer's logo" label-description="Project description" set-block-project__fee="fieldset-fee, businessProvider, businessProvider.fee" range-businessProvider="https://api.test-nantes.happy-dev.fr/businessproviders/" label-businessProvider="Business provider" label-businessProvider.fee="Amount of the contribution (%)" widget-fieldset-fee="hd-template-project-title" widget-businessProvider.fee="sib-form-number" label-fieldset-fee="Fee" set-block-project__customer="fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone" label-customer.companyRegister="Company registration number" label-customer.address="Address" label-customer.firstName="Name of the contact at the customer's premises" label-customer.lastName="Firstname of the contact at the customer's premises" label-customer.role="Role within the company" label-customer.email="Email" label-customer.phone="Phone" widget-fieldset-customer="hd-template-project-title" label-fieldset-customer="Customer information" set-block-project__team="fieldset-team, members" label-fieldset-team="The team" widget-fieldset-team="hd-template-project-title" widget-members="template-members" multiple-members bind-resources></sib-form>
</div>
</div>
<div id="project-create">
<div class="content-box with-form full-width">
<h1>New project</h1>
<p>Here you can create your project, add members and assign them a job.</p>
<sib-form class="block" data-src="https://api.test-nantes.happy-dev.fr/projects/" range-members="https://api.test-nantes.happy-dev.fr/members/" range-team="https://api.test-nantes.happy-dev.fr/users/" data-fields="block-project__info, block-project__fee, block-project__customer" set-block-project__info="customer.name, name, customer.logo, description" label-customer.name="Customer's name" label-name="Project's name" label-customer.logo="Customer's logo" label-description="Project description" set-block-project__fee="fieldset-fee, businessProvider, businessProviderFee" widget-fieldset-fee="hd-template-project-title" label-businessProvider="Business provider" label-businessProviderFee="Amount of the contribution" set-block-project__customer="fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone" widget-fieldset-customer="hd-template-project-title" label-customer.companyRegister="Company register" label-customer.address="Address" label-customer.firstName="Name of the contact at the customer's premises" label-customer.lastName="Firstname of the contact at the customer's premises" label-customer.role="Role within the company" label-customer.email="Email" label-customer.phone="Phone"></sib-form>
</div>
</div>
</div>
<nav class="jsRightMenu" role="navigation">
<sib-router default-route="project-chat">
<ul>
<li class="jsOffsiteToggle"><a>Fold menu</a></li>
<sib-route name="project-chat" use-id>
<li> <a>Chat</a></li>
</sib-route>
<sib-route name="project-profile" use-id>
<li> <a>Information</a></li>
</sib-route>
<sib-route name="project-edit" use-id></sib-route>
<sib-route name="project-create" use-id></sib-route>
</ul>
</sib-router>
</nav>
</div>
<div class="with-sidebar" id="circle" hidden>
<div class="views-container">
<div id="circle-chat">
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
<div id="circle-profile">
<div class="content-box full-width">
<h2>Channel's name:</h2>
<sib-display data-fields="name" bind-resources></sib-display>
<h2>Description:</h2>
<sib-display data-fields="description" bind-resources></sib-display>
<h2>In group:</h2>
<sib-display class="block-group" id-suffix="team" data-fields="teammate-img, teammate-name, teammate-pseudonym, teammate-profile, teammate-contact" set-teammate-img="account.picture" set-teammate-pseudonym="before-pseudo, username" set-teammate-name="name" template-teammate-contact="chat-link" value-before-pseudo="@" value-teammate-contact="Send a message" value-teammate-profile="View profile" widget-account.picture="sib-display-img" next="member" bind-resources></sib-display>
</div>
</div>
<div id="circle-edit">
<div class="content-box with-form full-width" id="circle-edit">
<h1>Edit group</h1>
<sib-form class="block" range-owner="https://api.test-nantes.happy-dev.fr/members/" data-fields="name, description, owner, team, jabberID, jabberRoom" range-team="https://api.test-nantes.happy-dev.fr/members/" widget-team="sib-form-multiple-dropdown" bind-resources></sib-form>
</div>
</div>
<div id="circle-create">
<div class="content-box with-form full-width">
<h1>New group</h1>
<p>Here you can create a new group according to your interests, what you want to share, etc.</p>
<sib-form data-src="https://api.test-nantes.happy-dev.fr/circles/" range-owner="https://api.test-nantes.happy-dev.fr/users/" range-team="https://api.test-nantes.happy-dev.fr/members/" data-fields="name, description, description-text, owner, owner-text, team, team-text, jabberRoom, foaf:jabberID" label-name="Channel's name" label-description="Description" label-owner="Owner of this channel" label-foaf:jabberID="Chatroom id" label-team="Member(s) of this channel" value-description-text="You can write a short description like &quot;Here, we are like Pinky and the Brain, we talk about strategy to conquer the world&quot;." value-owner-text="The one who will admin this channel" value-team-text="Add any members as you want." widget-description="sib-form-textarea" widget-jabberRoom="sib-form-checkbox" widget-team="sib-form-multiple-dropdown"></sib-form>
</div>
</div>
</div>
<nav class="jsRightMenu" role="navigation">
<sib-router default-route="circle-chat">
<ul>
<li class="jsOffsiteToggle"><a>Fold menu</a></li>
<sib-route name="circle-chat">
<li><a>Chat</a></li>
</sib-route>
<sib-route name="circle-profile">
<li><a>Information</a></li>
</sib-route>
<sib-route name="circle-edit"></sib-route>
<sib-route name="circle-create"></sib-route>
</ul>
</sib-router>
</nav>
</div>
<div class="with-sidebar" id="member-chat" hidden>
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
</div>
</main>
</body>
</html>

View File

@ -1 +0,0 @@
node_modules/normalize.css/normalize.css

489
package-lock.json generated
View File

@ -229,11 +229,40 @@
"@types/babel-types": "*" "@types/babel-types": "*"
} }
}, },
"@zeit/schemas": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.6.0.tgz",
"integrity": "sha512-uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg=="
},
"abbrev": { "abbrev": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
}, },
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
"integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
"requires": {
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
},
"dependencies": {
"mime-db": {
"version": "1.42.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz",
"integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ=="
},
"mime-types": {
"version": "2.1.25",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz",
"integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==",
"requires": {
"mime-db": "1.42.0"
}
}
}
},
"acorn": { "acorn": {
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
@ -290,6 +319,43 @@
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
}, },
"ansi-align": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
"integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
"requires": {
"string-width": "^2.0.0"
},
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
},
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
}
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"requires": {
"ansi-regex": "^3.0.0"
}
}
}
},
"ansi-regex": { "ansi-regex": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
@ -329,6 +395,11 @@
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
}, },
"arch": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz",
"integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg=="
},
"are-we-there-yet": { "are-we-there-yet": {
"version": "1.1.5", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
@ -338,6 +409,11 @@
"readable-stream": "^2.0.6" "readable-stream": "^2.0.6"
} }
}, },
"arg": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/arg/-/arg-2.0.0.tgz",
"integrity": "sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w=="
},
"arr-diff": { "arr-diff": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@ -526,6 +602,54 @@
"inherits": "~2.0.0" "inherits": "~2.0.0"
} }
}, },
"boxen": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
"integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
"requires": {
"ansi-align": "^2.0.0",
"camelcase": "^4.0.0",
"chalk": "^2.0.1",
"cli-boxes": "^1.0.0",
"string-width": "^2.0.0",
"term-size": "^1.2.0",
"widest-line": "^2.0.0"
},
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
"camelcase": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
},
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
}
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"requires": {
"ansi-regex": "^3.0.0"
}
}
}
},
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@ -562,6 +686,11 @@
} }
} }
}, },
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
"cache-base": { "cache-base": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
@ -680,6 +809,46 @@
} }
} }
}, },
"cli-boxes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
"integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM="
},
"clipboardy": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz",
"integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==",
"requires": {
"arch": "^2.1.0",
"execa": "^0.8.0"
},
"dependencies": {
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"requires": {
"lru-cache": "^4.0.1",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
},
"execa": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz",
"integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=",
"requires": {
"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"
}
}
}
},
"cliui": { "cliui": {
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
@ -735,6 +904,35 @@
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
}, },
"compressible": {
"version": "2.0.17",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
"integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
"requires": {
"mime-db": ">= 1.40.0 < 2"
},
"dependencies": {
"mime-db": {
"version": "1.42.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz",
"integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ=="
}
}
},
"compression": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
"integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
"requires": {
"accepts": "~1.3.5",
"bytes": "3.0.0",
"compressible": "~2.0.14",
"debug": "2.6.9",
"on-headers": "~1.0.1",
"safe-buffer": "5.1.2",
"vary": "~1.1.2"
}
},
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@ -756,6 +954,11 @@
"babylon": "^6.18.0" "babylon": "^6.18.0"
} }
}, },
"content-disposition": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
},
"convert-source-map": { "convert-source-map": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
@ -822,6 +1025,11 @@
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
}, },
"deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
},
"define-properties": { "define-properties": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@ -936,6 +1144,32 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
}, },
"execa": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
"requires": {
"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"
},
"dependencies": {
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"requires": {
"lru-cache": "^4.0.1",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
}
}
},
"expand-brackets": { "expand-brackets": {
"version": "2.1.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@ -1066,6 +1300,21 @@
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
}, },
"fast-url-parser": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz",
"integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=",
"requires": {
"punycode": "^1.3.2"
},
"dependencies": {
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
}
}
},
"fill-range": { "fill-range": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@ -1186,7 +1435,8 @@
}, },
"code-point-at": { "code-point-at": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true "bundled": true,
"optional": true
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
@ -1194,7 +1444,8 @@
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true "bundled": true,
"optional": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
@ -1297,7 +1548,8 @@
}, },
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
"bundled": true "bundled": true,
"optional": true
}, },
"ini": { "ini": {
"version": "1.3.5", "version": "1.3.5",
@ -1307,6 +1559,7 @@
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"optional": true,
"requires": { "requires": {
"number-is-nan": "^1.0.0" "number-is-nan": "^1.0.0"
} }
@ -1418,7 +1671,8 @@
}, },
"number-is-nan": { "number-is-nan": {
"version": "1.0.1", "version": "1.0.1",
"bundled": true "bundled": true,
"optional": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
@ -1533,6 +1787,7 @@
"string-width": { "string-width": {
"version": "1.0.2", "version": "1.0.2",
"bundled": true, "bundled": true,
"optional": true,
"requires": { "requires": {
"code-point-at": "^1.0.0", "code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0", "is-fullwidth-code-point": "^1.0.0",
@ -1645,6 +1900,11 @@
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
"integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4="
}, },
"get-stream": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
},
"get-value": { "get-value": {
"version": "2.0.6", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
@ -1833,6 +2093,11 @@
"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="
}, },
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
},
"invert-kv": { "invert-kv": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
@ -2010,6 +2275,11 @@
"has": "^1.0.1" "has": "^1.0.1"
} }
}, },
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
},
"is-symbol": { "is-symbol": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
@ -2361,6 +2631,11 @@
"to-regex": "^3.0.1" "to-regex": "^3.0.1"
} }
}, },
"negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
"nice-try": { "nice-try": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
@ -2568,6 +2843,14 @@
} }
} }
}, },
"npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"requires": {
"path-key": "^2.0.0"
}
},
"npmlog": { "npmlog": {
"version": "4.1.2", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
@ -2648,6 +2931,11 @@
"isobject": "^3.0.1" "isobject": "^3.0.1"
} }
}, },
"on-headers": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
"integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
},
"once": { "once": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@ -2683,6 +2971,11 @@
"os-tmpdir": "^1.0.0" "os-tmpdir": "^1.0.0"
} }
}, },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
},
"parse-json": { "parse-json": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@ -2715,6 +3008,11 @@
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
}, },
"path-is-inside": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
},
"path-key": { "path-key": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@ -2725,6 +3023,11 @@
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
}, },
"path-to-regexp": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
"integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ=="
},
"path-type": { "path-type": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
@ -2988,6 +3291,29 @@
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
}, },
"range-parser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
},
"rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
},
"dependencies": {
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}
}
},
"read-pkg": { "read-pkg": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
@ -3055,6 +3381,23 @@
"safe-regex": "^1.1.0" "safe-regex": "^1.1.0"
} }
}, },
"registry-auth-token": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
"integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
"requires": {
"rc": "^1.1.6",
"safe-buffer": "^5.0.1"
}
},
"registry-url": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
"integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
"requires": {
"rc": "^1.0.1"
}
},
"remove-trailing-separator": { "remove-trailing-separator": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
@ -3203,6 +3546,75 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz",
"integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw=="
}, },
"serve": {
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/serve/-/serve-11.2.0.tgz",
"integrity": "sha512-THZcLzDGk3vJqjhAbLkLag43tiE3V0B7wVe98Xtl+1KyAsr+4iShg+9hke4pLZmrCJu0pUg0TrbhJmdqn/MKoA==",
"requires": {
"@zeit/schemas": "2.6.0",
"ajv": "6.5.3",
"arg": "2.0.0",
"boxen": "1.3.0",
"chalk": "2.4.1",
"clipboardy": "1.2.3",
"compression": "1.7.3",
"serve-handler": "6.1.2",
"update-check": "1.5.2"
},
"dependencies": {
"ajv": {
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz",
"integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==",
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
}
}
},
"serve-handler": {
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.2.tgz",
"integrity": "sha512-RFh49wX7zJmmOVDcIjiDSJnMH+ItQEvyuYLYuDBVoA/xmQSCuj+uRmk1cmBB5QQlI3qOiWKp6p4DUGY+Z5AB2A==",
"requires": {
"bytes": "3.0.0",
"content-disposition": "0.5.2",
"fast-url-parser": "1.1.3",
"mime-types": "2.1.18",
"minimatch": "3.0.4",
"path-is-inside": "1.0.2",
"path-to-regexp": "2.2.1",
"range-parser": "1.2.0"
},
"dependencies": {
"mime-db": {
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
"integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
},
"mime-types": {
"version": "2.1.18",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"requires": {
"mime-db": "~1.33.0"
}
}
}
},
"set-blocking": { "set-blocking": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@ -3517,6 +3929,11 @@
"is-utf8": "^0.2.0" "is-utf8": "^0.2.0"
} }
}, },
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
},
"strip-indent": { "strip-indent": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
@ -3525,6 +3942,11 @@
"get-stdin": "^4.0.1" "get-stdin": "^4.0.1"
} }
}, },
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
},
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@ -3543,6 +3965,14 @@
"inherits": "2" "inherits": "2"
} }
}, },
"term-size": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
"integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
"requires": {
"execa": "^0.7.0"
}
},
"to-fast-properties": { "to-fast-properties": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@ -3692,6 +4122,15 @@
"integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
"optional": true "optional": true
}, },
"update-check": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.2.tgz",
"integrity": "sha512-1TrmYLuLj/5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs/zJMo6TwwlhYKkSeEwzleeiSBV5/3c9ufAQWDaQ==",
"requires": {
"registry-auth-token": "3.3.2",
"registry-url": "3.1.0"
}
},
"uri-js": { "uri-js": {
"version": "4.2.2", "version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@ -3729,6 +4168,11 @@
"spdx-expression-parse": "^3.0.0" "spdx-expression-parse": "^3.0.0"
} }
}, },
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
"verror": { "verror": {
"version": "1.10.0", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
@ -3765,6 +4209,43 @@
"string-width": "^1.0.2 || 2" "string-width": "^1.0.2 || 2"
} }
}, },
"widest-line": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz",
"integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==",
"requires": {
"string-width": "^2.1.1"
},
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
},
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
}
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"requires": {
"ansi-regex": "^3.0.0"
}
}
}
},
"window-size": { "window-size": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",

View File

@ -6,7 +6,12 @@
"build": "run-p build:*", "build": "run-p build:*",
"build:css": "node-sass ./src/styles/_index.scss dist/styles.css", "build:css": "node-sass ./src/styles/_index.scss dist/styles.css",
"build:js": "babel 'src/scripts/*.js' -o dist/app.js", "build:js": "babel 'src/scripts/*.js' -o dist/app.js",
"build:html": "pug src/index.pug -o dist/ --obj config.json" "build:html": "pug src/index.pug -o dist/ --obj config.json",
"serve": "serve -l 3000 dist/",
"watch": "run-p watch:* serve",
"watch:css": "node-sass --watch ./src/styles/_index.scss dist/styles.cs",
"watch:js": "babel --watch 'src/scripts/*.js' -o dist/app.js",
"watch:pug": "pug --watch src/index.pug -o dist/ --obj config.json"
}, },
"dependencies": { "dependencies": {
"@babel/cli": "^7.7.0", "@babel/cli": "^7.7.0",
@ -16,6 +21,7 @@
"normalize.css": "^8.0.1", "normalize.css": "^8.0.1",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"pug": "^2.0.4", "pug": "^2.0.4",
"pug-cli": "^1.0.0-alpha6" "pug-cli": "^1.0.0-alpha6",
"serve": "^11.2.0"
} }
} }