Bump most deps (#4453)
This commit is contained in:
parent
f07d6b1ea4
commit
d228a8c4f4
@ -69,6 +69,7 @@ rules:
|
|||||||
vue/no-v-html: off
|
vue/no-v-html: off
|
||||||
vue/require-default-prop: off
|
vue/require-default-prop: off
|
||||||
vue/v-slot-style: [error, longform]
|
vue/v-slot-style: [error, longform]
|
||||||
|
vue/multi-word-component-names: off
|
||||||
|
|
||||||
plugins:
|
plugins:
|
||||||
- vue
|
- vue
|
||||||
@ -77,4 +78,3 @@ extends:
|
|||||||
- eslint:recommended
|
- eslint:recommended
|
||||||
- plugin:vue/recommended
|
- plugin:vue/recommended
|
||||||
- prettier
|
- prettier
|
||||||
- prettier/vue
|
|
||||||
|
@ -13,3 +13,7 @@ rules:
|
|||||||
property-no-vendor-prefix: true
|
property-no-vendor-prefix: true
|
||||||
selector-no-vendor-prefix: true
|
selector-no-vendor-prefix: true
|
||||||
value-no-vendor-prefix: true
|
value-no-vendor-prefix: true
|
||||||
|
|
||||||
|
# renaming would break existing themes
|
||||||
|
selector-class-pattern: null
|
||||||
|
selector-id-pattern: null
|
||||||
|
2
client/css/fontawesome.css
vendored
2
client/css/fontawesome.css
vendored
@ -1,6 +1,6 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
/* We use free solid icons - https://fontawesome.com/icons?s=solid&m=free */
|
/* We use free solid icons - https://fontawesome.com/icons?s=solid&m=free */
|
||||||
font-family: "FontAwesome";
|
font-family: FontAwesome;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
src:
|
src:
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
--button-text-color-hover: #fff;
|
--button-text-color-hover: #fff;
|
||||||
|
|
||||||
/* Color for sidebar overlay and other things that dim the viewport when something else is on top */
|
/* Color for sidebar overlay and other things that dim the viewport when something else is on top */
|
||||||
--overlay-bg-color: rgba(0, 0, 0, 0.5);
|
--overlay-bg-color: rgb(0 0 0 / 50%);
|
||||||
|
|
||||||
/* Links and link-looking buttons */
|
/* Links and link-looking buttons */
|
||||||
--link-color: #50a656;
|
--link-color: #50a656;
|
||||||
@ -29,10 +29,10 @@
|
|||||||
--window-heading-color: #6c797a;
|
--window-heading-color: #6c797a;
|
||||||
|
|
||||||
/* Color of the date marker, text and separator */
|
/* Color of the date marker, text and separator */
|
||||||
--date-marker-color: rgba(0, 107, 59, 0.5);
|
--date-marker-color: rgb(0 107 59 / 50%);
|
||||||
|
|
||||||
/* Color of the unread message marker, text and separator */
|
/* Color of the unread message marker, text and separator */
|
||||||
--unread-marker-color: rgba(231, 76, 60, 0.5);
|
--unread-marker-color: rgb(231 76 60 / 50%);
|
||||||
|
|
||||||
/* Background and left-border color of highlight messages */
|
/* Background and left-border color of highlight messages */
|
||||||
--highlight-bg-color: #efe8dc;
|
--highlight-bg-color: #efe8dc;
|
||||||
@ -43,7 +43,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
::placeholder {
|
::placeholder {
|
||||||
color: rgba(0, 0, 0, 0.35);
|
color: rgb(0 0 0 / 35%);
|
||||||
opacity: 1; /* fix opacity in Firefox */
|
opacity: 1; /* fix opacity in Firefox */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,7 +168,7 @@ pre {
|
|||||||
padding: 9.5px;
|
padding: 9.5px;
|
||||||
margin: 0 0 10px;
|
margin: 0 0 10px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 1.42857143;
|
line-height: 1.4286;
|
||||||
color: #333;
|
color: #333;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
@ -187,7 +187,7 @@ kbd {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: 0 1px 0 #fff;
|
text-shadow: 0 1px 0 #fff;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.05), transparent);
|
background-image: linear-gradient(180deg, rgb(0 0 0 / 5%), transparent);
|
||||||
border: 1px solid #bbb;
|
border: 1px solid #bbb;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
box-shadow: 0 2px 0 #bbb, inset 0 1px 1px #fff, inset 0 -1px 3px #ccc;
|
box-shadow: 0 2px 0 #bbb, inset 0 1px 1px #fff, inset 0 -1px 3px #ccc;
|
||||||
@ -229,7 +229,7 @@ p {
|
|||||||
.btn:active,
|
.btn:active,
|
||||||
.btn:focus {
|
.btn:focus {
|
||||||
outline: 0;
|
outline: 0;
|
||||||
box-shadow: 0 0 0 3px rgba(132, 206, 136, 0.5);
|
box-shadow: 0 0 0 3px rgb(132 206 136 / 50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn:active {
|
.btn:active {
|
||||||
@ -379,14 +379,18 @@ p {
|
|||||||
|
|
||||||
.context-menu-query::before,
|
.context-menu-query::before,
|
||||||
.context-menu-action-query::before,
|
.context-menu-action-query::before,
|
||||||
.channel-list-item[data-type="query"]::before { content: "\f075"; /* https://fontawesome.com/icons/comment?style=solid */ }
|
.channel-list-item[data-type="query"]::before {
|
||||||
|
content: "\f075"; /* https://fontawesome.com/icons/comment?style=solid */
|
||||||
|
}
|
||||||
|
|
||||||
.context-menu-chan::before,
|
.context-menu-chan::before,
|
||||||
.channel-list-item[data-type="channel"]::before { content: "\f086"; /* http://fontawesome.io/icon/comments/ */ }
|
.channel-list-item[data-type="channel"]::before { content: "\f086"; /* http://fontawesome.io/icon/comments/ */ }
|
||||||
|
|
||||||
.channel-list-item[data-type="special"]::before { content: "\f03a"; /* http://fontawesome.io/icon/list/ */ }
|
.channel-list-item[data-type="special"]::before { content: "\f03a"; /* http://fontawesome.io/icon/list/ */ }
|
||||||
|
|
||||||
.channel-list-item.has-draft:not(.active):not([data-type="lobby"])::before { content: "\f304"; /* https://fontawesome.com/icons/pen?style=solid */ }
|
.channel-list-item.has-draft:not(.active):not([data-type="lobby"])::before {
|
||||||
|
content: "\f304"; /* https://fontawesome.com/icons/pen?style=solid */
|
||||||
|
}
|
||||||
|
|
||||||
#footer .connect::before { content: "\f067"; /* http://fontawesome.io/icon/plus/ */ }
|
#footer .connect::before { content: "\f067"; /* http://fontawesome.io/icon/plus/ */ }
|
||||||
#footer .settings::before { content: "\f013"; /* http://fontawesome.io/icon/cog/ */ }
|
#footer .settings::before { content: "\f013"; /* http://fontawesome.io/icon/cog/ */ }
|
||||||
@ -702,7 +706,7 @@ p {
|
|||||||
background on hover (unless active) */
|
background on hover (unless active) */
|
||||||
.channel-list-item:hover,
|
.channel-list-item:hover,
|
||||||
#footer button:hover {
|
#footer button:hover {
|
||||||
background-color: rgba(48, 62, 74, 0.5); /* #303e4a x 50% alpha */
|
background-color: rgb(48 62 74 / 50%); /* #303e4a x 50% alpha */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Darker background and defualt cursor for active channels */
|
/* Darker background and defualt cursor for active channels */
|
||||||
@ -828,7 +832,7 @@ background on hover (unless active) */
|
|||||||
}
|
}
|
||||||
|
|
||||||
.channel-list-item .badge {
|
.channel-list-item .badge {
|
||||||
background: rgba(255, 255, 255, 0.06);
|
background: rgb(255 255 255 / 6%);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
color: #afb6c0;
|
color: #afb6c0;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
@ -1020,7 +1024,7 @@ textarea.input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.window h2 {
|
.window h2 {
|
||||||
border-bottom: 1px solid currentColor;
|
border-bottom: 1px solid currentcolor;
|
||||||
color: var(--window-heading-color);
|
color: var(--window-heading-color);
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
margin: 30px 0 10px;
|
margin: 30px 0 10px;
|
||||||
@ -1209,10 +1213,7 @@ textarea.input {
|
|||||||
|
|
||||||
#sidebar .join-form .input {
|
#sidebar .join-form .input {
|
||||||
display: block;
|
display: block;
|
||||||
margin-left: auto;
|
margin: 5px auto;
|
||||||
margin-right: auto;
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#sidebar .join-form .btn {
|
#sidebar .join-form .btn {
|
||||||
@ -1261,7 +1262,7 @@ textarea.input {
|
|||||||
border: 2px solid var(--button-color);
|
border: 2px solid var(--button-color);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
transition: background 0.2s, color 0.2s;
|
transition: background 0.2s, color 0.2s;
|
||||||
box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.15);
|
box-shadow: 0 6px 10px 0 rgb(0 0 0 / 15%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-down:hover .scroll-down-arrow {
|
.scroll-down:hover .scroll-down-arrow {
|
||||||
@ -1591,7 +1592,7 @@ textarea.input {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
box-shadow: 0 1px 3px rgb(0 0 0 / 20%);
|
||||||
display: inline-flex !important;
|
display: inline-flex !important;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
@ -1928,7 +1929,7 @@ part/quit messages where we don't load previews (adds a blank line otherwise) */
|
|||||||
|
|
||||||
#settings .settings-sync-panel .btn:active,
|
#settings .settings-sync-panel .btn:active,
|
||||||
#settings .settings-sync-panel .btn:focus {
|
#settings .settings-sync-panel .btn:focus {
|
||||||
box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
|
box-shadow: 0 0 0 3px rgb(0 123 255 / 50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
#settings .apple-push-unsupported a {
|
#settings .apple-push-unsupported a {
|
||||||
@ -2083,7 +2084,7 @@ part/quit messages where we don't load previews (adds a blank line otherwise) */
|
|||||||
|
|
||||||
.window#changelog h3 {
|
.window#changelog h3 {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
border-bottom: 1px solid currentColor;
|
border-bottom: 1px solid currentcolor;
|
||||||
color: var(--window-heading-color);
|
color: var(--window-heading-color);
|
||||||
margin: 30px 0 10px;
|
margin: 30px 0 10px;
|
||||||
padding-bottom: 7px;
|
padding-bottom: 7px;
|
||||||
@ -2282,8 +2283,8 @@ part/quit messages where we don't load previews (adds a blank line otherwise) */
|
|||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
|
box-shadow: 0 3px 12px rgb(0 0 0 / 15%);
|
||||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
border: 1px solid rgb(0 0 0 / 15%);
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
@ -2291,7 +2292,7 @@ part/quit messages where we don't load previews (adds a blank line otherwise) */
|
|||||||
.context-menu-divider {
|
.context-menu-divider {
|
||||||
height: 1px;
|
height: 1px;
|
||||||
margin: 6px 0;
|
margin: 6px 0;
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
background-color: rgb(0 0 0 / 10%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.context-menu-item,
|
.context-menu-item,
|
||||||
@ -2312,7 +2313,7 @@ part/quit messages where we don't load previews (adds a blank line otherwise) */
|
|||||||
.textcomplete-item:hover,
|
.textcomplete-item:hover,
|
||||||
.textcomplete-menu .active,
|
.textcomplete-menu .active,
|
||||||
#chat .userlist .user.active {
|
#chat .userlist .user.active {
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
background-color: rgb(0 0 0 / 10%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.context-menu-item::before,
|
.context-menu-item::before,
|
||||||
@ -2653,7 +2654,7 @@ part/quit messages where we don't load previews (adds a blank line otherwise) */
|
|||||||
|
|
||||||
#viewport.menu-open #sidebar,
|
#viewport.menu-open #sidebar,
|
||||||
#viewport.menu-dragging #sidebar {
|
#viewport.menu-dragging #sidebar {
|
||||||
box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.5);
|
box-shadow: 0 0 25px 0 rgb(0 0 0 / 50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
#viewport.menu-open #sidebar-overlay,
|
#viewport.menu-open #sidebar-overlay,
|
||||||
@ -2770,20 +2771,20 @@ part/quit messages where we don't load previews (adds a blank line otherwise) */
|
|||||||
|
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
width: 8px;
|
width: 8px;
|
||||||
background-color: rgba(0, 0, 0, 0);
|
background-color: rgb(0 0 0 / 0%);
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar:hover {
|
::-webkit-scrollbar:hover {
|
||||||
background-color: rgba(0, 0, 0, 0.09);
|
background-color: rgb(0 0 0 / 9%);
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-thumb:vertical {
|
::-webkit-scrollbar-thumb:vertical {
|
||||||
background: rgba(0, 0, 0, 0.5);
|
background: rgb(0 0 0 / 50%);
|
||||||
border-radius: 100px;
|
border-radius: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-thumb:vertical:active {
|
::-webkit-scrollbar-thumb:vertical:active {
|
||||||
background: rgba(0, 0, 0, 0.6);
|
background: rgb(0 0 0 / 60%);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Image viewer and drag-and-drop overlay */
|
/* Image viewer and drag-and-drop overlay */
|
||||||
@ -2825,7 +2826,7 @@ part/quit messages where we don't load previews (adds a blank line otherwise) */
|
|||||||
|
|
||||||
#confirm-dialog-overlay,
|
#confirm-dialog-overlay,
|
||||||
#image-viewer {
|
#image-viewer {
|
||||||
background: rgba(0, 0, 0, 0.9);
|
background: rgb(0 0 0 / 90%);
|
||||||
}
|
}
|
||||||
|
|
||||||
#image-viewer .close-btn,
|
#image-viewer .close-btn,
|
||||||
@ -2888,7 +2889,7 @@ part/quit messages where we don't load previews (adds a blank line otherwise) */
|
|||||||
background-position: 0 0, 10px 10px;
|
background-position: 0 0, 10px 10px;
|
||||||
background-size: 20px 20px;
|
background-size: 20px 20px;
|
||||||
background-image:
|
background-image:
|
||||||
linear-gradient(45deg, #eee 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 75%, #eee 75%, #eee 100%),
|
linear-gradient(45deg, #eee 25%, rgb(0 0 0 / 0%) 25%, rgb(0 0 0 / 0%) 75%, #eee 75%, #eee 100%),
|
||||||
linear-gradient(45deg, #eee 25%, #fff 25%, #fff 75%, #eee 75%, #eee 100%);
|
linear-gradient(45deg, #eee 25%, #fff 25%, #fff 75%, #eee 75%, #eee 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const matchFormatting = /\x02|\x1D|\x1F|\x16|\x0F|\x11|\x1E|\x03(?:[0-9]{1,2}(?:,[0-9]{1,2})?)?|\x04(?:[0-9a-f]{6}(?:,[0-9a-f]{6})?)?/gi;
|
const matchFormatting =
|
||||||
|
/\x02|\x1D|\x1F|\x16|\x0F|\x11|\x1E|\x03(?:[0-9]{1,2}(?:,[0-9]{1,2})?)?|\x04(?:[0-9a-f]{6}(?:,[0-9a-f]{6})?)?/gi;
|
||||||
|
|
||||||
module.exports = (message) => message.replace(matchFormatting, "").trim();
|
module.exports = (message) => message.replace(matchFormatting, "").trim();
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
.window {
|
.window {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
box-shadow: 0 0 25px rgba(0, 0, 0, 0.5);
|
box-shadow: 0 0 25px rgb(0 0 0 / 50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@import 'default.css';
|
@import "default.css";
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--body-color: #f3f3f3;
|
--body-color: #f3f3f3;
|
||||||
@ -13,7 +13,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
scrollbar-color: rgba(0, 0, 0, 0.3) rgba(0, 0, 0, 0.05);
|
scrollbar-color: rgb(0 0 0 / 30%) rgb(0 0 0 / 5%);
|
||||||
}
|
}
|
||||||
|
|
||||||
#chat .chat-view[data-type="channel"] .msg.highlight .time {
|
#chat .chat-view[data-type="channel"] .msg.highlight .time {
|
||||||
@ -107,7 +107,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.window {
|
.window {
|
||||||
box-shadow: 0 0 25px rgba(0, 0, 0, 0.75);
|
box-shadow: 0 0 25px rgb(0 0 0 / 75%);
|
||||||
}
|
}
|
||||||
|
|
||||||
#viewport .lt,
|
#viewport .lt,
|
||||||
@ -146,7 +146,7 @@ kbd {
|
|||||||
text-shadow: 0 -1px 0 #000;
|
text-shadow: 0 -1px 0 #000;
|
||||||
border-color: #000;
|
border-color: #000;
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
background-image: linear-gradient(rgba(0, 0, 0, 0.25), transparent);
|
background-image: linear-gradient(rgb(0 0 0 / 25%), transparent);
|
||||||
box-shadow: 0 2px 0 #000, inset 0 1px 1px #777, inset 0 -1px 3px #222;
|
box-shadow: 0 2px 0 #000, inset 0 1px 1px #777, inset 0 -1px 3px #222;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
56
package.json
56
package.json
@ -16,7 +16,7 @@
|
|||||||
"coverage": "run-s test:* && nyc --nycrc-path=test/.nycrc-report.json report",
|
"coverage": "run-s test:* && nyc --nycrc-path=test/.nycrc-report.json report",
|
||||||
"dev": "node index start --dev",
|
"dev": "node index start --dev",
|
||||||
"format:prettier": "prettier --write \"**/*.*\"",
|
"format:prettier": "prettier --write \"**/*.*\"",
|
||||||
"lint:check-eslint": "eslint --print-config .eslintrc.yml | eslint-config-prettier-check",
|
"lint:check-eslint": "eslint-config-prettier .eslintrc.yml",
|
||||||
"lint:eslint": "eslint . --ext .js,.vue --report-unused-disable-directives --color",
|
"lint:eslint": "eslint . --ext .js,.vue --report-unused-disable-directives --color",
|
||||||
"lint:prettier": "prettier --list-different \"**/*.*\"",
|
"lint:prettier": "prettier --list-different \"**/*.*\"",
|
||||||
"lint:stylelint": "stylelint --color \"client/**/*.css\"",
|
"lint:stylelint": "stylelint --color \"client/**/*.css\"",
|
||||||
@ -44,9 +44,9 @@
|
|||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"chalk": "4.1.2",
|
"chalk": "4.1.2",
|
||||||
"cheerio": "1.0.0-rc.10",
|
"cheerio": "1.0.0-rc.10",
|
||||||
"commander": "7.2.0",
|
"commander": "9.0.0",
|
||||||
"content-disposition": "0.5.3",
|
"content-disposition": "0.5.4",
|
||||||
"express": "4.17.1",
|
"express": "4.17.2",
|
||||||
"file-type": "16.5.3",
|
"file-type": "16.5.3",
|
||||||
"filenamify": "4.3.0",
|
"filenamify": "4.3.0",
|
||||||
"got": "11.8.3",
|
"got": "11.8.3",
|
||||||
@ -56,13 +56,13 @@
|
|||||||
"linkify-it": "3.0.3",
|
"linkify-it": "3.0.3",
|
||||||
"lodash": "4.17.21",
|
"lodash": "4.17.21",
|
||||||
"mime-types": "2.1.34",
|
"mime-types": "2.1.34",
|
||||||
"node-forge": "0.10.0",
|
"node-forge": "1.2.1",
|
||||||
"package-json": "7.0.0",
|
"package-json": "7.0.0",
|
||||||
"read": "1.0.7",
|
"read": "1.0.7",
|
||||||
"read-chunk": "3.2.0",
|
"read-chunk": "3.2.0",
|
||||||
"semver": "7.3.5",
|
"semver": "7.3.5",
|
||||||
"socket.io": "3.1.2",
|
"socket.io": "4.4.1",
|
||||||
"tlds": "1.226.0",
|
"tlds": "1.228.0",
|
||||||
"ua-parser-js": "1.0.2",
|
"ua-parser-js": "1.0.2",
|
||||||
"uuid": "8.3.2",
|
"uuid": "8.3.2",
|
||||||
"web-push": "3.4.5",
|
"web-push": "3.4.5",
|
||||||
@ -72,41 +72,41 @@
|
|||||||
"sqlite3": "https://github.com/mapbox/node-sqlite3#918052b538b0effe6c4a44c74a16b2749c08a0d2"
|
"sqlite3": "https://github.com/mapbox/node-sqlite3#918052b538b0effe6c4a44c74a16b2749c08a0d2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "7.16.0",
|
"@babel/core": "7.16.12",
|
||||||
"@babel/preset-env": "7.16.4",
|
"@babel/preset-env": "7.16.11",
|
||||||
"@fortawesome/fontawesome-free": "5.15.4",
|
"@fortawesome/fontawesome-free": "5.15.4",
|
||||||
"@vue/server-test-utils": "1.3.0",
|
"@vue/server-test-utils": "1.3.0",
|
||||||
"@vue/test-utils": "1.3.0",
|
"@vue/test-utils": "1.3.0",
|
||||||
"babel-loader": "8.2.3",
|
"babel-loader": "8.2.3",
|
||||||
"babel-plugin-istanbul": "6.1.1",
|
"babel-plugin-istanbul": "6.1.1",
|
||||||
"chai": "4.3.4",
|
"chai": "4.3.6",
|
||||||
"copy-webpack-plugin": "7.0.0",
|
"copy-webpack-plugin": "10.2.4",
|
||||||
"css-loader": "6.5.1",
|
"css-loader": "6.5.1",
|
||||||
"cssnano": "5.0.12",
|
"cssnano": "5.0.16",
|
||||||
"dayjs": "1.10.7",
|
"dayjs": "1.10.7",
|
||||||
"emoji-regex": "9.2.2",
|
"emoji-regex": "9.2.2",
|
||||||
"eslint": "7.32.0",
|
"eslint": "8.8.0",
|
||||||
"eslint-config-prettier": "6.15.0",
|
"eslint-config-prettier": "8.3.0",
|
||||||
"eslint-plugin-vue": "7.20.0",
|
"eslint-plugin-vue": "8.4.0",
|
||||||
"fuzzy": "0.1.3",
|
"fuzzy": "0.1.3",
|
||||||
"husky": "4.3.8",
|
"husky": "4.3.8",
|
||||||
"mini-css-extract-plugin": "2.4.5",
|
"mini-css-extract-plugin": "2.5.3",
|
||||||
"mocha": "9.1.3",
|
"mocha": "9.2.0",
|
||||||
"mousetrap": "1.6.5",
|
"mousetrap": "1.6.5",
|
||||||
"normalize.css": "8.0.1",
|
"normalize.css": "8.0.1",
|
||||||
"npm-run-all": "4.1.5",
|
"npm-run-all": "4.1.5",
|
||||||
"nyc": "15.1.0",
|
"nyc": "15.1.0",
|
||||||
"postcss": "8.4.4",
|
"postcss": "8.4.5",
|
||||||
"postcss-import": "14.0.2",
|
"postcss-import": "14.0.2",
|
||||||
"postcss-loader": "6.2.1",
|
"postcss-loader": "6.2.1",
|
||||||
"postcss-preset-env": "7.0.1",
|
"postcss-preset-env": "7.3.0",
|
||||||
"prettier": "2.2.1",
|
"prettier": "2.5.1",
|
||||||
"pretty-quick": "3.1.2",
|
"pretty-quick": "3.1.3",
|
||||||
"primer-tooltips": "2.0.0",
|
"primer-tooltips": "2.0.0",
|
||||||
"sinon": "12.0.1",
|
"sinon": "13.0.0",
|
||||||
"socket.io-client": "3.1.3",
|
"socket.io-client": "4.4.1",
|
||||||
"stylelint": "13.13.1",
|
"stylelint": "14.3.0",
|
||||||
"stylelint-config-standard": "20.0.0",
|
"stylelint-config-standard": "24.0.0",
|
||||||
"textcomplete": "0.18.2",
|
"textcomplete": "0.18.2",
|
||||||
"undate": "0.3.0",
|
"undate": "0.3.0",
|
||||||
"vue": "2.6.14",
|
"vue": "2.6.14",
|
||||||
@ -116,9 +116,9 @@
|
|||||||
"vue-template-compiler": "2.6.14",
|
"vue-template-compiler": "2.6.14",
|
||||||
"vuedraggable": "2.24.3",
|
"vuedraggable": "2.24.3",
|
||||||
"vuex": "3.6.2",
|
"vuex": "3.6.2",
|
||||||
"webpack": "5.64.4",
|
"webpack": "5.68.0",
|
||||||
"webpack-cli": "4.9.1",
|
"webpack-cli": "4.9.2",
|
||||||
"webpack-dev-middleware": "5.2.2",
|
"webpack-dev-middleware": "5.3.0",
|
||||||
"webpack-hot-middleware": "2.25.1"
|
"webpack-hot-middleware": "2.25.1"
|
||||||
},
|
},
|
||||||
"husky": {
|
"husky": {
|
||||||
|
@ -655,9 +655,10 @@ function isFeature({labels}) {
|
|||||||
// chore(deps): update babel monorepo to v7.1.0
|
// chore(deps): update babel monorepo to v7.1.0
|
||||||
function extractPackages({title, body, url}) {
|
function extractPackages({title, body, url}) {
|
||||||
// Extract updated packages from renovate-bot's pull request body
|
// Extract updated packages from renovate-bot's pull request body
|
||||||
let list = /^This PR contains the following updates:\n\n(?:[\s\S]+?)---\|$\n([\s\S]+?)\n\n---/m.exec(
|
let list =
|
||||||
body
|
/^This PR contains the following updates:\n\n(?:[\s\S]+?)---\|$\n([\s\S]+?)\n\n---/m.exec(
|
||||||
);
|
body
|
||||||
|
);
|
||||||
|
|
||||||
if (list) {
|
if (list) {
|
||||||
const packages = [];
|
const packages = [];
|
||||||
@ -687,9 +688,8 @@ function extractPackages({title, body, url}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fallback to extracting package from title
|
// Fallback to extracting package from title
|
||||||
const extracted = /(?:U|u)pdate(?: dependency)? ([\w-,` ./@]+?) (?:packages |monorepo )?to /.exec(
|
const extracted =
|
||||||
title
|
/(?:U|u)pdate(?: dependency)? ([\w-,` ./@]+?) (?:packages |monorepo )?to /.exec(title);
|
||||||
);
|
|
||||||
|
|
||||||
if (!extracted) {
|
if (!extracted) {
|
||||||
log.warn(`Failed to extract package from: ${title} ${colors.gray(url)}`);
|
log.warn(`Failed to extract package from: ${title} ${colors.gray(url)}`);
|
||||||
|
@ -282,8 +282,7 @@ Client.prototype.connect = function (args, isStartup = false) {
|
|||||||
network.channels[0].pushMessage(
|
network.channels[0].pushMessage(
|
||||||
client,
|
client,
|
||||||
new Msg({
|
new Msg({
|
||||||
text:
|
text: "You have manually disconnected from this network before, use the /connect command to connect again.",
|
||||||
"You have manually disconnected from this network before, use the /connect command to connect again.",
|
|
||||||
}),
|
}),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
@ -55,8 +55,7 @@ exports.input = function (network, chan, cmd, args) {
|
|||||||
this,
|
this,
|
||||||
new Msg({
|
new Msg({
|
||||||
type: Msg.Type.ERROR,
|
type: Msg.Type.ERROR,
|
||||||
text:
|
text: "You can not open query windows for names starting with a user prefix.",
|
||||||
"You can not open query windows for names starting with a user prefix.",
|
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
|
@ -82,8 +82,7 @@ module.exports = function (irc, network) {
|
|||||||
network.channels[0].pushMessage(
|
network.channels[0].pushMessage(
|
||||||
client,
|
client,
|
||||||
new Msg({
|
new Msg({
|
||||||
text:
|
text: "Disconnected from the network, and will not reconnect. Use /connect to reconnect again.",
|
||||||
"Disconnected from the network, and will not reconnect. Use /connect to reconnect again.",
|
|
||||||
}),
|
}),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
@ -164,7 +164,7 @@ module.exports = function (options = {}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const sockets = io(server, {
|
const sockets = io(server, {
|
||||||
wsEngine: "ws",
|
wsEngine: require("ws").Server,
|
||||||
cookie: false,
|
cookie: false,
|
||||||
serveClient: false,
|
serveClient: false,
|
||||||
transports: Helper.config.transports,
|
transports: Helper.config.transports,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const expect = require("chai").expect;
|
const expect = require("chai").expect;
|
||||||
const anyIntersection = require("../../../../../client/js/helpers/ircmessageparser/anyIntersection")
|
const anyIntersection =
|
||||||
.default;
|
require("../../../../../client/js/helpers/ircmessageparser/anyIntersection").default;
|
||||||
|
|
||||||
describe("anyIntersection", () => {
|
describe("anyIntersection", () => {
|
||||||
it("should not intersect on edges", () => {
|
it("should not intersect on edges", () => {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const expect = require("chai").expect;
|
const expect = require("chai").expect;
|
||||||
const findChannels = require("../../../../../client/js/helpers/ircmessageparser/findChannels")
|
const findChannels =
|
||||||
.default;
|
require("../../../../../client/js/helpers/ircmessageparser/findChannels").default;
|
||||||
|
|
||||||
describe("findChannels", () => {
|
describe("findChannels", () => {
|
||||||
it("should find single letter channel", () => {
|
it("should find single letter channel", () => {
|
||||||
|
@ -45,8 +45,7 @@ describe("IRC formatted message parser", () => {
|
|||||||
it("should skip all <32 ASCII codes except linefeed", async () => {
|
it("should skip all <32 ASCII codes except linefeed", async () => {
|
||||||
const testCases = [
|
const testCases = [
|
||||||
{
|
{
|
||||||
input:
|
input: "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1B\x1D\x1D\x1E\x1Ftext\x0Awithcontrolcodestest",
|
||||||
"\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1B\x1D\x1D\x1E\x1Ftext\x0Awithcontrolcodestest",
|
|
||||||
expected:
|
expected:
|
||||||
' <span class="irc-bold"> </span> <span class="irc-monospace"> </span><span class="irc-underline irc-strikethrough irc-monospace">text\nwithcontrolcodestest</span>',
|
' <span class="irc-bold"> </span> <span class="irc-monospace"> </span><span class="irc-underline irc-strikethrough irc-monospace">text\nwithcontrolcodestest</span>',
|
||||||
},
|
},
|
||||||
@ -521,8 +520,7 @@ describe("IRC formatted message parser", () => {
|
|||||||
it("should optimize generated html", async () => {
|
it("should optimize generated html", async () => {
|
||||||
const testCases = [
|
const testCases = [
|
||||||
{
|
{
|
||||||
input:
|
input: 'test \x0312#\x0312\x0312"te\x0312st\x0312\x0312\x0312\x0312\x0312\x0312\x0312\x0312\x0312\x0312\x0312a',
|
||||||
'test \x0312#\x0312\x0312"te\x0312st\x0312\x0312\x0312\x0312\x0312\x0312\x0312\x0312\x0312\x0312\x0312a',
|
|
||||||
expected:
|
expected:
|
||||||
"test " +
|
"test " +
|
||||||
'<span dir="auto" role="button" tabindex="0" class="inline-channel">' +
|
'<span dir="auto" role="button" tabindex="0" class="inline-channel">' +
|
||||||
|
@ -678,8 +678,7 @@ Vivamus bibendum vulputate tincidunt. Sed vitae ligula felis.`;
|
|||||||
|
|
||||||
it("should not try to fetch links with username or password", function () {
|
it("should not try to fetch links with username or password", function () {
|
||||||
const message = this.irc.createMessage({
|
const message = this.irc.createMessage({
|
||||||
text:
|
text: "http://root:'some%pass'@hostname/database http://a:%p@c http://a:%p@example.com http://test@example.com",
|
||||||
"http://root:'some%pass'@hostname/database http://a:%p@c http://a:%p@example.com http://test@example.com",
|
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(message.previews).to.be.empty;
|
expect(message.previews).to.be.empty;
|
||||||
|
@ -61,14 +61,12 @@ describe("SQLite Message Storage", function () {
|
|||||||
{
|
{
|
||||||
name: "options",
|
name: "options",
|
||||||
tbl_name: "options",
|
tbl_name: "options",
|
||||||
sql:
|
sql: "CREATE TABLE options (name TEXT, value TEXT, CONSTRAINT name_unique UNIQUE (name))",
|
||||||
"CREATE TABLE options (name TEXT, value TEXT, CONSTRAINT name_unique UNIQUE (name))",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "messages",
|
name: "messages",
|
||||||
tbl_name: "messages",
|
tbl_name: "messages",
|
||||||
sql:
|
sql: "CREATE TABLE messages (network TEXT, channel TEXT, time INTEGER, type TEXT, msg TEXT)",
|
||||||
"CREATE TABLE messages (network TEXT, channel TEXT, time INTEGER, type TEXT, msg TEXT)",
|
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
@ -116,9 +116,9 @@ describe("Utils", function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("should maintain existing properties of a nested object", function () {
|
it("should maintain existing properties of a nested object", function () {
|
||||||
expect(
|
expect(Utils.parseConfigOptions("foo.bar=true", {foo: {baz: false}})).to.deep.equal(
|
||||||
Utils.parseConfigOptions("foo.bar=true", {foo: {baz: false}})
|
{foo: {bar: true, baz: false}}
|
||||||
).to.deep.equal({foo: {bar: true, baz: false}});
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should maintain existing entries of an array", function () {
|
it("should maintain existing entries of an array", function () {
|
||||||
|
@ -94,24 +94,23 @@ const config = {
|
|||||||
new CopyPlugin({
|
new CopyPlugin({
|
||||||
patterns: [
|
patterns: [
|
||||||
{
|
{
|
||||||
from:
|
from: "./node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff*",
|
||||||
"./node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff*",
|
to: "fonts/[name][ext]",
|
||||||
to: "fonts/[name].[ext]",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: "./client/js/loading-error-handlers.js",
|
from: "./client/js/loading-error-handlers.js",
|
||||||
to: "js/[name].[ext]",
|
to: "js/[name][ext]",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: "./client/*",
|
from: "./client/*",
|
||||||
to: "[name].[ext]",
|
to: "[name][ext]",
|
||||||
globOptions: {
|
globOptions: {
|
||||||
ignore: ["**/index.html.tpl", "**/service-worker.js"],
|
ignore: ["**/index.html.tpl", "**/service-worker.js"],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: "./client/service-worker.js",
|
from: "./client/service-worker.js",
|
||||||
to: "[name].[ext]",
|
to: "[name][ext]",
|
||||||
transform(content) {
|
transform(content) {
|
||||||
return content
|
return content
|
||||||
.toString()
|
.toString()
|
||||||
@ -123,15 +122,15 @@ const config = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: "./client/audio/*",
|
from: "./client/audio/*",
|
||||||
to: "audio/[name].[ext]",
|
to: "audio/[name][ext]",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: "./client/img/*",
|
from: "./client/img/*",
|
||||||
to: "img/[name].[ext]",
|
to: "img/[name][ext]",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: "./client/themes/*",
|
from: "./client/themes/*",
|
||||||
to: "themes/[name].[ext]",
|
to: "themes/[name][ext]",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
|
Loading…
Reference in New Issue
Block a user