Compare commits

...

12 Commits

Author SHA1 Message Date
Amir Raminfar
ba494ddd57 1.20.20 2020-02-14 10:48:29 -08:00
Amir Raminfar
c5b84959c0 Collapse menu (#274)
* Tries to implement collapse menu

* Fixes using hiding

* Fixes tests

* Updates styles

* Adds better styles for collapse

* Fixes tests
2020-02-14 10:48:03 -08:00
dependabot-preview[bot]
2333084085 Bump semver from 7.1.2 to 7.1.3 (#276)
Bumps [semver](https://github.com/npm/node-semver) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.1.2...v7.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 10:42:57 -08:00
dependabot-preview[bot]
caa8f9964a Bump husky from 4.2.1 to 4.2.2 (#277)
Bumps [husky](https://github.com/typicode/husky) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/typicode/husky/releases)
- [Changelog](https://github.com/typicode/husky/blob/master/CHANGELOG.md)
- [Commits](https://github.com/typicode/husky/compare/v4.2.1...v4.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 10:42:45 -08:00
dependabot-preview[bot]
2c756e8b46 Bump github.com/gorilla/mux from 1.7.3 to 1.7.4 (#278)
Bumps [github.com/gorilla/mux](https://github.com/gorilla/mux) from 1.7.3 to 1.7.4.
- [Release notes](https://github.com/gorilla/mux/releases)
- [Commits](https://github.com/gorilla/mux/compare/v1.7.3...v1.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 10:42:31 -08:00
Amir
1e1e956397 Fixes with go fmt 2020-02-07 15:51:09 -08:00
dependabot-preview[bot]
2594df9882 Bump ansi-to-html from 0.6.13 to 0.6.14 (#272)
Bumps [ansi-to-html](https://github.com/rburns/ansi-to-html) from 0.6.13 to 0.6.14.
- [Release notes](https://github.com/rburns/ansi-to-html/releases)
- [Commits](https://github.com/rburns/ansi-to-html/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-07 12:05:59 -08:00
Amir Raminfar
8da054d3fb #270, tries to fix scrollbars. Thanks @mnpenner 2020-02-02 14:38:28 -08:00
Amir Raminfar
3e7ef846ad Adds new setting option for smaller scrollbars 2020-02-02 14:37:09 -08:00
Amir Raminfar
f069c65496 Fixes double scrollbar 2020-02-02 14:15:02 -08:00
Amir
cca37c0559 Updates npm modules 2020-01-31 11:41:01 -08:00
Amir
a9da3163eb Updates npm modules 2020-01-30 13:52:55 -08:00
13 changed files with 193 additions and 73 deletions

View File

@@ -8,7 +8,7 @@ const localVue = createLocalVue();
localVue.use(Vuex);
describe("<App />", () => {
const stubs = { RouterLink: RouterLinkStub, "router-view": true };
const stubs = { RouterLink: RouterLinkStub, "router-view": true, "ion-icon": true };
let store;
beforeEach(() => {

View File

@@ -1,8 +1,9 @@
<template lang="html">
<main>
<mobile-menu v-if="isMobile"></mobile-menu>
<splitpanes @resized="onResize($event)">
<pane min-size="10" :size="settings.menuWidth" v-if="!isMobile">
<splitpanes @resized="onResized($event)">
<pane min-size="10" :size="settings.menuWidth" v-if="!isMobile" v-show="!collapseNav">
<side-menu></side-menu>
</pane>
<pane min-size="10">
@@ -22,6 +23,17 @@
</splitpanes>
</pane>
</splitpanes>
<button
@click="collapseNav = !collapseNav"
class="button is-small is-rounded is-settings-control"
:class="{ collapsed: collapseNav }"
id="hide-nav"
v-if="!isMobile"
>
<span class="icon">
<ion-icon :name="collapseNav ? 'arrow-dropright' : 'arrow-dropleft'" size="large"></ion-icon>
</span>
</button>
</main>
</template>
@@ -51,7 +63,7 @@ export default {
data() {
return {
title: "",
showNav: false
collapseNav: false
};
},
metaInfo() {
@@ -64,8 +76,26 @@ export default {
await this.fetchContainerList();
this.title = `${this.containers.length} containers`;
},
mounted() {
if (this.hasSmallerScrollbars) {
document.documentElement.classList.add("has-custom-scrollbars");
}
this.menuWidth = this.settings.menuWidth;
},
watch: {
hasSmallerScrollbars(newValue, oldValue) {
if (newValue) {
document.documentElement.classList.add("has-custom-scrollbars");
} else {
document.documentElement.classList.remove("has-custom-scrollbars");
}
}
},
computed: {
...mapState(["containers", "activeContainers", "isMobile", "settings"])
...mapState(["containers", "activeContainers", "isMobile", "settings"]),
hasSmallerScrollbars() {
return this.settings.smallerScrollbars;
}
},
methods: {
...mapActions({
@@ -73,9 +103,10 @@ export default {
removeActiveContainer: "REMOVE_ACTIVE_CONTAINER",
updateSetting: "UPDATE_SETTING"
}),
onResize(e) {
onResized(e) {
if (e.length == 2) {
this.updateSetting({ menuWidth: Math.min(90, e[0].size) });
const menuWidth = e[0].size;
this.updateSetting({ menuWidth });
}
}
}
@@ -98,4 +129,20 @@ export default {
.has-min-height {
min-height: 100vh;
}
#hide-nav {
position: fixed;
left: 10px;
bottom: 10px;
&.collapsed {
left: -40px;
width: 60px;
padding-left: 40px;
background: rgba(0, 0, 0, 0.95);
&:hover {
left: -25px;
}
}
}
</style>

View File

@@ -37,5 +37,19 @@ exports[`<App /> renders correctly 1`] = `
</splitpanes-stub>
</pane-stub>
</splitpanes-stub>
<button
class="button is-small is-rounded is-settings-control"
id="hide-nav"
>
<span
class="icon"
>
<ion-icon-stub
name="arrow-dropleft"
size="large"
/>
</span>
</button>
</main>
`;

View File

@@ -8,7 +8,7 @@
<router-link
:to="{ name: 'settings' }"
active-class="is-active"
class="button is-small is-primary is-rounded is-inverted is-outlined "
class="button is-small is-rounded is-settings-control"
>
<span class="icon"><ion-icon name="settings" size="large"></ion-icon></span>
</router-link>

View File

@@ -16,7 +16,7 @@
<script nomodule="" src="https://unpkg.com/ionicons@4.5.10-0/dist/ionicons/ionicons.js"></script>
</head>
<body class="is-dark">
<body>
<div id="app"></div>
<script src="main.js"></script>
</body>

View File

@@ -26,11 +26,16 @@
</div>
<div class="item">
<h2 class="title is-6 is-marginless">Font size</h2>
<b-switch v-model="smallerScrollbars">
Use smaller scrollbars
</b-switch>
</div>
<div class="item">
<h2 class="title is-6 is-marginless">Font size</h2>
Modify the font size when viewing logs.
<br /><br />
<b-dropdown v-model="size" aria-role="list">
<b-dropdown v-model="size" aria-role="list" style="margin:-8px 10px 0">
<button class="button is-primary" type="button" slot="trigger">
<span class="is-capitalized">{{ size }}</span>
<span class="icon"><ion-icon name="ios-arrow-down"></ion-icon></span>
@@ -84,7 +89,7 @@ export default {
},
computed: {
...mapState(["settings"]),
...["search", "size"].reduce((map, name) => {
...["search", "size", "smallerScrollbars"].reduce((map, name) => {
map[name] = {
get() {
return this.settings[name];

View File

@@ -2,5 +2,6 @@ export const DOZZLE_SETTINGS_KEY = "DOZZLE_SETTINGS";
export const DEFAULT_SETTINGS = {
search: true,
size: "medium",
menuWidth: 15
menuWidth: 15,
smallerScrollbars: false
};

View File

@@ -9,15 +9,66 @@ $menu-item-color: hsl(0, 6%, 87%);
@import "~buefy/src/scss/components/_dropdown";
@import "~buefy/src/scss/components/_switch";
.is-dark {
color: #ddd;
background-color: #111;
}
body {
font-family: "Roboto", sans-serif;
color: #ddd;
background-color: #111;
}
h1.title {
font-family: "Gafata", sans-serif;
}
html {
overflow-x: unset;
overflow-y: unset;
}
html.has-custom-scrollbars {
::-webkit-scrollbar {
width: 8px;
display: content;
}
::-webkit-scrollbar-thumb {
background-color: rgba(128, 128, 128, 0.33);
outline: 1px solid slategrey;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:active {
background-color: #777;
}
::-webkit-scrollbar-track {
background-color: transparent;
}
::-webkit-scrollbar-track:hover {
background-color: rgba(64, 64, 64, 0.33);
}
section main {
scrollbar-color: #353535 transparent;
scrollbar-width: thin;
}
}
.is-settings-control {
background: rgba(0, 0, 0, 0.4);
color: #fff;
border-color: transparent;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
&:hover {
border-color: rgb(255, 221, 87) !important;
background: rgba(0, 0, 0, 0.8) !important;
color: #fff !important;
}
&:focus {
box-shadow: none !important;
color: unset;
border-color: transparent;
}
}

2
go.mod
View File

@@ -23,7 +23,7 @@ require (
github.com/gobuffalo/packr v1.30.1
github.com/gogo/protobuf v1.3.1 // indirect
github.com/google/go-cmp v0.3.1 // indirect
github.com/gorilla/mux v1.7.3
github.com/gorilla/mux v1.7.4
github.com/magiconair/properties v1.8.1
github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect
github.com/opencontainers/go-digest v1.0.0-rc1 // indirect

2
go.sum
View File

@@ -106,6 +106,8 @@ github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu
github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc=
github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=

View File

@@ -259,7 +259,7 @@ func Test_createRoutes_redirect(t *testing.T) {
mockedClient := new(MockedClient)
box := packr.NewBox("./virtual")
handler := createRoutes("/foobar", &handler{mockedClient, true,box})
handler := createRoutes("/foobar", &handler{mockedClient, true, box})
req, err := http.NewRequest("GET", "/foobar", nil)
require.NoError(t, err, "NewRequest should not return an error.")
rr := httptest.NewRecorder()

92
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "dozzle",
"version": "1.20.18",
"version": "1.20.20",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -14,17 +14,17 @@
}
},
"@babel/core": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.3.tgz",
"integrity": "sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==",
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz",
"integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.8.3",
"@babel/generator": "^7.8.3",
"@babel/helpers": "^7.8.3",
"@babel/parser": "^7.8.3",
"@babel/generator": "^7.8.4",
"@babel/helpers": "^7.8.4",
"@babel/parser": "^7.8.4",
"@babel/template": "^7.8.3",
"@babel/traverse": "^7.8.3",
"@babel/traverse": "^7.8.4",
"@babel/types": "^7.8.3",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
@@ -46,9 +46,9 @@
}
},
"@babel/generator": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.3.tgz",
"integrity": "sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==",
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz",
"integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==",
"dev": true,
"requires": {
"@babel/types": "^7.8.3",
@@ -98,9 +98,9 @@
}
},
"@babel/parser": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz",
"integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==",
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
"integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
"dev": true
},
"@babel/template": {
@@ -115,16 +115,16 @@
}
},
"@babel/traverse": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.3.tgz",
"integrity": "sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==",
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz",
"integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.8.3",
"@babel/generator": "^7.8.3",
"@babel/generator": "^7.8.4",
"@babel/helper-function-name": "^7.8.3",
"@babel/helper-split-export-declaration": "^7.8.3",
"@babel/parser": "^7.8.3",
"@babel/parser": "^7.8.4",
"@babel/types": "^7.8.3",
"debug": "^4.1.0",
"globals": "^11.1.0",
@@ -630,13 +630,13 @@
}
},
"@babel/helpers": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.3.tgz",
"integrity": "sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ==",
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz",
"integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==",
"dev": true,
"requires": {
"@babel/template": "^7.8.3",
"@babel/traverse": "^7.8.3",
"@babel/traverse": "^7.8.4",
"@babel/types": "^7.8.3"
},
"dependencies": {
@@ -650,9 +650,9 @@
}
},
"@babel/generator": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.3.tgz",
"integrity": "sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==",
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz",
"integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==",
"dev": true,
"requires": {
"@babel/types": "^7.8.3",
@@ -702,9 +702,9 @@
}
},
"@babel/parser": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz",
"integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==",
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
"integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
"dev": true
},
"@babel/template": {
@@ -719,16 +719,16 @@
}
},
"@babel/traverse": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.3.tgz",
"integrity": "sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==",
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz",
"integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.8.3",
"@babel/generator": "^7.8.3",
"@babel/generator": "^7.8.4",
"@babel/helper-function-name": "^7.8.3",
"@babel/helper-split-export-declaration": "^7.8.3",
"@babel/parser": "^7.8.3",
"@babel/parser": "^7.8.4",
"@babel/types": "^7.8.3",
"debug": "^4.1.0",
"globals": "^11.1.0",
@@ -2521,9 +2521,9 @@
}
},
"ansi-to-html": {
"version": "0.6.13",
"resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.13.tgz",
"integrity": "sha512-Ys2/umuaTlQvP9DLkaa7UzRKF2FLrfod/hNHXS9QhXCrw7seObG6ksOGmNz3UoK+adwM8L9vQfG7mvaxfJ3Jvw==",
"version": "0.6.14",
"resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz",
"integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==",
"requires": {
"entities": "^1.1.2"
}
@@ -6155,9 +6155,9 @@
"dev": true
},
"husky": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/husky/-/husky-4.2.1.tgz",
"integrity": "sha512-Qa0lRreeIf4Tl92sSs42ER6qc3hzoyQPPorzOrFWfPEVbdi6LuvJEqWKPk905fOWIR76iBpp7ECZNIwk+a8xuQ==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/husky/-/husky-4.2.2.tgz",
"integrity": "sha512-RAjZNO74zJyFJuRFESy+3LXTJvYbjGL+jhoSNJNF1DTKq2USrL5fEH70e1cJXEgvLaPyZt1NoGi0oNQQkPs4jA==",
"dev": true,
"requires": {
"chalk": "^3.0.0",
@@ -8843,9 +8843,9 @@
"dev": true
},
"lint-staged": {
"version": "10.0.4",
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.0.4.tgz",
"integrity": "sha512-lTmhvbFCyKKV8wcyuENTccjlsHP9bYtl/Xxe5ZMTwEZ7Qvar78jOGomkf6nzHuQns6vKRUYWS6L9N8s7x+jnXQ==",
"version": "10.0.7",
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.0.7.tgz",
"integrity": "sha512-Byj0F4l7GYUpYYHEqyFH69NiI6ICTg0CeCKbhRorL+ickbzILKUlZLiyCkljZV02wnoh7yH7PmFyYm9PRNwk9g==",
"dev": true,
"requires": {
"chalk": "^3.0.0",
@@ -11725,9 +11725,9 @@
}
},
"semver": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A=="
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
"integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA=="
},
"semver-compare": {
"version": "1.0.0",

View File

@@ -1,6 +1,6 @@
{
"name": "dozzle",
"version": "1.20.18",
"version": "1.20.20",
"description": "Realtime log viewer for docker containers. ",
"scripts": {
"prestart": "npm run clean",
@@ -24,13 +24,13 @@
},
"homepage": "https://github.com/amir20/dozzle#readme",
"dependencies": {
"ansi-to-html": "^0.6.13",
"ansi-to-html": "^0.6.14",
"buefy": "^0.8.10",
"bulma": "^0.8.0",
"date-fns": "^2.9.0",
"hotkeys-js": "^3.7.3",
"lodash.debounce": "^4.0.8",
"semver": "^7.1.1",
"semver": "^7.1.3",
"splitpanes": "^2.2.1",
"store": "^2.0.12",
"vue": "^2.6.11",
@@ -39,7 +39,7 @@
"vuex": "^3.1.2"
},
"devDependencies": {
"@babel/core": "^7.8.3",
"@babel/core": "^7.8.4",
"@babel/plugin-transform-runtime": "^7.8.3",
"@vue/component-compiler-utils": "^3.1.1",
"@vue/test-utils": "^1.0.0-beta.29",
@@ -47,10 +47,10 @@
"babel-jest": "^25.1.0",
"concurrently": "^5.1.0",
"eventsourcemock": "^2.0.0",
"husky": "^4.2.1",
"husky": "^4.2.2",
"jest": "^25.1.0",
"jest-serializer-vue": "^2.0.2",
"lint-staged": "^10.0.4",
"lint-staged": "^10.0.7",
"mockdate": "^2.0.5",
"node-fetch": "^2.6.0",
"parcel-bundler": "^1.12.4",