diff --git a/.nodemonignore b/.nodemonignore
deleted file mode 100644
index 6edb2b5..0000000
--- a/.nodemonignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/client/*
-.DS_Store
-/.git/*
-*.rdb
diff --git a/client/css/bigcards.css b/client/css/bigcards.css
index 2cbab07..3e9be9f 100644
--- a/client/css/bigcards.css
+++ b/client/css/bigcards.css
@@ -1,8 +1,6 @@
.card {
width: 230px;
height: 152px;
- xpadding: 5px; float: left;
- xmargin: 0 10px 10px 0;
font-size: .9em;
@@ -32,7 +30,6 @@
.card-image {
position: absolute;
- xtop: -10;
left: -3px;
width: 100%;
height: 100%;
diff --git a/client/css/style.css b/client/css/style.css
index 886d900..3ce010e 100644
--- a/client/css/style.css
+++ b/client/css/style.css
@@ -1,135 +1,108 @@
-@font-face {
- font-family: 'geomanistregular';
- src: url('/fonts/geomanist/geomanist-book-webfont.woff2') format('woff2'),
- url('/fonts/geomanist/geomanist-book-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
-}
-
-@font-face {
- font-family: 'geomanistitalic';
- src: url('/fonts/geomanist/geomanist-book-italic-webfont.woff2') format('woff2'),
- url('/fonts/geomanist/geomanist-book-italic-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
-}
-/*
-@font-face {
- font-family: 'ubuntubold';
- src: url('/fonts/ubuntu/ubuntu-b-webfont.woff2') format('woff2'),
- url('/fonts/ubuntu/ubuntu-b-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
+:root {
+ --primary-color: #59ffac;
+ --secondary-color: #d8604c;
+ --background-color: #fff;
+ --board-background-color: #eee8;
+ --text-color: #1c2020;
}
@font-face {
- font-family: 'ubuntubold_italic';
- src: url('/fonts/ubuntu/ubuntu-bi-webfont.woff2') format('woff2'),
- url('/fonts/ubuntu/ubuntu-bi-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
+ font-family: "geomanistregular";
+ src: url("/fonts/geomanist/geomanist-book-webfont.woff2") format("woff2"),
+ url("/fonts/geomanist/geomanist-book-webfont.woff") format("woff");
+ font-weight: normal;
+ font-style: normal;
}
@font-face {
- font-family: 'ubuntu_condensedregular';
- src: url('/fonts/ubuntu/ubuntu-c-webfont.woff2') format('woff2'),
- url('/fonts/ubuntu/ubuntu-c-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
-
-} */
-
-@font-face {
- font-family: 'ubuntulight';
- src: url('/fonts/ubuntu/ubuntu-l-webfont.woff2') format('woff2'),
- url('/fonts/ubuntu/ubuntu-l-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
+ font-family: "geomanistitalic";
+ src: url("/fonts/geomanist/geomanist-book-italic-webfont.woff2") format("woff2"),
+ url("/fonts/geomanist/geomanist-book-italic-webfont.woff") format("woff");
+ font-weight: normal;
+ font-style: normal;
}
@font-face {
- font-family: 'ubuntulight_italic';
- src: url('/fonts/ubuntu/ubuntu-li-webfont.woff2') format('woff2'),
- url('/fonts/ubuntu/ubuntu-li-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
-
+ font-family: "ubuntulight";
+ src: url("/fonts/ubuntu/ubuntu-l-webfont.woff2") format("woff2"),
+ url("/fonts/ubuntu/ubuntu-l-webfont.woff") format("woff");
+ font-weight: normal;
+ font-style: normal;
}
@font-face {
- font-family: 'ubuntumedium';
- src: url('/fonts/ubuntu/ubuntu-m-webfont.woff2') format('woff2'),
- url('/fonts/ubuntu/ubuntu-m-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
-}
-/*
-@font-face {
- font-family: 'ubuntumedium_italic';
- src: url('/fonts/ubuntu/ubuntu-mi-webfont.woff2') format('woff2'),
- url('/fonts/ubuntu/ubuntu-mi-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
+ font-family: "ubuntulight_italic";
+ src: url("/fonts/ubuntu/ubuntu-li-webfont.woff2") format("woff2"),
+ url("/fonts/ubuntu/ubuntu-li-webfont.woff") format("woff");
+ font-weight: normal;
+ font-style: normal;
}
@font-face {
- font-family: 'ubunturegular';
- src: url('/fonts/ubuntu/ubuntu-r-webfont.woff2') format('woff2'),
- url('/fonts/ubuntu/ubuntu-r-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
+ font-family: "ubuntumedium";
+ src: url("/fonts/ubuntu/ubuntu-m-webfont.woff2") format("woff2"),
+ url("/fonts/ubuntu/ubuntu-m-webfont.woff") format("woff");
+ font-weight: normal;
+ font-style: normal;
}
-/*
-@font-face {
- font-family: 'ubuntuitalic';
- src: url('/fonts/ubuntu/ubuntu-ri-webfont.woff2') format('woff2'),
- url('/fonts/ubuntu/ubuntu-ri-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
-} */
body {
- font-family: 'ubuntulight', Verdana, Geneva, Tahoma, sans-serif;
- font-size: 16px;
- color: #333;
- padding: 0;
- margin: 0;
- user-select: none;
- -o-user-select: none;
- -moz-user-select: none;
- -khtml-user-select: none;
- -webkit-user-select: none;
+ font-family: "ubuntulight", Verdana, Geneva, Tahoma, sans-serif;
+ font-size: 16px;
+ color: var(--text-color);
+ padding: 0;
+ margin: 0;
+ user-select: none;
+ -o-user-select: none;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: none;
+ background: url("/images/backgrounds/kiwi.jpg") no-repeat scroll center center / cover;
+ min-height: 100vh;
}
-a, a:visited {
- color:#64d29b;
- text-decoration: none;
+a,
+a:visited {
+ color: var(--primary-color);
+ text-decoration: none;
}
-a:hover, a:focus, a:active {
- color:#64d29b;
- text-decoration: underline;
+a:hover,
+a:focus,
+a:active {
+ color: var(--secondary-color);
+ text-decoration: underline;
}
#header-bar {
- margin-bottom:1em
+ background: linear-gradient(
+ 180deg,
+ rgb(255, 255, 255) 0%,
+ rgba(255, 255, 255, 0.7553221117548582) 45%,
+ rgb(255, 255, 255, 0) 100%
+ );
+ height: 100px;
+ display: block;
+ width: 100%;
+ position: absolute;
+ z-index: 0;
}
+
#colibris-menu,
#archipel {
- background: #5a696b;
- height:22px;
+ background: #5a696b;
+ height: 22px;
}
#archipel .archipel__islands a::before {
- font-weight: 400;
- font-family: sans-serif;
- content: '';
- display: inline-block;
- margin-right: 0;
+ font-weight: 400;
+ font-family: sans-serif;
+ content: "";
+ display: inline-block;
+ margin-right: 0;
}
#archipel .archipel__islands a:hover,
#archipel .archipel__islands a:focus,
-#archipel .archipel__islands a:active
-{
- color:#64d29b;
+#archipel .archipel__islands a:active {
+ color: var(--primary-color);
}
.social-links a::before {
width: 16px;
@@ -138,1036 +111,740 @@ a:hover, a:focus, a:active {
}
.main-header {
- display: flex;
- align-content: space-around;
- justify-content: space-between;
- align-items: center;
+ display: flex;
+ align-content: space-around;
+ justify-content: space-between;
+ align-items: center;
+ z-index: 1;
+ position: relative;
}
.title {
- display: flex;
- align-content: space-around;
- align-items: center;
+ display: flex;
+ align-content: space-around;
+ align-items: center;
}
.logo {
- width: 120px;
+ width: 120px;
}
.base-line {
- font-family: 'geomanistitalic', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- color:#5b6a6c;
- font-size: 16px;
- margin-left:1em;
+ font-family: "geomanistitalic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ color: var(--text-color);
+ font-size: 16px;
+ margin-left: 1em;
}
.container {
- max-width:1140px;
- margin: 0 auto;
+ max-width: 1140px;
+ margin: 0 auto;
}
.container-fluid {
- margin: 1em;
+ margin: 1em;
}
.board-container {
- margin: 1em auto;
- width:100%;
+ margin: 1em auto;
+ width: 100%;
}
-.actions {
- float:right;
-}
.actions a {
- font-weight: bold;
- text-transform: uppercase;
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- margin-left:1em;
- transition: color ease-out .2s;
+ font-weight: bold;
+ text-transform: uppercase;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ margin-left: 1em;
+ transition: color ease-out 0.2s;
+ color: var(--text-color);
}
.actions a:hover {
- text-decoration: none;
- color:#e33d8a;
+ text-decoration: none;
+ color: var(--primary-color);
}
#smallify .fa-search-plus ~ .big {
- display:inline-block;
+ display: inline-block;
}
#smallify .fa-search-plus ~ .big ~ .small {
- display:none;
+ display: none;
}
#smallify .fa-search-minus ~ .big {
- display:none;
+ display: none;
}
#smallify .fa-search-minus ~ .big ~ .small {
- display:inline-block;
+ display: inline-block;
}
#full-page .fa-expand ~ .full-screen {
- display:inline-block;
+ display: inline-block;
}
#full-page .fa-expand ~ .full-screen ~ .contain-screen {
- display:none;
+ display: none;
}
#full-page .fa-compress ~ .full-screen {
- display:none;
+ display: none;
}
#full-page .fa-compress ~ .full-screen ~ .contain-screen {
- display:inline-block;
+ display: inline-block;
}
.clearfix {
- clear:both;
+ clear: both;
}
#board {
- position: relative;
- background-color: #EEE;
-
- height: 100%;
-
- background-image: -webkit-gradient(linear,
- left top,
- right bottom,
- color-stop(0.49, #EEE),
- color-stop(0.84, #CCC));
-
- -moz-box-shadow: inset 1px 1px 3px #999;
- box-shadow: inset 1px 1px 3px #999;
+ position: relative;
+ background-color: var(--board-background-color);
+ height: 100%;
+ -moz-box-shadow: inset 1px 1px 3px #999;
+ box-shadow: inset 1px 1px 3px #999;
}
.board-outline {
- border: solid #ddd 6px;
- display: block;
- height: 466px;
- box-shadow: 1px 1px 1px #aaa;
- margin: 0 auto;
+ border: solid #ddda 6px;
+ display: block;
+ height: 466px;
+ box-shadow: 1px 1px 1px #aaa;
+ margin: 0 auto;
}
#board-doodles {
- width: 100%;
- height: 100%;
- position: absolute;
- display: inline;
- opacity: 0.035;
- background-image: url('/images/scribbles2.png');
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ display: inline;
+ opacity: 0.035;
+ background-image: url("/images/scribbles2.png");
}
.card-icon {
- display: none;
- position: absolute;
- top: 3%;
- left: 82%;
- opacity: .3;
- width: 16px;
- height: 16px;
+ display: none;
+ position: absolute;
+ top: 3%;
+ left: 82%;
+ opacity: 0.3;
+ width: 16px;
+ height: 16px;
}
.card-icon-hover {
- opacity: .9;
+ opacity: 0.9;
}
.card-edit-form,
.card-edit-form input,
.card-edit-form textarea {
- border: none;
- font-size: inherit;
- font-weight: inherit;
- background-color: inherit;
- xvertical-align: inherit;
- font-family: inherit;
- text-align: center;
- xcolor: #444;
- padding: 0;
- margin: 0;
- outline-width: 0;
- overflow: hidden;
- resize: none;
- width: 100%;
- color: #330066;
- color: #666;
-
+ border: none;
+ font-size: inherit;
+ font-weight: inherit;
+ background-color: inherit;
+ font-family: inherit;
+ text-align: center;
+ padding: 0;
+ margin: 0;
+ outline-width: 0;
+ overflow: hidden;
+ resize: none;
+ width: 100%;
+ color: #330066;
+ color: #666;
}
-
-
.board-table {
- xz-index: 1;
- position: absolute;
- top: 0px;
- left: 0px;
- xborder: solid #5b6a6c 1px;
- height: 100%;
- width: 100%;
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ height: 100%;
+ width: 100%;
}
.board-table .col {
- xborder-left: dashed #64d29b 5px;
- text-align: center;
- vertical-align: top;
- height: 100%;
- xopacity: 1;
- background-image: url('../images/green-board-line.png');
- background-repeat: repeat-y;
- background-position: left top;
+ text-align: center;
+ vertical-align: top;
+ height: 100%;
+ background-image: url("../images/green-board-line.png");
+ background-repeat: repeat-y;
+ background-position: left top;
}
.board-table .first {
- border-left: none;
- text-align: center;
- vertical-align: top;
- height: 100%;
- background-image: none;
-
+ border-left: none;
+ text-align: center;
+ vertical-align: top;
+ height: 100%;
+ background-image: none;
}
h1,
h1 a {
- color: #b6b6b6;
- padding: 0px;
- margin: 0px;
- margin-left: 1px;
- font-weight: normal;
- xtext-shadow: 1px 1px 1px #b6b6b6;
- font-size: 15px;
- padding-top: 14px;
- letter-spacing: +1px;
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- text-decoration: none;
+ color: #b6b6b6;
+ padding: 0px;
+ margin: 0px;
+ margin-left: 1px;
+ font-weight: normal;
+ font-size: 15px;
+ padding-top: 14px;
+ letter-spacing: +1px;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ text-decoration: none;
}
h2 {
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- color: #64d29b;
- font-size: 18px;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ color: var(--text-color);
+ font-size: 18px;
}
.bottom-icon {
- padding: 5px;
- opacity: .4;
+ padding: 5px;
+ opacity: 0.4;
}
.bottom-icon:hover {
- padding: 5px;
- opacity: .6;
+ padding: 5px;
+ opacity: 0.6;
}
.faded-icon {
- opacity: .4;
+ opacity: 0.4;
}
.faded-icon:hover {
- opacity: .6;
+ opacity: 0.6;
}
#add-col {
- position: absolute;
- right: 3px;
- top: 200px;
- display: none;
- opacity: .15;
+ position: absolute;
+ right: 3px;
+ top: 200px;
+ display: none;
+ opacity: 0.15;
}
#add-col:hover {
- opacity: .5;
+ opacity: 0.5;
}
#delete-col {
- position: absolute;
- right: 3px;
- top: 224px;
- display: none;
- opacity: .15;
+ position: absolute;
+ right: 3px;
+ top: 224px;
+ display: none;
+ opacity: 0.15;
}
#delete-col:hover {
- opacity: .5;
+ opacity: 0.5;
}
#config-dropdown {
- border: solid #666 5px;
- width: 200px;
- height: 34px;
- border-radius: 15px;
- background-color: #888;
- box-shadow: 0px 0px 10px #444;
- padding: 2px;
- display: none;
+ border: solid #666 5px;
+ width: 200px;
+ height: 34px;
+ border-radius: 15px;
+ background-color: #888;
+ box-shadow: 0px 0px 10px #444;
+ padding: 2px;
+ display: none;
}
.config-dropdown-icon {
- padding: 5px;
- opacity: .5;
-}
-
-.buttons {
- float: left;
+ padding: 5px;
+ opacity: 0.5;
}
.names {
- padding-left: 10px;
- width: 980px;
- text-align: right;
- color: #bbb;
- letter-spacing: 4px;
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- font-size: 13px;
-
+ color: var(--text-color);
+ letter-spacing: 4px;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ font-size: 13px;
}
.names p {
- padding: 0;
- margin 0;
+ padding: 0;
+ margin: 0;
}
.names ul {
- list-style: none;
- margin-top: 4px;
- margin-bottom: 4px;
+ list-style: none;
+ margin-top: 4px;
+ margin-bottom: 4px;
}
#yourname-li {
- color: #888;
+ color: #888;
}
.names input {
- padding: 0;
- border: none;
- outline: 0;
- width: 100px;
- background: -webkit-gradient(linear, left top, left 25, from(#FFFFFF), color-stop(4%, #EEEEEE), to(#FFFFFF));
- background: -moz-linear-gradient(top, #FFFFFF, #EEEEEE 1px, #FFFFFF 25px);
+ padding: 0;
+ border: none;
+ outline: 0;
+ width: 100px;
+ background: -webkit-gradient(linear, left top, left 25, from(#ffffff), color-stop(4%, #eeeeee), to(#ffffff));
+ background: -moz-linear-gradient(top, #ffffff, #eeeeee 1px, #ffffff 25px);
- background: none;
- border-radius: 10px;
- color: #666;
- text-align: right;
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- font-size: 13px;
- letter-spacing: 4px;
- margin: 0;
+ background: none;
+ border-radius: 10px;
+ color: #666;
+ text-align: right;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ font-size: 13px;
+ letter-spacing: 4px;
+ margin: 0;
- position: relative;
+ position: relative;
}
.names input:hover {
- outline: 0;
- width: 100px;
- background: -webkit-gradient(linear, left top, left 25, from(#FFFFFF), color-stop(4%, #EEEEEE), to(#FFFFFF));
- background: -moz-linear-gradient(top, #FFFFFF, #EEEEEE 1px, #FFFFFF 25px);
- background: none;
- box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px;
- border-radius: 10px;
- color: #aaa;
- text-align: right;
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- font-size: 13px;
- letter-spacing: 4px;
- margin: 0;
-
+ outline: 0;
+ width: 100px;
+ background: -webkit-gradient(linear, left top, left 25, from(#ffffff), color-stop(4%, #eeeeee), to(#ffffff));
+ background: -moz-linear-gradient(top, #ffffff, #eeeeee 1px, #ffffff 25px);
+ background: none;
+ box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px;
+ border-radius: 10px;
+ color: #aaa;
+ text-align: right;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ font-size: 13px;
+ letter-spacing: 4px;
+ margin: 0;
}
.names .focused {
- color: #444;
+ color: #444;
}
.you-text {
- letter-spacing: 2px;
+ letter-spacing: 2px;
}
-
#user-icon {
- vertical-align: text-top;
- position: relative;
- left: 0px;
+ vertical-align: text-top;
+ position: relative;
+ left: 0px;
}
.sticker {
- padding-top: 0px;
- padding-left: 2px;
- xz-index: 10;
- display: inline-block;
- width: 11px;
- height: 11px;
- background-repeat: no-repeat;
+ padding-top: 0px;
+ padding-left: 2px;
+ display: inline-block;
+ width: 11px;
+ height: 11px;
+ background-repeat: no-repeat;
}
.stickers {
- text-align: right;
- padding-top: 6px;
- margin: 0;
+ display: inline-block;
+ margin: 0 1em;
}
-
#sticker-red {
- background-image: url('../images/stickers/sticker-red.png');
+ background-image: url("../images/stickers/sticker-red.png");
}
#sticker-blue {
- background-image: url('../images/stickers/sticker-blue.png');
+ background-image: url("../images/stickers/sticker-blue.png");
}
#sticker-yellow {
- background-image: url('../images/stickers/sticker-yellow.png');
+ background-image: url("../images/stickers/sticker-yellow.png");
}
#sticker-green {
- background-image: url('../images/stickers/sticker-green.png');
+ background-image: url("../images/stickers/sticker-green.png");
}
#sticker-pink {
- background-image: url('../images/stickers/sticker-pink.png');
+ background-image: url("../images/stickers/sticker-pink.png");
}
#sticker-lightblue {
- background-image: url('../images/stickers/sticker-lightblue.png');
+ background-image: url("../images/stickers/sticker-lightblue.png");
}
#sticker-orange {
- background-image: url('../images/stickers/sticker-orange.png');
+ background-image: url("../images/stickers/sticker-orange.png");
}
#sticker-purple {
- background-image: url('../images/stickers/sticker-purple.png');
+ background-image: url("../images/stickers/sticker-purple.png");
}
#sticker-gold {
- background-image: url('../images/stickers/sticker-gold.png');
+ background-image: url("../images/stickers/sticker-gold.png");
}
#sticker-silverstar {
- background-image: url('../images/stickers/sticker-silverstar.png');
+ background-image: url("../images/stickers/sticker-silverstar.png");
}
#sticker-bluestar {
- background-image: url('../images/stickers/sticker-bluestar.png');
+ background-image: url("../images/stickers/sticker-bluestar.png");
}
#sticker-redstar {
- background-image: url('../images/stickers/sticker-redstar.png');
+ background-image: url("../images/stickers/sticker-redstar.png");
}
#addsticker {
- background-image: url('../images/icons/iconic/raster/#5b6a6c/plus_8x8.png');
- background-position: 2px 2px;
- opacity: 0.3;
+ background-image: url("../images/icons/iconic/raster/black/plus_8x8.png");
+ background-position: 2px 2px;
+ opacity: 0.3;
- display: inline-block;
- width: 11px;
- height: 11px;
- background-repeat: no-repeat;
+ display: inline-block;
+ width: 11px;
+ height: 11px;
+ background-repeat: no-repeat;
}
#addsticker:hover {
- opacity: 0.7;
+ opacity: 0.7;
}
#nosticker {
- background-image: url('../images/stickers/sticker-deletestar.png');
+ background-image: url("../images/stickers/sticker-deletestar.png");
}
#sticker-nostar {
- position: relative;
- top: 3px;
- opacity: .5;
+ position: relative;
+ top: 3px;
+ opacity: 0.5;
}
#sticker-redstar {
- top: 1px;
+ top: 1px;
}
-/*.sticker-red {
- background-image: url('../images/stickers/sticker-red.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-blue {
- background-image: url('../images/stickers/sticker-blue.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-yellow {
- background-image: url('../images/stickers/sticker-yellow.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-green {
- background-image: url('../images/stickers/sticker-green.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-gold {
- background-image: url('../images/stickers/sticker-gold.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-bluestar {
- background-image: url('../images/stickers/sticker-bluestar.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-silverstar {
- background-image: url('../images/stickers/sticker-silverstar.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-redstar {
- background-image: url('../images/stickers/sticker-redstar.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-pink {
- background-image: url('../images/stickers/sticker-pink.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-orange {
- background-image: url('../images/stickers/sticker-orange.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-lightblue {
- background-image: url('../images/stickers/sticker-lightblue.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}
-
-.sticker-purple {
- background-image: url('../images/stickers/sticker-purple.png');
- background-repeat: no-repeat;
- background-position: right bottom;
-}*/
-
-
-
-
/* Stuff for landing page */
h1.home {
- font-size: 100px;
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- color: #64d29b;
- opacity: .8;
- padding: 0;
- margin: 0;
- text-align: center;
- xline-height: .9em;
+ font-size: 100px;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ color: var(--primary-color);
+ opacity: 0.8;
+ padding: 0;
+ margin: 0;
+ text-align: center;
}
.home {
- font-size: 30px;
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- color: #5b6a6c;
- opacity: 1;
- padding: 0;
- margin: 0;
- text-align: center;
+ font-size: 30px;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ color: var(--text-color);
+ opacity: 1;
+ padding: 0;
+ margin: 0;
+ text-align: center;
}
form.home {
- margin-bottom:2em;
+ margin-bottom: 2em;
}
p.home a {
- color: #64d29b;
+ color: var(--primary-color);
- text-decoration: none;
+ text-decoration: none;
}
p.small {
- font-size: 22px;
+ font-size: 22px;
}
#video {
- height: 450px;
- width: 1000px;
- padding-top: 100px;
+ height: 450px;
+ width: 1000px;
+ padding-top: 100px;
}
input.text {
- width: 230px;
- background: none;
- padding: 6px;
- margin-bottom: 10px;
- border: none;
- font-size: 30px;
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- color: #64d29b;
- text-align: center;
- border-bottom: dashed 3px #64d29b;
+ width: 230px;
+ background: none;
+ padding: 6px;
+ margin-bottom: 10px;
+ border: none;
+ font-size: 30px;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ color: var(--primary-color);
+ text-align: center;
+ border-bottom: dashed 3px var(--primary-color);
}
#go:hover {
- box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, .2);
- text-decoration: none;
- background-color: #64d29bcc;
+ box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.2);
+ text-decoration: none;
+ background-color: var(--text-color);
+ color:var(--primary-color)
}
#go {
- display: inline-block;
- background-color: #64d29b;
- margin-left: 30px;
- box-shadow: unset;
- border: none;
- padding: 2px 10px;
- border-radius: 5px;
- margin-bottom: 0px;
- font-size: 25px;
- text-transform: uppercase;
- font-weight: bold;
- transition: all ease-out .1s;
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- color: #5b6a6c;
+ display: inline-block;
+ background-color: var(--primary-color);
+ margin-left: 30px;
+ box-shadow: unset;
+ border: none;
+ padding: 2px 10px;
+ border-radius: 5px;
+ margin-bottom: 0px;
+ font-size: 25px;
+ text-transform: uppercase;
+ font-weight: bold;
+ transition: all ease-out 0.1s;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ color: var(--text-color);
}
@media (max-width: 442px) {
- #go {
- margin-left: 0;
- }
+ #go {
+ margin-left: 0;
+ }
}
.notice-bar {
- padding: 0;
- margin: 1em 0 0 0;
- text-align: center;
- color:#e33d8a;
- text-transform:uppercase;
- font-weight: bold;
+ padding: 0;
+ margin: 1em 0 0 0;
+ text-align: center;
+ color: #e33d8a;
+ text-transform: uppercase;
+ font-weight: bold;
}
.notice-bar a {
- color: #333;
+ color: #333;
}
#marker {
- position: absolute;
- bottom: 0;
- right: 200px;
- z-index: 1;
+ position: absolute;
+ bottom: 0;
+ right: 200px;
+ z-index: 1;
}
#eraser {
- position: absolute;
- bottom: 0;
- right: 70px;
- z-index: 1;
+ position: absolute;
+ bottom: 0;
+ right: 70px;
+ z-index: 1;
}
-
.card-hover-draggable {
- xborder: 1px dashed blue;
- box-shadow: inset 0 0 40px rgba(128, 128, 256, 0.2);
- background-color: rgba(128, 128, 256, 0.1)
-}
-
-/*img ~ .card-hover-draggable {
- -webkit-filter: hue-rotate(180deg);
-}*/
-
-img {
- user-drag: none;
- -moz-user-select: none;
- -webkit-user-drag: none;
+ box-shadow: inset 0 0 40px rgba(128, 128, 256, 0.2);
+ background-color: rgba(128, 128, 256, 0.1);
}
.config {
- position: fixed;
- right: 18px;
- top: 4px;
+ position: fixed;
+ right: 18px;
+ top: 4px;
}
.trash {
- position: fixed;
- right: 18px;
- bottom: 4px;
+ position: fixed;
+ right: 18px;
+ bottom: 4px;
}
.filler {
- right: 0;
- bottom: 0;
- position: absolute;
- text-align: right;
+ right: 0;
+ bottom: 0;
+ position: absolute;
+ text-align: right;
}
-.active-connections, .credits {
- color: #999;
- margin: 1em 0;
+.active-connections,
+.credits {
+ color: #999;
+ margin: 1em 0;
+}
+.credits {
+ display: none;
}
-
-
-
-
/* states and images */
.ui-icon {
- width: 16px;
- height: 16px;
- background-image: url(../images/ui-icons_222222_256x240.png);
+ width: 16px;
+ height: 16px;
+ background-image: url(../images/ui-icons_222222_256x240.png);
}
.ui-widget-content .ui-icon {
- background-image: url(../images/ui-icons_222222_256x240.png);
+ background-image: url(../images/ui-icons_222222_256x240.png);
}
.ui-widget-header .ui-icon {
- background-image: url(../images/ui-icons_222222_256x240.png);
+ background-image: url(../images/ui-icons_222222_256x240.png);
}
.ui-state-default .ui-icon {
- background-image: url(../images/ui-icons_888888_256x240.png);
+ background-image: url(../images/ui-icons_888888_256x240.png);
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
- background-image: url(../images/ui-icons_454545_256x240.png);
+ background-image: url(../images/ui-icons_454545_256x240.png);
}
.ui-state-active .ui-icon {
- background-image: url(../images/ui-icons_454545_256x240.png);
+ background-image: url(../images/ui-icons_454545_256x240.png);
}
.ui-state-highlight .ui-icon {
- background-image: url(../images/ui-icons_2e83ff_256x240.png);
+ background-image: url(../images/ui-icons_2e83ff_256x240.png);
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
- background-image: url(../images/ui-icons_cd0a0a_256x240.png);
+ background-image: url(../images/ui-icons_cd0a0a_256x240.png);
}
-
.ui-resizable {
- position: relative;
+ position: relative;
}
.ui-resizable-handle {
- position: absolute;
- font-size: 0.1px;
- z-index: 99999;
- display: block;
+ position: absolute;
+ font-size: 0.1px;
+ z-index: 99999;
+ display: block;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
- display: none;
+ display: none;
}
.ui-resizable-n {
- cursor: n-resize;
- height: 7px;
- width: 100%;
- top: -5px;
- left: 0;
+ cursor: n-resize;
+ height: 7px;
+ width: 100%;
+ top: -5px;
+ left: 0;
}
.ui-resizable-s {
- cursor: s-resize;
- height: 7px;
- width: 100%;
- bottom: -5px;
- left: 0;
+ cursor: s-resize;
+ height: 7px;
+ width: 100%;
+ bottom: -5px;
+ left: 0;
}
.ui-resizable-e {
- cursor: e-resize;
- width: 7px;
- right: -5px;
- top: 0;
- height: 100%;
+ cursor: e-resize;
+ width: 7px;
+ right: -5px;
+ top: 0;
+ height: 100%;
}
.ui-resizable-w {
- cursor: w-resize;
- width: 7px;
- left: -5px;
- top: 0;
- height: 100%;
+ cursor: w-resize;
+ width: 7px;
+ left: -5px;
+ top: 0;
+ height: 100%;
}
.ui-resizable-se {
- cursor: se-resize;
- width: 12px;
- height: 12px;
- right: 1px;
- bottom: 1px;
+ cursor: se-resize;
+ width: 12px;
+ height: 12px;
+ right: 1px;
+ bottom: 1px;
}
.ui-resizable-sw {
- cursor: sw-resize;
- width: 9px;
- height: 9px;
- left: -5px;
- bottom: -5px;
+ cursor: sw-resize;
+ width: 9px;
+ height: 9px;
+ left: -5px;
+ bottom: -5px;
}
.ui-resizable-nw {
- cursor: nw-resize;
- width: 9px;
- height: 9px;
- left: -5px;
- top: -5px;
+ cursor: nw-resize;
+ width: 9px;
+ height: 9px;
+ left: -5px;
+ top: -5px;
}
.ui-resizable-ne {
- cursor: ne-resize;
- width: 9px;
- height: 9px;
- right: -5px;
- top: -5px;
+ cursor: ne-resize;
+ width: 9px;
+ height: 9px;
+ right: -5px;
+ top: -5px;
}
.ui-icon-gripsmall-diagonal-se {
- background-position: -64px -224px;
+ background-position: -64px -224px;
}
.export button,
.import * {
- margin-right: 15px;
+ margin-right: 15px;
}
.content h1 {
- font-family: 'geomanistregular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- color: #64d29b;
- font-size: 22px;
+ font-family: "geomanistregular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
+ "Open Sans", "Helvetica Neue", sans-serif;
+ color: var(--primary-color);
+ font-size: 22px;
}
.content * {
- margin-top: 0;
- margin-bottom: 0;
- padding-top: 0;
- padding-bottom: 0;
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-top: 0;
+ padding-bottom: 0;
}
-#revisions-list li>* {
- cursor: pointer;
+#revisions-list li > * {
+ cursor: pointer;
}
#revisions-list li img {
- margin-left: 10px;
+ margin-left: 10px;
}
.active-connections {
- float:left;
+ float: left;
}
.credits {
- text-align: center;
+ text-align: center;
}
-/**
-* modal.css
-* Author: Pedro Laxe
-* Version: 1.0.6
-* License: GPLv2
-**/
-.modal {
- left: 50%;
- margin: -250px 0 0 -32%;
- opacity: 0;
- position: absolute;
- top: -50%;
- visibility: hidden;
- width: 65%;
- box-shadow: 0 3px 3px rgba(0,0,0,.25);
- box-sizing: border-box;
- transition: all .4s ease-in-out;
- -moz-transition: all .4s ease-in-out;
- -webkit-transition: all .4s ease-in-out;
-}
-.modal:target {
- opacity: 1;
- top: 50%;
- visibility: visible;
-}
-.modal .header, .modal .footer {
- border-bottom: 1px solid #e7e7e7;
- border-radius: 5px 5px 0 0;
-}
-.modal .footer {
- border: none;
- border-top: 1px solid #e7e7e7;
- border-radius: 0 0 5px 5px;
-}
-.modal h2 {
- margin: 0;
- color: #333333;
-}
-.modal .btn {
- float: right;
-}
-.modal .copy, .modal .header, .modal .footer {
- padding: 5px;
- color: #333333;
-}
-.modal-content {
- background: #f7f7f7;
- position: relative;
- z-index: 20;
- border-radius: 5px;
- color: #333333;
-}
-.modal .copy {
- background: #fff;
- min-height:200px;
-}
-.modal .overlay {
- background-color: #000;
- background: rgba(0,0,0,.8);
- height: 100%;
- left: 0;
- position: fixed;
- top: 0;
- width: 100%;
- z-index: 10;
-}
-.copy ul li a {
- color: #333333;
- text-decoration: none;
-}
-/* Responsive Options */
-@media screen and (min-width: 768px) {
- .modal{
- width:600px;
- margin:-250px 0px 0px -18.2%;
- top: -50%;
- }
-}
-.modalcss-button {
- /* Structure */
- display: inline-block;
- line-height: normal;
- white-space: nowrap;
- vertical-align: middle;
- text-align: center;
- cursor: pointer;
- -webkit-user-drag: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-/* Firefox: Get rid of the inner focus border */
-.modalcss-button::-moz-focus-inner {
- padding: 0;
- border: 0;
-}
-
-.modalcss-button {
- font-family: inherit;
- font-size: 100%;
- padding: 0.5em 1em;
- color: #444; /* rgba not supported (IE 8) */
- color: rgba(0, 0, 0, 0.80); /* rgba supported */
- border: 1px solid #999; /*IE 6/7/8*/
- border: none rgba(0, 0, 0, 0); /*IE9 + everything else*/
- background-color: #E6E6E6;
- text-decoration: none;
- border-radius: 2px;
-}
-
-.modalcss-button-hover,
-.modalcss-button:hover,
-.modalcss-button:focus {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000',GradientType=0);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(40%, rgba(0,0,0, 0.05)), to(rgba(0,0,0, 0.10)));
- background-image: -webkit-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
- background-image: -moz-linear-gradient(top, rgba(0,0,0, 0.05) 0%, rgba(0,0,0, 0.10));
- background-image: -o-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
- background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
-}
-.modalcss-button:focus {
- outline: 0;
-}
-.modalcss-button-active,
-.modalcss-button:active {
- box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset;
- border-color: #000\9;
-}
-.modalcss-button[disabled],
-.modalcss-button-disabled,
-.modalcss-button-disabled:hover,
-.modalcss-button-disabled:focus,
-.modalcss-button-disabled:active {
- border: none;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- filter: alpha(opacity=40);
- -khtml-opacity: 0.40;
- -moz-opacity: 0.40;
- opacity: 0.40;
- cursor: not-allowed;
- box-shadow: none;
-}
-
-.modalcss-button-hidden {
- display: none;
-}
-
-/* Firefox: Get rid of the inner focus border */
-.modalcss-button::-moz-focus-inner{
- padding: 0;
- border: 0;
-}
-
-.modalcss-button-primary,
-.modalcss-button-selected,
-a.modalcss-button-primary,
-a.modalcss-button-selected {
- background-color: rgb(0, 120, 231);
- color: #fff;
-}
-.button-success,
- .button-error,
- .button-warning,
- .button-secondary {
- color: white;
- border-radius: 4px;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- }
-
- .button-success {
- background: rgb(28, 184, 65); /* this is a green */
- }
-
- .button-error {
- background: rgb(202, 60, 60); /* this is a maroon */
- }
-
- .button-warning {
- background: rgb(223, 117, 20); /* this is an orange */
- }
-
- .button-secondary {
- background: rgb(66, 184, 221); /* this is a light blue */
- }
/* Responsive Video */
.video {
- position: relative;
- padding-bottom: 56.25%;
- padding-top: 30px; height: 0; overflow: hidden;
+ position: relative;
+ padding-bottom: 56.25%;
+ padding-top: 30px;
+ height: 0;
+ overflow: hidden;
}
.video iframe,
.video object,
.video embed {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
}
/* Close Button */
-.box3 {
- width: 25px;
- right: 0px;
- position: absolute;
- margin: 5px;
+.box3 {
+ width: 25px;
+ right: 0px;
+ position: absolute;
+ margin: 5px;
}
svg {
- display: block;
+ display: block;
}
.close-x {
stroke: black;
@@ -1177,5 +854,99 @@ svg {
}
.pull-right {
- float: right;
-}
\ No newline at end of file
+ float: right;
+}
+.post-it-actions {
+ display: flex;
+}
+a.add-post-it {
+ display: inline-block;
+ transition: color ease-out 0.2s;
+ color: var(--text-color);
+}
+a.add-post-it:hover {
+ color: var(--primary-color);
+}
+.add-post-it img {
+ width: 70px;
+ display: inline-block;
+ margin-left: -30px;
+ vertical-align: top;
+}
+.add-post-it .fa {
+ display: inline-block;
+ z-index: 1;
+ position: relative;
+ top: 9px;
+ left: 19px;
+}
+
+#site-wrapper {
+ position: relative;
+ width: 100%;
+ height:100vh;
+ overflow-x: hidden;
+}
+#site-canvas {
+ min-height: 100%;
+ position: relative;
+
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+
+ -webkit-transition: 300ms ease all;
+ transition: 300ms ease all;
+
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+.show-nav #site-canvas {
+ -webkit-transform: translateX(-295px);
+ transform: translateX(-300px);
+
+ -webkit-transform: translate3d(-295px, 0, 0);
+ transform: translate3d(-295px, 0, 0);
+}
+#site-menu {
+ width: 270px;
+ height: 100%;
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ right: -295px;
+ background: linear-gradient( 270deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.7553221117548582) 98%, rgba(255, 255, 255, 0) 100% );
+ padding: 15px;
+ z-index: 1;
+}
+#site-menu .close-link {
+ color: var(--text-color);
+ font-weight: bold;
+ text-transform: uppercase;
+ font-size: 12px;
+}
+#site-menu .close-link i {
+ font-size: 16px;
+}
+#site-menu .close-link:hover {
+ text-decoration: none;
+}
+
+.backgrounds {
+ display:grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-gap: 5px;
+}
+.backgrounds .bg {
+ max-width:100px;
+ width: 100%;
+ border: 1px solid transparent;
+}
+.backgrounds .bg:hover {
+ cursor:pointer;
+}
+.backgrounds .bg.selected {
+ border: 1px solid var(--primary-color);
+}
diff --git a/client/script.js b/client/script.js
index 7a69d11..7c6edbf 100644
--- a/client/script.js
+++ b/client/script.js
@@ -47,7 +47,7 @@ socket.on("connect", function () {
socket.on("disconnect", function () {
blockUI("Serveur déconnecté. Veuillez rafraîchir la page pour essayer de vous reconnecter…")
- //$('.blockOverlay').click($.unblockUI);
+ //$('.blockOverlay').on('click', $.unblockUI);
})
socket.on("message", function (data) {
@@ -189,7 +189,7 @@ function getMessage(m) {
}
}
-$(document).bind("keyup", function (event) {
+$(document).on("keyup", function (event) {
keyTrap = event.which
})
@@ -229,7 +229,7 @@ function drawNewCard(id, text, x, y, rot, colour, sticker, animationspeed) {
//we click on a card
//The following doesn't work so we will do the bug
//fix recommended in the above bug report
- // card.click( function() {
+ // card.on('click', function() {
// $(this).focus();
// } );
@@ -251,7 +251,7 @@ function drawNewCard(id, text, x, y, rot, colour, sticker, animationspeed) {
})
//After a drag:
- card.bind("dragstop", function (event, ui) {
+ card.on("dragstop", function (event, ui) {
if (keyTrap == 27) {
keyTrap = null
return
@@ -323,7 +323,7 @@ function drawNewCard(id, text, x, y, rot, colour, sticker, animationspeed) {
}
)
- card.children(".delete-card-icon").click(function () {
+ card.children(".delete-card-icon").on("click", function () {
$("#" + id).remove()
//notify server of delete
sendAction("deleteCard", {
@@ -415,11 +415,6 @@ function createCard(id, text, x, y, rot, colour) {
}
function randomCardColour() {
- var choosed = $("#choose-card-color").val()
- if (choosed !== "random") {
- return choosed
- }
-
var colours = ["yellow", "green", "blue", "white"]
var i = Math.floor(Math.random() * colours.length)
@@ -726,16 +721,14 @@ function download(filename, text) {
element.style.display = "none"
document.body.appendChild(element)
-
element.click()
-
document.body.removeChild(element)
}
function addRevision(timestamp) {
var li = $('
')
var s1 = $("")
- var s2 = $('
')
+ var s2 = $('
')
if (typeof timestamp === "string") {
timestamp = parseInt(timestamp)
}
@@ -745,13 +738,13 @@ function addRevision(timestamp) {
li.append(s2)
$("#revisions-list").append(li)
- s1.click(function () {
+ $('body').on("click", s1, function () {
socket.json.send({
action: "exportRevision",
data: timestamp,
})
})
- s2.click(function () {
+ $('body').on("click", s2, function () {
socket.json.send({
action: "deleteRevision",
data: timestamp,
@@ -770,39 +763,29 @@ $(function () {
//setTimeout($.unblockUI, 2000);
- $("#create-card").click(function () {
+ $(".add-post-it").on("click", function () {
var rotation = Math.random() * 10 - 5 //add a bit of random rotation (+/- 10deg)
- uniqueID = Math.round(Math.random() * 99999999) //is this big enough to assure uniqueness?
+ var cardLeft = 150 + Math.random() * 400
+ var cardTop = 20 + Math.random() * 50
+ var uniqueID = Math.round(Math.random() * 99999999) //is this big enough to assure uniqueness?
//alert(uniqueID);
- createCard(
- "card" + uniqueID,
- "",
- 58,
- $("div.board-outline").height(), // hack - not a great way to get the new card coordinates, but most consistant ATM
- rotation,
- randomCardColour()
- )
+ createCard("card" + uniqueID, "", cardLeft, cardTop, rotation, $(this).data("color"))
})
// Style changer
- $("#smallify").click(function () {
+ $("#smallify").on("click", function () {
if (currentTheme == "bigcards") {
changeThemeTo("smallcards")
} else if (currentTheme == "smallcards") {
changeThemeTo("bigcards")
}
- /*else if (currentTheme == "nocards")
- {
- currentTheme = "bigcards";
- $("link[title=cardsize]").attr("href", "css/bigcards.css");
- }*/
-
sendAction("changeTheme", currentTheme)
return false
})
- $("#icon-col").hover(
+ $("#icon-col").on(
+ "hover",
function () {
$(".col-icon").fadeIn(10)
},
@@ -811,29 +794,19 @@ $(function () {
}
)
- $("#add-col").click(function () {
+ $("#add-col").on("click", function () {
createColumn("Nouveau")
return false
})
- $("#delete-col").click(function () {
+ $("#delete-col").on("click", function () {
deleteColumn()
return false
})
- // $('#cog-button').click( function(){
- // $('#config-dropdown').fadeToggle();
- // } );
-
- // $('#config-dropdown').hover(
- // function(){ /*$('#config-dropdown').fadeIn()*/ },
- // function(){ $('#config-dropdown').fadeOut() }
- // );
- //
-
var user_name = getCookie("scrumscrum-username")
- $("#yourname-input").focus(function () {
+ $("#yourname-input").on("focus", function () {
if ($(this).val() == "anonyme") {
$(this).val("")
}
@@ -841,7 +814,7 @@ $(function () {
$(this).addClass("focused")
})
- $("#yourname-input").blur(function () {
+ $("#yourname-input").on("blur", function () {
if ($(this).val() === "") {
$(this).val("anonyme")
}
@@ -851,14 +824,14 @@ $(function () {
})
$("#yourname-input").val(user_name)
- $("#yourname-input").blur()
+ $("#yourname-input").trigger("blur")
$("#yourname-li").hide()
- $("#yourname-input").keypress(function (e) {
+ $("#yourname-input").on("keypress", function (e) {
code = e.keyCode ? e.keyCode : e.which
if (code == 10 || code == 13) {
- $(this).blur()
+ $(this).trigger("blur")
}
})
@@ -879,13 +852,13 @@ $(function () {
;(function () {
var offsets
- $(".board-outline").bind("resizestart", function () {
+ $(".board-outline").on("resizestart", function () {
offsets = calcCardOffset()
})
- $(".board-outline").bind("resize", function (event, ui) {
+ $(".board-outline").on("resize", function (event, ui) {
adjustCard(offsets, false)
})
- $(".board-outline").bind("resizestop", function (event, ui) {
+ $(".board-outline").on("resizestop", function (event, ui) {
boardResizeHappened(event, ui)
adjustCard(offsets, true)
})
@@ -901,7 +874,7 @@ $(function () {
containment: "parent",
})
- $("#export-txt").click(function () {
+ $("#export-txt").on("click", function () {
$('.nav-tabs a[href="#scrumblr"]').tab("show")
socket.json.send({
action: "exportTxt",
@@ -909,7 +882,7 @@ $(function () {
})
})
- $("#export-csv").click(function () {
+ $("#export-csv").on("click", function () {
$('.nav-tabs a[href="#scrumblr"]').tab("show")
socket.json.send({
action: "exportCsv",
@@ -917,7 +890,7 @@ $(function () {
})
})
- $("#export-json").click(function () {
+ $("#export-json").on("click", function () {
socket.json.send({
action: "exportJson",
data: {
@@ -927,7 +900,7 @@ $(function () {
})
})
- $("#import-file").click(function (evt) {
+ $("#import-file").on("click", function (evt) {
evt.stopPropagation()
evt.preventDefault()
@@ -943,7 +916,7 @@ $(function () {
fr.readAsText(f)
})
- $("#create-revision").click(function () {
+ $("#create-revision").on("click", function () {
socket.json.send({
action: "createRevision",
data: {
@@ -1048,8 +1021,6 @@ $(document).ready(function () {
}
}, 500)
- $(".names").css({ margin: "auto", width: "auto" }).addClass("pull-right")
-
$("#scrumblr")
.append($(".names, .stickers, .buttons"))
.after(
@@ -1065,7 +1036,6 @@ $(document).ready(function () {
$("#about").append($("#tuto-faq, #le-logiciel, #jardin"))
// Style
- $("#create-card").addClass("vert fa-3x").css("opacity", "1")
$("#smallify").on("click", function () {
if (currentTheme == "bigcards") {
$(this).children("i").removeClass("fa-search-plus").addClass("fa-search-minus")
@@ -1091,9 +1061,11 @@ $(document).ready(function () {
}
// put URL in share input
- $("#taburl").val(location)
+ var mainurl = location.toString().split('#')[0]
+ $(".replace-url").val(mainurl)
+ $(".share-iframe").text($(".share-iframe").text().replace('{{replace-url}}', mainurl))
// copy URL to clipboard
- $("#copyurl").click(function (e) {
+ $("#copyurl").on("click", function (e) {
e.preventDefault()
var node = document.getElementById("taburl")
node.disabled = null
@@ -1115,7 +1087,7 @@ $(document).ready(function () {
//Close with Escape Button
window.onkeydown = function (event) {
if (event.keyCode === 27) {
- document.getElementById("close").click()
+ document.getElementById("close").on("click")
}
}
@@ -1155,3 +1127,53 @@ $(function () {
})
}
})
+
+$(function () {
+ // Toggle Nav on Click
+ $(".toggle-nav").on("click", function () {
+ var target = $(this).attr("href")
+ if (target === '#') {
+ target = false
+ } else {
+ history.replaceState('', '', target);
+ }
+ toggleNav(target)
+ return false
+ })
+ // When nav opened, a click on the canvas hides the menu
+ $("body").on("click", ".show-nav #site-canvas main", function () {
+ toggleNav(false)
+ return false
+ })
+ $(".backgrounds .bg").on("click", function () {
+ if ($(this).hasClass("selected")) {
+ $("body").css("background-image", "none")
+ $(this).removeClass("selected")
+ } else {
+ $(".selected").removeClass("selected")
+ $('.bgurl').val('')
+ $("body").css("background-image", 'url("/' + $(this).attr("src") + '")')
+ $(this).addClass("selected")
+ }
+ })
+ $('.bgurl').on('change', function() {
+ var url = $(this).val()
+ if (url) {
+ $(".selected").removeClass("selected")
+ $("body").css("background-image", 'url("' + url + '")')
+ }
+ })
+})
+
+function toggleNav(target) {
+ if ($("#site-wrapper").hasClass("show-nav") && target === false) {
+ $("#site-wrapper").removeClass("show-nav")
+ } else {
+ $("#share, #settings").hide()
+ if (target !== false) {
+ $(target).show()
+ }
+ $("#site-wrapper").addClass("show-nav")
+ }
+ return false
+}
diff --git a/config.js b/config.js
index 345721e..5f48f99 100644
--- a/config.js
+++ b/config.js
@@ -40,4 +40,4 @@ exports.database = {
exports.headerBarUrl = argv['headerBarUrl'] || null /* example url with appropriate json markup : 'https://colibris-lemouvement.org/archipel-markup?domain=colibris-outilslibres.org' */
exports.logoUrl = argv['logoUrl'] || null /* example logo url : 'https://postit.colibris-outilslibres.org/images/logo-Post-it.svg' */
-exports.faviconUrl = argv['faviconUrl'] || null /* example favicon url : 'https://postit.colibris-outilslibres.org/images/favicon.png' */
+exports.faviconUrl = argv['faviconUrl'] || null /* example favicon url : 'https://postit.colibris-outilslibres.org/images/favicon.png' */
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index bbbae76..c7b0a9f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,9 +1,35 @@
{
"name": "scrumblr",
- "version": "0.2.0",
+ "version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+ "@picocss/pico": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/@picocss/pico/-/pico-1.4.4.tgz",
+ "integrity": "sha512-MuL4MOY1Tugf91N06mhYETVqMiNeT9gObMJ0WNrnbSGBw61gsqXzn7ScjXvVpnQmFC8DP13mluzz1s+ogpiuEQ=="
+ },
+ "@sindresorhus/is": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
+ "dev": true
+ },
+ "@szmarczak/http-timer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
+ "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^1.0.1"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -23,6 +49,30 @@
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
+ "ansi-align": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
+ "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.1.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
"anymatch": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
@@ -169,9 +219,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -200,6 +250,16 @@
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
"dev": true
},
+ "bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
"blob": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
@@ -229,6 +289,35 @@
}
}
},
+ "bootstrap-icons": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.8.1.tgz",
+ "integrity": "sha512-IXUqislddPJfwq6H+2nTkHyr9epO9h6u1AG0OZCx616w+TgzeoCjfmI3qJMQqt1J586gN2IxzB4M99Ip4sTZ1w=="
+ },
+ "boxen": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
+ "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
+ "dev": true,
+ "requires": {
+ "ansi-align": "^3.0.0",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.1.0",
+ "cli-boxes": "^2.2.1",
+ "string-width": "^4.2.2",
+ "type-fest": "^0.20.2",
+ "widest-line": "^3.1.0",
+ "wrap-ansi": "^7.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true
+ }
+ }
+ },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -331,6 +420,38 @@
}
}
},
+ "cacheable-request": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
+ "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
+ "dev": true,
+ "requires": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^3.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^4.1.0",
+ "responselike": "^1.0.2"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true
+ }
+ }
+ },
"caller": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/caller/-/caller-0.0.1.tgz",
@@ -350,6 +471,33 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
},
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
"character-parser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz",
@@ -620,9 +768,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
},
"micromatch": {
@@ -659,6 +807,12 @@
}
}
},
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ },
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
@@ -688,6 +842,24 @@
}
}
},
+ "cli-boxes": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
+ "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
+ "dev": true
+ },
+ "cli-color": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.1.tgz",
+ "integrity": "sha512-eBbxZF6fqPUNnf7CLAFOersUnyYzv83tHFLSlts+OAHsNendaqv2tHCq+/MO+b3Y+9JeoUlIvobyxG/Z8GNeOg==",
+ "requires": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.53",
+ "es6-iterator": "^2.0.3",
+ "memoizee": "^0.4.15",
+ "timers-ext": "^0.1.7"
+ }
+ },
"cliff": {
"version": "0.1.10",
"resolved": "https://registry.npmjs.org/cliff/-/cliff-0.1.10.tgz",
@@ -713,6 +885,15 @@
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"dev": true
},
+ "clone-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
"collection-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
@@ -723,6 +904,21 @@
"object-visit": "^1.0.0"
}
},
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"colors": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
@@ -776,6 +972,20 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
+ "configstore": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
+ "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^5.2.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^3.0.0",
+ "unique-string": "^2.0.0",
+ "write-file-atomic": "^3.0.0",
+ "xdg-basedir": "^4.0.0"
+ }
+ },
"constantinople": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/constantinople/-/constantinople-2.0.1.tgz",
@@ -814,9 +1024,15 @@
"dev": true
},
"core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "dev": true
+ },
+ "crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
"dev": true
},
"css": {
@@ -828,6 +1044,14 @@
"css-stringify": "1.0.5"
}
},
+ "css-line-break": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz",
+ "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
+ "requires": {
+ "utrie": "^1.0.2"
+ }
+ },
"css-parse": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz",
@@ -844,6 +1068,15 @@
"integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
"dev": true
},
+ "d": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "requires": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -863,12 +1096,38 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
"dev": true
},
+ "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==",
+ "dev": true
+ },
+ "defer-to-connect": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
+ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
+ "dev": true
+ },
+ "define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="
+ },
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
@@ -915,9 +1174,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -944,16 +1203,46 @@
"integrity": "sha1-v9N0EHX9f7GlsuE2WMX0vsd3NvM=",
"dev": true
},
+ "dot-prop": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+ "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+ "dev": true,
+ "requires": {
+ "is-obj": "^2.0.0"
+ }
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
+ },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
"engine.io": {
"version": "1.8.5",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.5.tgz",
@@ -1002,9 +1291,9 @@
}
},
"engine.io-client": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.5.tgz",
- "integrity": "sha512-AYTgHyeVUPitsseqjoedjhYJapNVoSPShbZ+tEUX9/73jgZ/Z3sUlJf9oYgdEBBdVhupUpUqSxH0kBCXlQnmZg==",
+ "version": "1.8.6",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.6.tgz",
+ "integrity": "sha512-6+rInQu8xU7c0fIF6RC4SRKuHVWPt8Xq0bZYS4lMrTwmhRineOlEMsU3X0zS5mHIvCgJsmpOKEX7DhihGk7j0g==",
"requires": {
"component-emitter": "1.2.1",
"component-inherit": "0.0.3",
@@ -1016,7 +1305,7 @@
"parseqs": "0.0.5",
"parseuri": "0.0.5",
"ws": "~1.1.5",
- "xmlhttprequest-ssl": "1.5.3",
+ "xmlhttprequest-ssl": "1.6.3",
"yeast": "0.1.2"
},
"dependencies": {
@@ -1053,6 +1342,52 @@
"wtf-8": "1.0.0"
}
},
+ "es5-ext": {
+ "version": "0.10.53",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
+ "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.3",
+ "next-tick": "~1.0.0"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+ "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "requires": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
+ "es6-weak-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+ "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.46",
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "escape-goat": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
+ "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
+ "dev": true
+ },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -1063,6 +1398,15 @@
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
+ "event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
"event-stream": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz",
@@ -1144,6 +1488,21 @@
"vary": "~1.1.2"
}
},
+ "ext": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
+ "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
+ "requires": {
+ "type": "^2.5.0"
+ },
+ "dependencies": {
+ "type": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz",
+ "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ=="
+ }
+ }
+ },
"extend-shallow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
@@ -1180,6 +1539,13 @@
"integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
"dev": true
},
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "dev": true,
+ "optional": true
+ },
"filename-regex": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
@@ -1294,16 +1660,44 @@
}
},
"forever-monitor": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/forever-monitor/-/forever-monitor-1.7.1.tgz",
- "integrity": "sha1-XYIPSjp42y2BriZx8Vi56GoJG7g=",
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/forever-monitor/-/forever-monitor-1.7.2.tgz",
+ "integrity": "sha512-TGFkX9Hg1X0A4o0ShOvI7AH+p0Ra2kUfhA4kNL0/DY1lQO7T+DUBbSODFBQrykcrxjyw+D1RiawNOX3X2NFfrw==",
"dev": true,
"requires": {
"broadway": "~0.3.6",
- "chokidar": "^1.0.1",
+ "chokidar": "^1.7.0",
"minimatch": "~3.0.2",
"ps-tree": "0.0.x",
- "utile": "~0.2.1"
+ "utile": "^0.3.0"
+ },
+ "dependencies": {
+ "deep-equal": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz",
+ "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=",
+ "dev": true
+ },
+ "ncp": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz",
+ "integrity": "sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY=",
+ "dev": true
+ },
+ "utile": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/utile/-/utile-0.3.0.tgz",
+ "integrity": "sha1-E1LDQOuCDk2N26A5pPv6oy7U7zo=",
+ "dev": true,
+ "requires": {
+ "async": "~0.9.0",
+ "deep-equal": "~0.2.1",
+ "i": "0.3.x",
+ "mkdirp": "0.x.x",
+ "ncp": "1.0.x",
+ "rimraf": "2.x.x"
+ }
+ }
}
},
"forwarded": {
@@ -1332,551 +1726,23 @@
"dev": true
},
"fsevents": {
- "version": "1.2.9",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
- "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
"dev": true,
"optional": true,
"requires": {
- "nan": "^2.12.1",
- "node-pre-gyp": "^0.12.0"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "debug": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "glob": {
- "version": "7.1.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "minipass": {
- "version": "2.3.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.2.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "needle": {
- "version": "2.3.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "^4.1.0",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.12.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- }
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "npm-bundled": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.4.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.8",
- "bundled": true,
- "dev": true,
- "optional": true,
- "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",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "rimraf": {
- "version": "2.6.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "semver": {
- "version": "5.7.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.8",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.3.4",
- "minizlib": "^1.1.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "yallist": {
- "version": "3.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- }
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
}
},
"get-value": {
@@ -1918,10 +1784,46 @@
"is-glob": "^2.0.0"
}
},
+ "global-dirs": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
+ "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
+ "dev": true,
+ "requires": {
+ "ini": "2.0.0"
+ },
+ "dependencies": {
+ "ini": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
+ "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
+ "dev": true
+ }
+ }
+ },
+ "got": {
+ "version": "9.6.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
+ "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^0.14.0",
+ "@szmarczak/http-timer": "^1.1.2",
+ "cacheable-request": "^6.0.0",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^4.1.0",
+ "lowercase-keys": "^1.0.1",
+ "mimic-response": "^1.0.1",
+ "p-cancelable": "^1.0.0",
+ "to-readable-stream": "^1.0.0",
+ "url-parse-lax": "^3.0.0"
+ }
+ },
"graceful-fs": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz",
- "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==",
+ "version": "4.2.9",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
+ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
"dev": true
},
"has-binary": {
@@ -1937,6 +1839,12 @@
"resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
"integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
},
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
"has-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
@@ -1997,6 +1905,27 @@
}
}
},
+ "has-yarn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
+ "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
+ "dev": true
+ },
+ "html2canvas": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz",
+ "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
+ "requires": {
+ "css-line-break": "^2.1.0",
+ "text-segmentation": "^1.0.3"
+ }
+ },
+ "http-cache-semantics": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+ "dev": true
+ },
"http-errors": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
@@ -2010,9 +1939,9 @@
}
},
"i": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz",
- "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=",
+ "version": "0.3.7",
+ "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz",
+ "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==",
"dev": true
},
"iconv-lite": {
@@ -2023,6 +1952,24 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
+ "ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
+ "dev": true
+ },
+ "import-lazy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
+ "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
"indexof": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
@@ -2044,9 +1991,9 @@
"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==",
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
"ipaddr.js": {
@@ -2078,6 +2025,15 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -2106,6 +2062,11 @@
}
}
},
+ "is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="
+ },
"is-dotfile": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
@@ -2133,6 +2094,12 @@
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
"is-glob": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
@@ -2142,6 +2109,22 @@
"is-extglob": "^1.0.0"
}
},
+ "is-installed-globally": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
+ "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
+ "dev": true,
+ "requires": {
+ "global-dirs": "^3.0.0",
+ "is-path-inside": "^3.0.2"
+ }
+ },
+ "is-npm": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
+ "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==",
+ "dev": true
+ },
"is-number": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
@@ -2151,6 +2134,18 @@
"kind-of": "^3.0.2"
}
},
+ "is-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+ "dev": true
+ },
+ "is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true
+ },
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
@@ -2185,12 +2180,32 @@
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz",
"integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU="
},
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true
},
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "is-yarn-global": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
+ "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
+ "dev": true
+ },
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -2233,10 +2248,11 @@
"with": "~3.0.0"
}
},
- "jquery": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
- "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
+ "json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
+ "dev": true
},
"json3": {
"version": "3.3.2",
@@ -2249,6 +2265,15 @@
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true
},
+ "keyv": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
+ "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.0"
+ }
+ },
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
@@ -2258,12 +2283,61 @@
"is-buffer": "^1.1.5"
}
},
+ "latest-version": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
+ "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
+ "dev": true,
+ "requires": {
+ "package-json": "^6.3.0"
+ }
+ },
"lazy": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz",
"integrity": "sha1-2qBoIGKCVCwIgojpdcKXwa53tpA=",
"dev": true
},
+ "lowercase-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "lru-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+ "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
+ "requires": {
+ "es5-ext": "~0.10.2"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -2290,6 +2364,33 @@
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
+ "memoizee": {
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
+ "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
+ "requires": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.53",
+ "es6-weak-map": "^2.0.3",
+ "event-emitter": "^0.3.5",
+ "is-promise": "^2.2.2",
+ "lru-queue": "^0.1.0",
+ "next-tick": "^1.1.0",
+ "timers-ext": "^0.1.7"
+ },
+ "dependencies": {
+ "is-promise": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
+ },
+ "next-tick": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
+ }
+ }
+ },
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
@@ -2339,6 +2440,12 @@
"mime-db": "1.40.0"
}
},
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true
+ },
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -2350,7 +2457,8 @@
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
},
"mixin-deep": {
"version": "1.3.2",
@@ -2374,11 +2482,18 @@
}
},
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"requires": {
- "minimist": "0.0.8"
+ "minimist": "^1.2.5"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ }
}
},
"monocle": {
@@ -2401,9 +2516,9 @@
"dev": true
},
"nan": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
- "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
+ "version": "2.15.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
+ "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
"dev": true,
"optional": true
},
@@ -2439,9 +2554,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -2486,6 +2601,175 @@
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
+ },
+ "nodemon": {
+ "version": "2.0.15",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz",
+ "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.0.4",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5",
+ "update-notifier": "^5.1.0"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ }
+ },
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
"normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -2495,6 +2779,12 @@
"remove-trailing-separator": "^1.0.1"
}
},
+ "normalize-url": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
+ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
+ "dev": true
+ },
"nssocket": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/nssocket/-/nssocket-0.5.3.tgz",
@@ -2603,6 +2893,16 @@
"wrappy": "1"
}
},
+ "open": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
+ "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
+ "requires": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ }
+ },
"optimist": {
"version": "0.3.7",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
@@ -2616,6 +2916,32 @@
"resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
"integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8="
},
+ "p-cancelable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
+ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
+ "dev": true
+ },
+ "package-json": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
+ "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
+ "dev": true,
+ "requires": {
+ "got": "^9.6.0",
+ "registry-auth-token": "^4.0.0",
+ "registry-url": "^5.0.0",
+ "semver": "^6.2.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
"parse-glob": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
@@ -2674,6 +3000,12 @@
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true
+ },
"pkginfo": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
@@ -2686,6 +3018,12 @@
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
"dev": true
},
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+ "dev": true
+ },
"preserve": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
@@ -2709,9 +3047,9 @@
"dev": true
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
}
}
@@ -2761,11 +3099,41 @@
"event-stream": "~0.5"
}
},
+ "pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "pupa": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
+ "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
+ "dev": true,
+ "requires": {
+ "escape-goat": "^2.0.0"
+ }
+ },
"qs": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
},
+ "querystringify": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
+ },
"randomatic": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
@@ -2784,9 +3152,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -2814,6 +3182,32 @@
}
}
},
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "dev": true,
+ "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.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "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=",
+ "dev": true
+ }
+ }
+ },
"read": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
@@ -2824,9 +3218,9 @@
}
},
"readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
@@ -2878,6 +3272,57 @@
"safe-regex": "^1.1.0"
}
},
+ "registry-auth-token": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
+ "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==",
+ "dev": true,
+ "requires": {
+ "rc": "^1.2.8"
+ }
+ },
+ "registry-url": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
+ "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
+ "dev": true,
+ "requires": {
+ "rc": "^1.2.8"
+ }
+ },
+ "reload": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/reload/-/reload-3.2.0.tgz",
+ "integrity": "sha512-30iJoDvFHGbfq6tT3Vag/4RV3wkpuCOqPSM3GyeuOSSo48wKfZT/iI19oeO0GCVX0XSr+44XJ6yBiRJWqOq+sw==",
+ "requires": {
+ "cli-color": "~2.0.0",
+ "commander": "~7.2.0",
+ "finalhandler": "~1.1.1",
+ "minimist": "~1.2.0",
+ "open": "^8.0.0",
+ "serve-static": "~1.14.0",
+ "supervisor": "~0.12.0",
+ "url-parse": "~1.5.0",
+ "ws": "~7.4.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ },
+ "ws": {
+ "version": "7.4.6",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
+ "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A=="
+ }
+ }
+ },
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
@@ -2885,9 +3330,9 @@
"dev": true
},
"repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
+ "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
"dev": true
},
"repeat-string": {
@@ -2896,12 +3341,26 @@
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
+ },
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
+ "responselike": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^1.0.0"
+ }
+ },
"resumer": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
@@ -2956,6 +3415,29 @@
"resolved": "https://registry.npmjs.org/sanitizer/-/sanitizer-0.1.3.tgz",
"integrity": "sha1-1PCvdHXZp7ryqeWmEXGLqheKOeE="
},
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "semver-diff": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
+ "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
"send": {
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
@@ -3032,6 +3514,12 @@
"strip-json-comments": "~0.1.1"
}
},
+ "signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
+ },
"simplesets": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/simplesets/-/simplesets-1.2.0.tgz",
@@ -3135,9 +3623,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -3277,12 +3765,12 @@
}
},
"source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
"dev": true,
"requires": {
- "atob": "^2.1.1",
+ "atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
@@ -3290,9 +3778,9 @@
}
},
"source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
"dev": true
},
"split-string": {
@@ -3336,6 +3824,17 @@
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -3345,12 +3844,35 @@
"safe-buffer": "~5.1.0"
}
},
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
"strip-json-comments": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz",
"integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=",
"dev": true
},
+ "supervisor": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/supervisor/-/supervisor-0.12.0.tgz",
+ "integrity": "sha1-3n5jNwFbKRhRwQ81OMSn8EkX7ME="
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
"tape": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz",
@@ -3373,12 +3895,29 @@
}
}
},
+ "text-segmentation": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz",
+ "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
+ "requires": {
+ "utrie": "^1.0.2"
+ }
+ },
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
+ "timers-ext": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
+ "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
+ "requires": {
+ "es5-ext": "~0.10.46",
+ "next-tick": "1"
+ }
+ },
"timespan": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz",
@@ -3399,6 +3938,12 @@
"kind-of": "^3.0.2"
}
},
+ "to-readable-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
+ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
+ "dev": true
+ },
"to-regex": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
@@ -3437,6 +3982,15 @@
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
+ "touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dev": true,
+ "requires": {
+ "nopt": "~1.0.10"
+ }
+ },
"transformers": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz",
@@ -3458,6 +4012,17 @@
}
}
},
+ "type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
+ },
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -3467,6 +4032,20 @@
"mime-types": "~2.1.24"
}
},
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "typeface-inter": {
+ "version": "3.18.1",
+ "resolved": "https://registry.npmjs.org/typeface-inter/-/typeface-inter-3.18.1.tgz",
+ "integrity": "sha512-c+TBanYFCvmg3j5vPk+zxK4ocMZbPxMEmjnwG7rPQoV87xvQ6b07VbAOC0Va0XBbbZCGw6cWNeFuLeg1YQru3Q=="
+ },
"uglify-js": {
"version": "2.4.24",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz",
@@ -3506,6 +4085,12 @@
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
"integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
},
+ "undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
+ },
"union-value": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@@ -3518,6 +4103,15 @@
"set-value": "^2.0.1"
}
},
+ "unique-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+ "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^2.0.0"
+ }
+ },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -3575,12 +4169,63 @@
}
}
},
+ "update-notifier": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
+ "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
+ "dev": true,
+ "requires": {
+ "boxen": "^5.0.0",
+ "chalk": "^4.1.0",
+ "configstore": "^5.0.1",
+ "has-yarn": "^2.1.0",
+ "import-lazy": "^2.1.0",
+ "is-ci": "^2.0.0",
+ "is-installed-globally": "^0.4.0",
+ "is-npm": "^5.0.0",
+ "is-yarn-global": "^0.3.0",
+ "latest-version": "^5.1.0",
+ "pupa": "^2.1.1",
+ "semver": "^7.3.4",
+ "semver-diff": "^3.1.1",
+ "xdg-basedir": "^4.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
"dev": true
},
+ "url-parse": {
+ "version": "1.5.6",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.6.tgz",
+ "integrity": "sha512-xj3QdUJ1DttD1LeSfvJlU1eiF1RvBSBfUu8GplFGdUzSO28y5yUtEl7wb//PI4Af6qh0o/K8545vUmucRrfWsw==",
+ "requires": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "^2.0.0"
+ }
+ },
"use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
@@ -3620,11 +4265,35 @@
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
+ "utrie": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz",
+ "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
+ "requires": {
+ "base64-arraybuffer": "^1.0.2"
+ },
+ "dependencies": {
+ "base64-arraybuffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
+ "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
+ }
+ }
+ },
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
+ "widest-line": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
+ "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.0.0"
+ }
+ },
"window-size": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
@@ -3666,12 +4335,35 @@
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
},
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
+ "write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
"ws": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
@@ -3686,10 +4378,22 @@
"resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz",
"integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo="
},
+ "xdg-basedir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
+ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
+ "dev": true
+ },
"xmlhttprequest-ssl": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
- "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0="
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz",
+ "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q=="
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
},
"yargs": {
"version": "2.3.0",
diff --git a/package.json b/package.json
index 341ba9f..caf67d3 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,10 @@
{
"name": "scrumblr",
"description": "Web-based simulation of a physical agile sprint board that supports real-time collaboration.",
- "version": "0.2.1",
+ "version": "1.0.0",
+ "license": "AGPL-3.0",
"repository": {
- "url": "http://framagit.org/colibris/framemo"
+ "url": "https://framagit.org/colibris/framemo"
},
"author": "Ali Asaria",
"main": "server.js",
@@ -14,20 +15,33 @@
"node": "0.4.7"
},
"scripts": {
- "start": "node server.js"
+ "start": "nodemon server.js -e js,css,jade,json"
+ },
+ "nodemonConfig": {
+ "ignore": [
+ ".DS_Store",
+ " /.git/*",
+ "*.rdb",
+ "docs/*"
+ ]
},
"dependencies": {
"async": "~0.9.0",
+ "bootstrap-icons": "^1.8.1",
"compression": "^1.1.0",
"express": "4.x",
+ "html2canvas": "^1.4.1",
"jade": "~1.5.0",
"redis": "~0.12.1",
+ "reload": "^3.2.0",
"sanitizer": "~0.1.1",
"simplesets": "~1.2.0",
"socket.io": "1.x",
+ "typeface-inter": "^3.18.1",
"yargs": "~2.3.0"
},
"devDependencies": {
- "forever": "^0.15.3"
+ "forever": "^0.15.3",
+ "nodemon": "^2.0.15"
}
}
diff --git a/server.js b/server.js
index 4bd4967..6e83f74 100644
--- a/server.js
+++ b/server.js
@@ -3,8 +3,7 @@
SYSTEM INCLUDES
**************/
var http = require("http")
-// var sys = require('sys');
-var async = require("async")
+var reload = require('reload')
var sanitizer = require("sanitizer")
var compression = require("compression")
var express = require("express")
@@ -33,12 +32,22 @@ var router = express.Router()
app.use(compression())
app.use(conf.baseurl, router)
+router.use(express.static(__dirname + "/node_modules"))
router.use(express.static(__dirname + "/client"))
-var server = require("http").Server(app)
-server.listen(conf.port)
+var server = http.createServer(app)
-console.log("Server running at http://127.0.0.1:" + conf.port + "/")
+// Reload code here
+reload(app).then(function (reloadReturned) {
+ // reloadReturned is documented in the returns API in the README
+
+ // Reload started, start web server
+ server.listen(conf.port, function () {
+ console.log('Web server available on http://127.0.0.1:'+ conf.port )
+ })
+}).catch(function (err) {
+ console.error('Reload could not start, could not start server/sample app', err)
+})
/**************
SETUP Socket.IO
@@ -53,15 +62,14 @@ var io = require("socket.io")(server, {
router.get("/", function (req, res) {
//console.log(req.header('host'));
url = req.header("host") + req.baseUrl
-
var connected = io.sockets.connected
clientsCount = Object.keys(connected).length
-
res.render("home.jade", {
url: url,
headerBarUrl: headerBarUrl,
logoUrl: logoUrl,
- connected: clientsCount
+ connected: clientsCount,
+ home: true,
})
})
@@ -69,10 +77,10 @@ router.get("/demo", function (req, res) {
url = req.header("host") + req.baseUrl
res.render("index.jade", {
pageTitle: "Post-it - demo",
- headerBarUrl: headerBarUrl,
+ headerBarUrl: headerBarUrl,
logoUrl: logoUrl,
url: url,
- demo: true
+ demo: true,
})
})
@@ -80,12 +88,16 @@ router.get("/:id", function (req, res) {
url = req.header("host") + req.baseUrl
res.render("index.jade", {
pageTitle: "Post-it - " + req.params.id,
- headerBarUrl: headerBarUrl,
+ headerBarUrl: headerBarUrl,
logoUrl: logoUrl,
- url: url
+ url: url,
})
})
+router.get("/stats", function (req, res) {
+ console.log('TODO: stats')
+})
+
/**************
SOCKET.I0
**************/
diff --git a/views/home.jade b/views/home.jade
index 9c6fb58..910e508 100644
--- a/views/home.jade
+++ b/views/home.jade
@@ -12,9 +12,9 @@ block body
tr
td
form.home(onsubmit="return go();")
- label Nommez votre nouveau tableau :
+ label Créer/ouvrir un tableau intitulé :
br
input.text(type="text", name="name")
- a#go(onclick="return go();") Allons-y.
+ a#go(onclick="return go();") OK
p.home Exemple :
p.home!= '' + locals.url + '/demo'
diff --git a/views/index.jade b/views/index.jade
index 94a8c7b..9b5e549 100644
--- a/views/index.jade
+++ b/views/index.jade
@@ -1,22 +1,42 @@
extends layout
block header
- - if (locals.demo)
- div.notice-bar Tableau de démonstration.
N’y mettez rien d’important !
+ div#create-card.post-it-actions
+ a.add-post-it.add-white-card(href="#", data-color="white")
+ i.fa.fa-fw.fa-lg.fa-plus-circle(title='Ajouter une note blanche')
+ img(alt="blanc", src="images/white-card.png")
+ a.add-post-it.add-yellow-card(href="#", data-color="yellow")
+ i.fa.fa-fw.fa-lg.fa-plus-circle(title='Ajouter une note jaune')
+ img(alt="jaune", src="images/yellow-card.png")
+ a.add-post-it.add-green-card(href="#", data-color="green")
+ i.fa.fa-fw.fa-lg.fa-plus-circle(title='Ajouter une note verte')
+ img(alt="vert", src="images/green-card.png")
+ a.add-post-it.add-blue-card(href="#", data-color="blue")
+ i.fa.fa-fw.fa-lg.fa-plus-circle(title='Ajouter une note bleu')
+ img(alt="bleu", src="images/blue-card.png")
+ div.stickers
+ div.sticker#sticker-red(title='Glisser-déposer la pastille rouge')
+ div.sticker#sticker-blue(title='Glisser-déposer la pastille bleue')
+ div.sticker#sticker-yellow(title='Glisser-déposer la pastille jaune')
+ div.sticker#sticker-green(title='Glisser-déposer la pastille verte')
+ div.sticker#sticker-pink(title='Glisser-déposer la pastille rose')
+ div.sticker#sticker-lightblue(title='Glisser-déposer la pastille bleu clair')
+ div.sticker#sticker-orange(title='Glisser-déposer la pastille orange')
+ div.sticker#sticker-purple(title='Glisser-déposer la pastille violette')
+ br
+ div.sticker#sticker-gold(title='Glisser-déposer une étoile dorée')
+ div.sticker#sticker-bluestar(title='Glisser-déposer une étoile bleue')
+ div.sticker#sticker-silverstar(title='Glisser-déposer une étoile argentée')
+ div.sticker#sticker-redstar(title='Glisser-déposer une étoile rouge')
+ div.sticker#nosticker(title='Supprimer les pastilles ou les étoiles d\'une note')
div.actions
- a#share-link(href="#share", aria-controls="share", title="Partager le tableau")
- i.fa.fa-fw.fa-lg.fa-share-alt
- span Partager
- a#revisions-link(href="#revisions", aria-controls="revisions", title="Révisions")
- i.fa.fa-fw.fa-lg.fa-exchange
- span Révisions
- a#smallify(href="javascript:void(0);", title="Réduire la taille des post-it")
+ a#smallify(href="#size", title="Changer la taille des post-it")
i.fa.fa-fw.fa-lg.fa-search-plus
- span.big Grands Post-it
- span.small Petits Post-it
- a#full-page(href="javascript:void(0);", aria-hidden="true", title="Plein écran")
+ a#full-page(href="#fullscreen", aria-hidden="true", title="Plein écran")
i.fa.fa-fw.fa-lg.fa-expand
- span.full-screen Plein écran
- span.contain-screen Réduire
+ a.toggle-nav(href="#share",aria-hidden="true", title="Partager le tableau")
+ i.fa.fa-fw.fa-lg.fa-share-alt
+ a.toggle-nav(href="#settings", aria-hidden="true", title="Options")
+ i.fa.fa-fw.fa-lg.fa-cog
block body
div.container
@@ -30,87 +50,8 @@ block body
image#add-col.col-icon(width='20', height='20', src='images/icons/iconic/raster/black/plus_alt_32x32.png' alt='Ajouter une colonne')
image#delete-col.col-icon(width='20', height='20', src='images/icons/iconic/raster/black/minus_alt_32x32.png' alt='Supprimer une colonne')
- div.container
- div.buttons
- i#create-card.fa.fa-plus-circle.fa-2x.bottom-icon(title='Ajouter une note')
- span Ajouter un Post-it
- div.form-group
- label.control-label(for='choose-card-color') Couleur
- select#choose-card-color.form-control
- option(value='random') Au hasard
- option(value='yellow') Jaune
- option(value='green') Vert
- option(value='blue') Bleu
- option(value='white') Blanc
-
-
- div.stickers
- div.sticker#sticker-red(title='Ajouter une pastille rouge')
- div.sticker#sticker-blue(title='Ajouter une pastille bleue')
- div.sticker#sticker-yellow(title='Ajouter une pastille jaune')
- div.sticker#sticker-green(title='Ajouter une pastille verte')
- br
- div.sticker#sticker-pink(title='Ajouter une pastille rose')
- div.sticker#sticker-lightblue(title='Ajouter une pastille bleu clair')
- div.sticker#sticker-orange(title='Ajouter une pastille orange')
- div.sticker#sticker-purple(title='Ajouter une pastille violette')
- br
- div.sticker#sticker-gold(title='Ajouter une étoile dorée')
- div.sticker#sticker-bluestar(title='Ajouter une étoile bleue')
- div.sticker#sticker-silverstar(title='Ajouter une étoile argentée')
- div.sticker#sticker-redstar(title='Ajouter une étoile rouge')
- br
- div.sticker#nosticker(title='Supprimer les pastilles ou les étoiles d\'une note')
-
-
- div.names
- p connectés :
- input#yourname-input
- span.you-text (vous)
- ul#names-ul
-
- div#share.modal
- div.modal-content
- div.header
- a#close(href="#")
- div.box.box3
-
- h2 Partager le tableau
- div.copy
- div.form-inline
- div.input-group
- input#taburl.form-control(disabled='disabled')
- div.input-group-addon
- a#copyurl(href='#', title='Copier l\'adresse du tableau dans votre presse-papier')
- i.fa.fa-clipboard
- a(href="#")
- div.overlay
-
- div#revisions.modal
- div.modal-content
- div.header
- a#close(href="#")
- div.box.box3
-
- h2 Révisions - Import/Export
- div.copy
- div.revisions
- h3 Révisions
- button#create-revision.btn.btn-primary Créer une révision
- div
- ul#revisions-list
- div.export
- h3 Exporter le tableau
- button#export-txt.btn.btn-primary Format texte
- button#export-csv.btn.btn-primary Format CSV
- button#export-json.btn.btn-primary Format JSON (pour import dans Post-it)
-
- div.import
- h3 Importer un tableau
- div.form-inline
- div.form-group
- label(for="import-input") Fichier JSON à importer
- input(type="file")#import-input.form-control
- button#import-file.btn.btn-primary Importer
- a(href="#")
- div.overlay
\ No newline at end of file
+ div.names
+ p connectés :
+ input#yourname-input
+ span.you-text (vous)
+ ul#names-ul
\ No newline at end of file
diff --git a/views/layout.jade b/views/layout.jade
index a1a788c..adfddba 100644
--- a/views/layout.jade
+++ b/views/layout.jade
@@ -1,49 +1,106 @@
doctype html
html(lang="fr")
head
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ link(href="css/font-awesome.min.css", rel="stylesheet")
+ link(href="bootstrap-icons/font/bootstrap-icons.css", rel="stylesheet")
+ link(rel="stylesheet", type="text/css", href="css/style.css")
+ link(rel="stylesheet" title="cardsize", href="css/bigcards.css", type="text/css", media="all")
if locals.faviconUrl
- link(rel="icon" type="image/png" href=locals.faviconUrl)
+ link(rel="icon", type="image/png", href=locals.faviconUrl)
else
- link(rel="icon" type="image/png" href="/images/favicon.png")
-
+ link(rel="icon", type="image/png", href="/images/favicon.png")
title= locals.pageTitle
-
body
- div#header-bar(data-url=locals.headerBarUrl)
- header.container.main-header
- div.title
- a(href="//" + locals.url, title="Retour à la page d'accueil")
- if locals.logoUrl
- img.logo(src=locals.logoUrl, alt="logo Post-it")
- else
- img.logo(src="images/logo-Post-it.svg", alt="logo Post-it")
- div.base-line Organiser ses idées collectivement
- block header
- main
- block body
- div.clearfix
- footer.container
- block footer
- div.credits Logiciel libre basé sur Framemo et Scrumblr - Code source
+ div#site-wrapper
+ div#site-canvas
+ div#site-menu
+ a.toggle-nav.pull-right.close-link(href="#") Fermer
+ i.fa.fa-times
+
+ div#share
+ div.copy
+ h2 Partager le tableau
+ h3 par lien
+ div.form-inline
+ div.input-group
+ input.replace-url.form-control(disabled='disabled')
+ div.input-group-addon
+ a.copyurl(href='#', title='Copier l\'adresse du tableau dans votre presse-papier')
+ i.fa.fa-clipboard
+ h3 en iframe HTML
+ div.form-inline
+ div.input-group
+ textarea.share-iframe.form-control(disabled='disabled', name="html-widget", cols="30", rows="3")
+ <iframe src="{{replace-url}}" width="100%" height="600" frameborder="0"></iframe>
+ div.input-group-addon
+ a#copyurl(href='#', title='Copier l\'adresse du tableau dans votre presse-papier')
+ i.fa.fa-clipboard
+ div.export
+ h2 Exporter le tableau
+ button#export-txt.btn.btn-primary Format texte
+ button#export-csv.btn.btn-primary Format CSV
+ button#export-json.btn.btn-primary Format JSON (pour import dans Post-it)
+
+ div#settings
+ h2 Image de fond
+ div.backgrounds
+ img.bg(src="images/backgrounds/lagune.jpg", alt="lagune")
+ img.bg(src="images/backgrounds/canoe.jpg", alt="canoe")
+ img.bg(src="images/backgrounds/ciel.jpg", alt="ciel")
+ img.bg(src="images/backgrounds/contreplaque.jpg", alt="contreplaque")
+ img.bg(src="images/backgrounds/muscaris.jpg", alt="muscaris")
+ img.bg(src="images/backgrounds/nuagesoir.jpg", alt="nuagesoir")
+ img.bg(src="images/backgrounds/osier.jpg", alt="osier")
+ img.bg(src="images/backgrounds/planches.jpg", alt="planches")
+ img.bg(src="images/backgrounds/ardoise.jpg", alt="ardoise")
+ img.bg(src="images/backgrounds/clouds.jpg", alt="clouds")
+ img.bg(src="images/backgrounds/crab.jpg", alt="crab")
+ img.bg(src="images/backgrounds/ecorces.jpg", alt="ecorces")
+ img.bg(src="images/backgrounds/kiwi.jpg", alt="kiwi")
+ img.bg(src="images/backgrounds/plants.jpg", alt="plants")
+ img.bg(src="images/backgrounds/straw.jpg", alt="straw")
+ img.bg(src="images/backgrounds/textile.jpg", alt="textile")
+ img.bg(src="images/backgrounds/trees.jpg", alt="trees")
+ img.bg(src="images/backgrounds/yellow-bamboos.jpg", alt="yellow-bamboos")
+ input.bgurl.form-control(type="url", placeholder="URL vers image de fond", name="bgurl")
+ div.revisions
+ h2 Révisions
+ button#create-revision.btn.btn-primary Créer une révision
+ div
+ ul#revisions-list
+ div.import
+ h2 Importer un tableau
+ div.form-inline
+ div.form-group
+ label(for="import-input") Fichier JSON à importer
+ input(type="file")#import-input.form-control
+ button#import-file.btn.btn-primary Importer
+ div#header-bar(data-url=locals.headerBarUrl)
+ header.container.main-header
+ div.title
+ a(href="/", title="Retour à la page d'accueil")
+ if locals.logoUrl
+ img.logo(src=locals.logoUrl, alt="logo Post-it")
+ else
+ img.logo(src="images/logo-Post-it.svg", alt="logo Post-it")
+ if (locals.home === true)
+ div.base-line Organiser ses idées collectivement
+ if (locals.demo === true)
+ div.base-line Tableau de démonstration.
N’y mettez rien d’important !
+ block header
+ main
+ block body
+ div.clearfix
+ footer.container
+ block footer
+ div.credits Logiciel libre basé sur Framemo et Scrumblr - Code source
+ script(src="/reload/reload.js")
+ script(src="lib/jquery.min.js")
+ script(src="lib/jquery-ui.min.js")
+ script(src="lib/jquery.ui.touch-punch.min.js")
+ script(src="lib/jquery.jeditable.js")
+ script(src="lib/jquery.blockUI.js")
+ script(src="lib/marked.min.js")
+ script(src="lib/moment-with-locales.min.js")
+ script(src="socket.io/socket.io.js")
+ script(src="script.js")
\ No newline at end of file