misc: migrate to vuetify 2.0 (wip)

pull/940/head
NGPixel 5 years ago
parent eccf1a1b19
commit 27e0a37dbe

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-line-chart.svg', alt='Analytics', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-line-chart.svg', alt='Analytics', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{ $t('admin:analytics.title') }} .headline.primary--text.animated.fadeInLeft {{ $t('admin:analytics.title') }}
.subheading.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:analytics.subtitle') }} .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:analytics.subtitle') }}
v-spacer v-spacer
v-btn.animated.fadeInDown.wait-p2s.mr-3(outlined, color='grey', @click='refresh', large) v-btn.animated.fadeInDown.wait-p2s.mr-3(outlined, color='grey', @click='refresh', large)
v-icon mdi-refresh v-icon mdi-refresh
@ -17,7 +17,7 @@
v-flex(lg3, xs12) v-flex(lg3, xs12)
v-card.animated.fadeInUp v-card.animated.fadeInUp
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{$t('admin:analytics.providers')}} .subtitle-1 {{$t('admin:analytics.providers')}}
v-list(two-line, dense).py-0 v-list(two-line, dense).py-0
template(v-for='(str, idx) in providers') template(v-for='(str, idx) in providers')
v-list-item(:key='str.key', @click='selectedProvider = str.key', :disabled='!str.isAvailable') v-list-item(:key='str.key', @click='selectedProvider = str.key', :disabled='!str.isAvailable')
@ -36,15 +36,15 @@
v-card.animated.fadeInUp.wait-p2s v-card.animated.fadeInUp.wait-p2s
v-toolbar(color='primary', dense, flat, dark) v-toolbar(color='primary', dense, flat, dark)
.subheading {{provider.title}} .subtitle-1 {{provider.title}}
v-card-text v-card-text
v-form v-form
.analytic-provider-logo .analytic-provider-logo
img(:src='provider.logo', :alt='provider.title') img(:src='provider.logo', :alt='provider.title')
.caption.pt-3 {{provider.description}} .body-2.pt-3 {{provider.description}}
.caption.pb-3: a(:href='provider.website') {{provider.website}} .body-2.pt-3: a(:href='provider.website') {{provider.website}}
v-divider.mt-3 v-divider.mt-5
.overline.py-4 {{$t('admin:analytics.providerConfiguration')}} .overline.py-5 {{$t('admin:analytics.providerConfiguration')}}
.body-1.ml-3(v-if='!provider.config || provider.config.length < 1'): em {{$t('admin:analytics.providerNoConfiguration')}} .body-1.ml-3(v-if='!provider.config || provider.config.length < 1'): em {{$t('admin:analytics.providerNoConfiguration')}}
template(v-else, v-for='cfg in provider.config') template(v-else, v-for='cfg in provider.config')
v-select( v-select(

@ -6,7 +6,7 @@
img(src='/svg/icon-rest-api.svg', alt='API', style='width: 80px;') img(src='/svg/icon-rest-api.svg', alt='API', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.blue--text.text--darken-2 API Access .headline.blue--text.text--darken-2 API Access
.subheading.grey--text Manage keys to access the API #[v-chip(label, color='primary', small).white--text coming soon] .subtitle-1.grey--text Manage keys to access the API #[v-chip(label, color='primary', small).white--text coming soon]
v-spacer v-spacer
v-btn(outline, color='grey', large, @click='refresh', disabled) v-btn(outline, color='grey', large, @click='refresh', disabled)
v-icon refresh v-icon refresh

@ -6,41 +6,41 @@
img.animated.fadeInUp(src='/svg/icon-unlock.svg', alt='Authentication', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-unlock.svg', alt='Authentication', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{ $t('admin:auth.title') }} .headline.primary--text.animated.fadeInLeft {{ $t('admin:auth.title') }}
.subheading.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:auth.subtitle') }} .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:auth.subtitle') }}
v-spacer v-spacer
v-btn.animated.fadeInDown.wait-p2s.mr-3(outlined, color='grey', @click='refresh', large) v-btn.animated.fadeInDown.wait-p2s.mr-3(outlined, color='grey', @click='refresh', large)
v-icon refresh v-icon mdi-refresh
v-btn.animated.fadeInDown(color='success', @click='save', depressed, large) v-btn.animated.fadeInDown(color='success', @click='save', depressed, large)
v-icon(left) check v-icon(left) mdi-check
span {{$t('common:actions.apply')}} span {{$t('common:actions.apply')}}
v-flex(lg3, xs12) v-flex(lg3, xs12)
v-card.animated.fadeInUp v-card.animated.fadeInUp
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{$t('admin:auth.strategies')}} .subtitle-1 {{$t('admin:auth.strategies')}}
v-list(two-line, dense).py-0 v-list(two-line, dense).py-0
template(v-for='(str, idx) in strategies') template(v-for='(str, idx) in strategies')
v-list-item(:key='str.key', @click='selectedStrategy = str.key', :disabled='!str.isAvailable') v-list-item(:key='str.key', @click='selectedStrategy = str.key', :disabled='!str.isAvailable')
v-list-item-avatar v-list-item-avatar(size='24')
v-icon(color='grey', v-if='!str.isAvailable') indeterminate_check_box v-icon(color='grey', v-if='!str.isAvailable') mdi-minus-box-outline
v-icon(color='primary', v-else-if='str.isEnabled && str.key !== `local`', v-ripple, @click='str.isEnabled = false') check_box v-icon(color='primary', v-else-if='str.isEnabled && str.key !== `local`', v-ripple, @click='str.isEnabled = false') mdi-checkbox-marked-outline
v-icon(color='primary', v-else-if='str.isEnabled && str.key === `local`') check_box v-icon(color='primary', v-else-if='str.isEnabled && str.key === `local`') mdi-checkbox-marked-outline
v-icon(color='grey', v-else, v-ripple, @click='str.isEnabled = true') check_box_outline_blank v-icon(color='grey', v-else, v-ripple, @click='str.isEnabled = true') mdi-checkbox-blank-outline
v-list-item-content v-list-item-content
v-list-item-title.body-2(:class='!str.isAvailable ? `grey--text` : (selectedStrategy === str.key ? `primary--text` : ``)') {{ str.title }} v-list-item-title.body-2(:class='!str.isAvailable ? `grey--text` : (selectedStrategy === str.key ? `primary--text` : ``)') {{ str.title }}
v-list-item-sub-title.caption(:class='!str.isAvailable ? `grey--text text--lighten-1` : (selectedStrategy === str.key ? `blue--text ` : ``)') {{ str.description }} v-list-item-subtitle: .caption(:class='!str.isAvailable ? `grey--text text--lighten-1` : (selectedStrategy === str.key ? `blue--text ` : ``)') {{ str.description }}
v-list-item-avatar(v-if='selectedStrategy === str.key') v-list-item-avatar(v-if='selectedStrategy === str.key')
v-icon.animated.fadeInLeft(color='primary') arrow_forward_ios v-icon.animated.fadeInLeft(color='primary', large) mdi-chevron-right
v-divider(v-if='idx < strategies.length - 1') v-divider(v-if='idx < strategies.length - 1')
v-card.wiki-form.mt-3.animated.fadeInUp.wait-p2s v-card.wiki-form.mt-3.animated.fadeInUp.wait-p2s
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{$t('admin:auth.globalAdvSettings')}} .subtitle-1 {{$t('admin:auth.globalAdvSettings')}}
v-card-text v-card-text
v-text-field.md2( v-text-field.md2(
v-model='jwtAudience' v-model='jwtAudience'
outlined outlined
prepend-icon='account_balance' prepend-icon='mdi-account-group-outline'
:label='$t(`admin:auth.jwtAudience`)' :label='$t(`admin:auth.jwtAudience`)'
:hint='$t(`admin:auth.jwtAudienceHint`)' :hint='$t(`admin:auth.jwtAudienceHint`)'
persistent-hint persistent-hint
@ -48,7 +48,7 @@
v-text-field.mt-3.md2( v-text-field.mt-3.md2(
v-model='jwtExpiration' v-model='jwtExpiration'
outlined outlined
prepend-icon='schedule' prepend-icon='mdi-clock-outline'
:label='$t(`admin:auth.tokenExpiration`)' :label='$t(`admin:auth.tokenExpiration`)'
:hint='$t(`admin:auth.tokenExpirationHint`)' :hint='$t(`admin:auth.tokenExpirationHint`)'
persistent-hint persistent-hint
@ -56,7 +56,7 @@
v-text-field.mt-3.md2( v-text-field.mt-3.md2(
v-model='jwtRenewablePeriod' v-model='jwtRenewablePeriod'
outlined outlined
prepend-icon='update' prepend-icon='mdi-update'
:label='$t(`admin:auth.tokenRenewalPeriod`)' :label='$t(`admin:auth.tokenRenewalPeriod`)'
:hint='$t(`admin:auth.tokenRenewalPeriodHint`)' :hint='$t(`admin:auth.tokenRenewalPeriodHint`)'
persistent-hint persistent-hint
@ -66,13 +66,13 @@
v-card.wiki-form.animated.fadeInUp.wait-p2s v-card.wiki-form.animated.fadeInUp.wait-p2s
v-toolbar(color='primary', dense, flat, dark) v-toolbar(color='primary', dense, flat, dark)
.subheading {{strategy.title}} .subtitle-1 {{strategy.title}}
v-card-text v-card-text
v-form v-form
.authlogo .authlogo
img(:src='strategy.logo', :alt='strategy.title') img(:src='strategy.logo', :alt='strategy.title')
.caption.pt-3 {{strategy.description}} .body-2.pt-3 {{strategy.description}}
.caption.pb-3: a(:href='strategy.website') {{strategy.website}} .body-2.pt-3.pb-5: a(:href='strategy.website') {{strategy.website}}
i18next.body-2(path='admin:auth.strategyState', tag='div', v-if='strategy.isEnabled') i18next.body-2(path='admin:auth.strategyState', tag='div', v-if='strategy.isEnabled')
v-chip(color='green', small, dark, label, place='state') {{$t('admin:auth.strategyStateActive')}} v-chip(color='green', small, dark, label, place='state') {{$t('admin:auth.strategyStateActive')}}
span(v-if='selectedStrategy === `local`', place='locked') {{$t('admin:auth.strategyStateLocked')}} span(v-if='selectedStrategy === `local`', place='locked') {{$t('admin:auth.strategyStateLocked')}}
@ -80,8 +80,8 @@
i18next.body-2(path='admin:auth.strategyState', tag='div', v-else) i18next.body-2(path='admin:auth.strategyState', tag='div', v-else)
v-chip(color='red', small, dark, label, place='state') {{$t('admin:auth.strategyStateInactive')}} v-chip(color='red', small, dark, label, place='state') {{$t('admin:auth.strategyStateInactive')}}
v-divider.mt-3 v-divider.mt-3
v-subheader.pl-0 {{$t('admin:auth.strategyConfiguration')}} .overline.my-5 {{$t('admin:auth.strategyConfiguration')}}
.body-1.ml-3(v-if='!strategy.config || strategy.config.length < 1'): em {{$t('admin:auth.strategyNoConfiguration')}} .body-2.ml-3(v-if='!strategy.config || strategy.config.length < 1'): em {{$t('admin:auth.strategyNoConfiguration')}}
template(v-else, v-for='cfg in strategy.config') template(v-else, v-for='cfg in strategy.config')
v-select( v-select(
v-if='cfg.value.type === "string" && cfg.value.enum' v-if='cfg.value.type === "string" && cfg.value.enum'
@ -90,7 +90,7 @@
:key='cfg.key' :key='cfg.key'
:label='cfg.value.title' :label='cfg.value.title'
v-model='cfg.value.value' v-model='cfg.value.value'
prepend-icon='settings_applications' prepend-icon='mdi-settings-box'
:hint='cfg.value.hint ? cfg.value.hint : ""' :hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint persistent-hint
:class='cfg.value.hint ? "mb-2" : ""' :class='cfg.value.hint ? "mb-2" : ""'
@ -101,7 +101,7 @@
:label='cfg.value.title' :label='cfg.value.title'
v-model='cfg.value.value' v-model='cfg.value.value'
color='primary' color='primary'
prepend-icon='settings_applications' prepend-icon='mdi-settings-box'
:hint='cfg.value.hint ? cfg.value.hint : ""' :hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint persistent-hint
) )
@ -111,7 +111,7 @@
:key='cfg.key' :key='cfg.key'
:label='cfg.value.title' :label='cfg.value.title'
v-model='cfg.value.value' v-model='cfg.value.value'
prepend-icon='settings_applications' prepend-icon='mdi-settings-box'
:hint='cfg.value.hint ? cfg.value.hint : ""' :hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint persistent-hint
:class='cfg.value.hint ? "mb-2" : ""' :class='cfg.value.hint ? "mb-2" : ""'
@ -122,13 +122,13 @@
:key='cfg.key' :key='cfg.key'
:label='cfg.value.title' :label='cfg.value.title'
v-model='cfg.value.value' v-model='cfg.value.value'
prepend-icon='settings_applications' prepend-icon='mdi-settings-box'
:hint='cfg.value.hint ? cfg.value.hint : ""' :hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint persistent-hint
:class='cfg.value.hint ? "mb-2" : ""' :class='cfg.value.hint ? "mb-2" : ""'
) )
v-divider.mt-3 v-divider.mt-3
v-subheader.pl-0 {{$t('admin:auth.registration')}} .overline.my-5 {{$t('admin:auth.registration')}}
.pr-3 .pr-3
v-switch.ml-3( v-switch.ml-3(
v-model='strategy.selfRegistration' v-model='strategy.selfRegistration'
@ -149,7 +149,7 @@
v-combobox.ml-3.mt-3( v-combobox.ml-3.mt-3(
:label='$t(`admin:auth.domainsWhitelist`)' :label='$t(`admin:auth.domainsWhitelist`)'
v-model='strategy.domainWhitelist' v-model='strategy.domainWhitelist'
prepend-icon='mail_outline' prepend-icon='mdi-email-check-outline'
outlined outlined
:disabled='!strategy.selfRegistration' :disabled='!strategy.selfRegistration'
:hint='$t(`admin:auth.domainsWhitelistHint`)' :hint='$t(`admin:auth.domainsWhitelistHint`)'
@ -168,7 +168,7 @@
item-value='id' item-value='id'
:label='$t(`admin:auth.autoEnrollGroups`)' :label='$t(`admin:auth.autoEnrollGroups`)'
v-model='strategy.autoEnrollGroups' v-model='strategy.autoEnrollGroups'
prepend-icon='people' prepend-icon='mdi-account-group'
:hint='$t(`admin:auth.autoEnrollGroupsHint`)' :hint='$t(`admin:auth.autoEnrollGroupsHint`)'
small-chips small-chips
persistent-hint persistent-hint
@ -179,7 +179,7 @@
) )
template(v-if='strategy.useForm') template(v-if='strategy.useForm')
v-divider.mt-3 v-divider.mt-3
v-subheader.pl-0 {{$t('admin:auth.security')}} .overline.my-5 {{$t('admin:auth.security')}}
v-switch.ml-3( v-switch.ml-3(
v-model='strategy.recaptcha' v-model='strategy.recaptcha'
:disabled='true' :disabled='true'
@ -189,30 +189,30 @@
persistent-hint persistent-hint
) )
v-card.mt-3.wiki-form.animated.fadeInUp.wait-p4s v-card.mt-4.wiki-form.animated.fadeInUp.wait-p4s
v-toolbar(color='primary', dense, flat, dark) v-toolbar(color='primary', dense, flat, dark)
.subheading {{$t('admin:auth.configReference')}} .subtitle-1 {{$t('admin:auth.configReference')}}
v-card-text v-card-text
.body-1 {{$t('admin:auth.configReferenceSubtitle')}} .body-2 {{$t('admin:auth.configReferenceSubtitle')}}
v-alert.mt-3.radius-7(v-if='host.length < 8', color='red', outline, :value='true', icon='warning') v-alert.mt-3.radius-7(v-if='host.length < 8', color='red', outline, :value='true', icon='warning')
i18next(path='admin:auth.siteUrlNotSetup', tag='span') i18next(path='admin:auth.siteUrlNotSetup', tag='span')
strong(place='siteUrl') {{$t('admin:general.siteUrl')}} strong(place='siteUrl') {{$t('admin:general.siteUrl')}}
strong(place='general') {{$t('admin:general.title')}} strong(place='general') {{$t('admin:general.title')}}
.pa-3.mt-3.radius-7.grey(v-else, :class='$vuetify.dark ? `darken-3-d5` : `lighten-3`') .pa-3.mt-3.radius-7.grey(v-else, :class='$vuetify.dark ? `darken-3-d5` : `lighten-3`')
.body-2 {{$t('admin:auth.allowedWebOrigins')}} .body-2: strong {{$t('admin:auth.allowedWebOrigins')}}
.body-1 {{host}} .body-2 {{host}}
v-divider.my-3 v-divider.my-3
.body-2 {{$t('admin:auth.callbackUrl')}} .body-2: strong {{$t('admin:auth.callbackUrl')}}
.body-1 {{host}}/login/{{strategy.key}}/callback .body-2 {{host}}/login/{{strategy.key}}/callback
v-divider.my-3 v-divider.my-3
.body-2 {{$t('admin:auth.loginUrl')}} .body-2: strong {{$t('admin:auth.loginUrl')}}
.body-1 {{host}}/login .body-2 {{host}}/login
v-divider.my-3 v-divider.my-3
.body-2 {{$t('admin:auth.logoutUrl')}} .body-2: strong {{$t('admin:auth.logoutUrl')}}
.body-1 {{host}} .body-2 {{host}}
v-divider.my-3 v-divider.my-3
.body-2 {{$t('admin:auth.tokenEndpointAuthMethod')}} .body-2: strong {{$t('admin:auth.tokenEndpointAuthMethod')}}
.body-1 HTTP-POST .body-2 HTTP-POST
</template> </template>
<script> <script>
@ -337,6 +337,7 @@ export default {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
align-items: center; align-items: center;
margin-left: 16px;
img { img {
max-width: 100%; max-width: 100%;

@ -6,49 +6,50 @@
img.animated.fadeInUp(src='/svg/icon-heart-health.svg', alt='Contribute', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-heart-health.svg', alt='Contribute', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{ $t('admin:contribute.title') }} .headline.primary--text.animated.fadeInLeft {{ $t('admin:contribute.title') }}
.subheading.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:contribute.subtitle') }} .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:contribute.subtitle') }}
v-card.mt-3.animated.fadeInUp v-card.mt-3.animated.fadeInUp
v-card-text v-card-text
i18next.body-1.pl-3(path='admin:contribute.openSource', tag='div') i18next.body-2.pl-3(path='admin:contribute.openSource', tag='div')
v-icon(color='red') favorite v-icon(color='red') mdi-heart
a(href='https://requarks.io', target='_blank') requarks.io a(href='https://requarks.io', target='_blank') requarks.io
a(href='https://github.com/Requarks/wiki/graphs/contributors', target='_blank') {{ $t('admin:contribute.openSourceContributors') }} a(href='https://github.com/Requarks/wiki/graphs/contributors', target='_blank') {{ $t('admin:contribute.openSourceContributors') }}
.body-1.pt-3.pl-3 {{ $t('admin:contribute.needYourHelp') }} .body-2.pt-3.pl-3 {{ $t('admin:contribute.needYourHelp') }}
v-divider.mt-3 v-divider.mt-3
v-subheader {{ $t('admin:contribute.fundOurWork') }} v-subheader.subtitle-2 {{ $t('admin:contribute.fundOurWork') }}
v-tabs.mx-3.radius-7.admin-contribute-tabs( v-tabs.mx-3.radius-7.admin-contribute-tabs(
centered centered
fixed-tabs fixed-tabs
color='primary' background-color='primary'
color='white'
dark dark
slider-color='#FFF' slider-color='#FFF'
icons-and-text icons-and-text
) )
v-tab v-tab
span Patreon span Patreon
img(src='/svg/icon-patreon.svg') img.my-1(src='/svg/icon-patreon.svg', style='height: 24px;')
v-tab v-tab
span OpenCollective span OpenCollective
img(src='/svg/icon-opencollective.svg') img.my-1(src='/svg/icon-opencollective.svg', style='height: 24px;')
v-tab v-tab
span PayPal span PayPal
img(src='/svg/icon-paypal.svg') img.my-1(src='/svg/icon-paypal.svg', style='height: 24px;')
v-tab v-tab
span Ethereum span Ethereum
img(src='/svg/icon-ethereum.svg') img.my-1(src='/svg/icon-ethereum.svg', style='height: 24px;')
v-tab v-tab
span T-Shirts span T-Shirts
img(src='/svg/icon-t-shirt.svg') img.my-1(src='/svg/icon-t-shirt.svg', style='height: 24px;')
v-tab-item(:transition='false', :reverse-transition='false') v-tab-item(:transition='false', :reverse-transition='false')
.body-1.pa-3 {{ $t('admin:contribute.patreon') }} .body-2.pa-3 {{ $t('admin:contribute.patreon') }}
a.ml-3(href='https://www.patreon.com/bePatron?u=16744039', :title='$t(`admin:contribute.becomeAPatron`)') a.ml-3(href='https://www.patreon.com/bePatron?u=16744039', :title='$t(`admin:contribute.becomeAPatron`)')
img(src='/img/donate_patreon.png', :alt='$t(`admin:contribute.becomeAPatron`)' style='width:200px;') img(src='/img/donate_patreon.png', :alt='$t(`admin:contribute.becomeAPatron`)' style='width:200px;')
v-tab-item(:transition='false', :reverse-transition='false') v-tab-item(:transition='false', :reverse-transition='false')
.body-1.pa-3 {{ $t('admin:contribute.openCollective') }} .body-2.pa-3 {{ $t('admin:contribute.openCollective') }}
a.ml-3(href='https://opencollective.com/wikijs/donate', :title='$t(`admin:contribute.makeADonation`)') a.ml-3(href='https://opencollective.com/wikijs/donate', :title='$t(`admin:contribute.makeADonation`)')
img(src='/img/donate_opencollective.png', :alt='$t(`admin:contribute.makeADonation`)' style='width:300px;') img(src='/img/donate_opencollective.png', :alt='$t(`admin:contribute.makeADonation`)' style='width:300px;')
v-tab-item(:transition='false', :reverse-transition='false') v-tab-item(:transition='false', :reverse-transition='false')
.body-1.pa-3 {{ $t('admin:contribute.paypal') }} .body-2.pa-3 {{ $t('admin:contribute.paypal') }}
.ml-3 .ml-3
form(action='https://www.paypal.com/cgi-bin/webscr', method='post', target='_top') form(action='https://www.paypal.com/cgi-bin/webscr', method='post', target='_top')
input(type='hidden', name='cmd', value='_s-xclick') input(type='hidden', name='cmd', value='_s-xclick')
@ -66,11 +67,11 @@
.body-1.pa-3 {{ $t('admin:contribute.tshirts') }} .body-1.pa-3 {{ $t('admin:contribute.tshirts') }}
v-card-actions.ml-2 v-card-actions.ml-2
v-btn(outline, :color='darkMode ? `blue lighten-1` : `primary`', href='https://wikijs.threadless.com', large) v-btn(outline, :color='darkMode ? `blue lighten-1` : `primary`', href='https://wikijs.threadless.com', large)
v-icon(left) shopping_cart v-icon(left) mdi-tshirt-crew
span {{ $t('admin:contribute.shop') }} span {{ $t('admin:contribute.shop') }}
v-divider.mt-3 v-divider.mt-3
v-subheader {{ $t('admin:contribute.contribute') }} v-subheader.subtitle-2 {{ $t('admin:contribute.contribute') }}
.body-1.pl-3 .body-2.pl-3
ul ul
i18next(path='admin:contribute.submitAnIdea', tag='li') i18next(path='admin:contribute.submitAnIdea', tag='li')
a(href='https://wiki.js.org/feedback', target='_blank') {{ $t('admin:contribute.submitAnIdeaLink') }} a(href='https://wiki.js.org/feedback', target='_blank') {{ $t('admin:contribute.submitAnIdeaLink') }}
@ -79,126 +80,126 @@
i18next(path='admin:contribute.helpTranslate', tag='li') i18next(path='admin:contribute.helpTranslate', tag='li')
a(href='https://wiki.requarks.io/slack', target='_blank') Slack a(href='https://wiki.requarks.io/slack', target='_blank') Slack
v-divider.mt-3 v-divider.mt-3
v-subheader {{ $t('admin:contribute.spreadTheWord') }} v-subheader.subtitle-2 {{ $t('admin:contribute.spreadTheWord') }}
.body-1.pl-3 .body-2.pl-3
ul ul
li {{ $t('admin:contribute.talkToFriends') }} li {{ $t('admin:contribute.talkToFriends') }}
i18next(path='admin:contribute.followUsOnTwitter', tag='li') i18next(path='admin:contribute.followUsOnTwitter', tag='li')
a(href='https://twitter.com/requarks', target='_blank') Twitter a(href='https://twitter.com/requarks', target='_blank') Twitter
v-toolbar(color='teal', dense, dark) v-toolbar(color='teal', dense, dark)
.subheading Sponsors .subtitle-1 Sponsors
v-spacer v-spacer
v-btn(outline, small, href='https://opencollective.com/wikijs/order/1273') Become a Sponsor v-btn(outlined, small, href='https://opencollective.com/wikijs/order/1273') Become a Sponsor
v-list(two-line) v-list(two-line)
template(v-for='(sponsor, idx) in sponsors') template(v-for='(sponsor, idx) in sponsors')
v-list-item(:key='sponsor.id') v-list-item(:key='sponsor.id')
v-list-item-avatar v-list-item-avatar
img(v-if='sponsor.image', :src='sponsor.image') img(v-if='sponsor.image', :src='sponsor.image')
v-avatar(v-else, color='teal', size='40') v-avatar(v-else, color='teal', size='40')
span.white--text.subheading {{sponsor.name[0].toUpperCase()}} span.white--text.subtitle-1 {{sponsor.name[0].toUpperCase()}}
v-list-item-content v-list-item-content
v-list-item-title {{sponsor.name}} v-list-item-title {{sponsor.name}}
v-list-item-sub-title {{sponsor.description}} v-list-item-subtitle {{sponsor.description}}
v-list-item-action(v-if='sponsor.twitter') v-list-item-action(v-if='sponsor.twitter')
v-btn(icon, :href='sponsor.twitter', target='_blank') v-btn(icon, :href='sponsor.twitter', target='_blank')
icon-twitter(fillColor='#9e9e9e') v-icon mdi-twitter
v-list-item-action(v-if='sponsor.website') v-list-item-action(v-if='sponsor.website')
v-btn(icon, :href='sponsor.website', target='_blank') v-btn(icon, :href='sponsor.website', target='_blank')
v-icon(color='grey') public v-icon(color='grey') mdi-earth
v-divider(v-if='idx < sponsors.length - 1') v-divider(v-if='idx < sponsors.length - 1')
v-toolbar(color='blue-grey', dense, dark) v-toolbar(color='blue-grey', dense, dark)
.subheading Backers .subtitle-1 Backers
v-spacer v-spacer
v-btn(outline, small, href='https://opencollective.com/wikijs/order/1272') Become a Backer v-btn(outlined, small, href='https://opencollective.com/wikijs/order/1272') Become a Backer
v-list(two-line, dense) v-list(two-line, dense)
template(v-for='(backer, idx) in backers') template(v-for='(backer, idx) in backers')
v-list-item(:key='backer.id') v-list-item(:key='backer.id')
v-list-item-avatar v-list-item-avatar
img(v-if='backer.image', :src='backer.image') img(v-if='backer.image', :src='backer.image')
v-avatar(v-else, color='blue-grey', size='40') v-avatar(v-else, color='blue-grey', size='40')
span.white--text.subheading {{backer.name[0].toUpperCase()}} span.white--text.subtitle-1 {{backer.name[0].toUpperCase()}}
v-list-item-content v-list-item-content
v-list-item-title {{backer.name}} v-list-item-title {{backer.name}}
v-list-item-sub-title {{backer.description}} v-list-item-subtitle {{backer.description}}
v-list-item-action(v-if='backer.twitter') v-list-item-action(v-if='backer.twitter')
v-btn(icon, :href='backer.twitter', target='_blank') v-btn(icon, :href='backer.twitter', target='_blank')
icon-twitter(fillColor='#9e9e9e') v-icon mdi-twitter
v-list-item-action(v-if='backer.website') v-list-item-action(v-if='backer.website')
v-btn(icon, :href='backer.website', target='_blank') v-btn(icon, :href='backer.website', target='_blank')
v-icon(color='grey') public v-icon(color='grey') mdi-earth
v-divider(v-if='idx < backers.length - 1') v-divider(v-if='idx < backers.length - 1')
v-toolbar(color='primary', dense, dark) v-toolbar(color='primary', dense, dark)
.subheading Special Thanks .subtitle-1 Special Thanks
v-list(two-line) v-list(two-line)
v-list-item v-list-item
v-list-item-avatar v-list-item-avatar
img(src='https://static.requarks.io/logo/algolia.svg', alt='Algolia') img(src='https://static.requarks.io/logo/algolia.svg', alt='Algolia')
v-list-item-content v-list-item-content
v-list-item-title Algolia v-list-item-title Algolia
v-list-item-sub-title Algolia is a powerful search-as-a-service solution, made easy to use with API clients, UI libraries, and pre-built integrations. v-list-item-subtitle Algolia is a powerful search-as-a-service solution, made easy to use with API clients, UI libraries, and pre-built integrations.
v-list-item-action v-list-item-action
v-btn(icon, href='https://www.algolia.com/', target='_blank') v-btn(icon, href='https://www.algolia.com/', target='_blank')
v-icon(color='grey') public v-icon(color='grey') mdi-earth
v-divider v-divider
v-list-item v-list-item
v-list-item-avatar v-list-item-avatar
img(src='https://static.requarks.io/logo/browserstack.svg', alt='Browserstack') img(src='https://static.requarks.io/logo/browserstack.svg', alt='Browserstack')
v-list-item-content v-list-item-content
v-list-item-title BrowserStack v-list-item-title BrowserStack
v-list-item-sub-title BrowserStack is a cloud web and mobile testing platform that enables developers to test their websites and mobile applications. v-list-item-subtitle BrowserStack is a cloud web and mobile testing platform that enables developers to test their websites and mobile applications.
v-list-item-action v-list-item-action
v-btn(icon, href='https://www.browserstack.com/', target='_blank') v-btn(icon, href='https://www.browserstack.com/', target='_blank')
v-icon(color='grey') public v-icon(color='grey') mdi-earth
v-divider v-divider
v-list-item v-list-item
v-list-item-avatar v-list-item-avatar
img(src='https://static.requarks.io/logo/cloudflare.svg', alt='Cloudflare') img(src='https://static.requarks.io/logo/cloudflare.svg', alt='Cloudflare')
v-list-item-content v-list-item-content
v-list-item-title Cloudflare v-list-item-title Cloudflare
v-list-item-sub-title Providing content delivery network services, DDoS mitigation, Internet security and distributed domain name server services. v-list-item-subtitle Providing content delivery network services, DDoS mitigation, Internet security and distributed domain name server services.
v-list-item-action v-list-item-action
v-btn(icon, href='https://www.cloudflare.com/', target='_blank') v-btn(icon, href='https://www.cloudflare.com/', target='_blank')
v-icon(color='grey') public v-icon(color='grey') mdi-earth
v-divider v-divider
v-list-item v-list-item
v-list-item-avatar v-list-item-avatar
img(src='https://static.requarks.io/logo/digitalocean.svg', alt='DigitalOcean') img(src='https://static.requarks.io/logo/digitalocean.svg', alt='DigitalOcean')
v-list-item-content v-list-item-content
v-list-item-title DigitalOcean v-list-item-title DigitalOcean
v-list-item-sub-title Providing developers and businesses a reliable, easy-to-use cloud computing platform of virtual servers (Droplets), object storage (Spaces), and more. v-list-item-subtitle Providing developers and businesses a reliable, easy-to-use cloud computing platform of virtual servers (Droplets), object storage (Spaces), and more.
v-list-item-action v-list-item-action
v-btn(icon, href='https://m.do.co/c/5f7445bfa4d0', target='_blank') v-btn(icon, href='https://m.do.co/c/5f7445bfa4d0', target='_blank')
v-icon(color='grey') public v-icon(color='grey') mdi-earth
v-divider v-divider
v-list-item v-list-item
v-list-item-avatar(tile) v-list-item-avatar(tile)
img(src='/svg/logo-icons8.svg', alt='Icons8') img(src='/svg/logo-icons8.svg', alt='Icons8')
v-list-item-content v-list-item-content
v-list-item-title Icons8 v-list-item-title Icons8
v-list-item-sub-title All the Icons You Need. Guaranteed. v-list-item-subtitle All the Icons You Need. Guaranteed.
v-list-item-action v-list-item-action
v-btn(icon, href='https://icons8.com', target='_blank') v-btn(icon, href='https://icons8.com', target='_blank')
v-icon(color='grey') public v-icon(color='grey') mdi-earth
v-divider v-divider
v-list-item v-list-item
v-list-item-avatar(tile) v-list-item-avatar(tile)
img(src='https://static.requarks.io/logo/lokalise.png', alt='Lokalise') img(src='https://static.requarks.io/logo/lokalise.png', alt='Lokalise')
v-list-item-content v-list-item-content
v-list-item-title Lokalise v-list-item-title Lokalise
v-list-item-sub-title Lokalise is a translation management system built for agile teams who want to automate their localization process. v-list-item-subtitle Lokalise is a translation management system built for agile teams who want to automate their localization process.
v-list-item-action v-list-item-action
v-btn(icon, href='https://lokalise.co', target='_blank') v-btn(icon, href='https://lokalise.co', target='_blank')
v-icon(color='grey') public v-icon(color='grey') mdi-earth
v-divider v-divider
v-list-item v-list-item
v-list-item-avatar(tile) v-list-item-avatar(tile)
img(src='https://static.requarks.io/logo/netlify.svg', alt='Netlify') img(src='https://static.requarks.io/logo/netlify.svg', alt='Netlify')
v-list-item-content v-list-item-content
v-list-item-title Netlify v-list-item-title Netlify
v-list-item-sub-title Deploy modern static websites with Netlify. Get CDN, Continuous deployment, 1-click HTTPS, and all the services you need. v-list-item-subtitle Deploy modern static websites with Netlify. Get CDN, Continuous deployment, 1-click HTTPS, and all the services you need.
v-list-item-action v-list-item-action
v-btn(icon, href='https://wwwnetlify.com', target='_blank') v-btn(icon, href='https://wwwnetlify.com', target='_blank')
v-icon(color='grey') public v-icon(color='grey') mdi-earth
</template> </template>
@ -208,12 +209,7 @@ import { get } from 'vuex-pathify'
import groupsQuery from 'gql/admin/contribute/contribute-query-contributors.gql' import groupsQuery from 'gql/admin/contribute/contribute-query-contributors.gql'
import IconTwitter from 'mdi/Twitter'
export default { export default {
components: {
IconTwitter
},
data() { data() {
return { return {
contributors: [] contributors: []

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-browse-page.svg', alt='Dashboard', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-browse-page.svg', alt='Dashboard', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{ $t('admin:dashboard.title') }} .headline.primary--text.animated.fadeInLeft {{ $t('admin:dashboard.title') }}
.subheading.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:dashboard.subtitle') }} .subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:dashboard.subtitle') }}
v-flex(xs12 md6 lg4 xl3 d-flex) v-flex(xs12 md6 lg4 xl3 d-flex)
v-card.primary.dashboard-card.animated.fadeInUp(dark) v-card.primary.dashboard-card.animated.fadeInUp(dark)
v-card-text v-card-text
@ -49,7 +49,7 @@
v-icon(:color='isLatestVersion ? `teal` : `red darken-4`', small) mdi-wrench v-icon(:color='isLatestVersion ? `teal` : `red darken-4`', small) mdi-wrench
v-card-text v-card-text
v-icon.dashboard-icon mdi-blur v-icon.dashboard-icon mdi-blur
.subheading Wiki.js {{info.currentVersion}} .subtitle-1 Wiki.js {{info.currentVersion}}
.body-2(v-if='isLatestVersion') {{$t('admin:dashboard.versionLatest')}} .body-2(v-if='isLatestVersion') {{$t('admin:dashboard.versionLatest')}}
.body-2(v-else) {{$t('admin:dashboard.versionNew', { version: info.latestVersion })}} .body-2(v-else) {{$t('admin:dashboard.versionNew', { version: info.latestVersion })}}
v-flex(xs12, xl6) v-flex(xs12, xl6)

@ -6,14 +6,14 @@
img(src='/svg/icon-console.svg', alt='Developer Tools', style='width: 80px;') img(src='/svg/icon-console.svg', alt='Developer Tools', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text Developer Tools .headline.primary--text Developer Tools
.subheading.grey--text Flags .subtitle-1.grey--text Flags
v-spacer v-spacer
v-btn(color='success', depressed, @click='save', large) v-btn(color='success', depressed, @click='save', large)
v-icon(left) check v-icon(left) mdi-check
span {{$t('common:actions.apply')}} span {{$t('common:actions.apply')}}
v-card.mt-3.white.grey--text.text--darken-3 v-card.mt-3.white.grey--text.text--darken-3
v-alert(color='red', value='true', icon='warning') v-alert(color='red', value='true', icon='mdi-alert', dark, prominent)
span Do NOT enable these flags unless you know what you're doing! span Do NOT enable these flags unless you know what you're doing!
.caption Doing so may result in data loss or broken installation! .caption Doing so may result in data loss or broken installation!
v-card-text v-card-text

@ -6,7 +6,7 @@
img(src='/svg/icon-console.svg', alt='Developer Tools', style='width: 80px;') img(src='/svg/icon-console.svg', alt='Developer Tools', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text Developer Tools .headline.primary--text Developer Tools
.subheading.grey--text GraphiQL .subtitle-1.grey--text GraphiQL
v-card.mt-3.white.grey--text.text--darken-3 v-card.mt-3.white.grey--text.text--darken-3
#graphiql #graphiql

@ -6,7 +6,7 @@
img(src='/svg/icon-console.svg', alt='Developer Tools', style='width: 80px;') img(src='/svg/icon-console.svg', alt='Developer Tools', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text Developer Tools .headline.primary--text Developer Tools
.subheading.grey--text Voyager .subtitle-1.grey--text Voyager
v-card.mt-3.white.grey--text.text--darken-3 v-card.mt-3.white.grey--text.text--darken-3
#voyager #voyager

@ -6,7 +6,7 @@
img(src='/svg/icon-web-design.svg', alt='Editor', style='width: 80px;') img(src='/svg/icon-web-design.svg', alt='Editor', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text Editor .headline.primary--text Editor
.subheading.grey--text Configure the content editors #[v-chip(label, color='primary', small).white--text coming soon] .subtitle-1.grey--text Configure the content editors #[v-chip(label, color='primary', small).white--text coming soon]
v-spacer v-spacer
v-btn(outline, color='grey', @click='refresh', large) v-btn(outline, color='grey', @click='refresh', large)
v-icon refresh v-icon refresh

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-categorize.svg', alt='General', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-categorize.svg', alt='General', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{ $t('admin:general.title') }} .headline.primary--text.animated.fadeInLeft {{ $t('admin:general.title') }}
.subheading.grey--text.animated.fadeInLeft {{ $t('admin:general.subtitle') }} .subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:general.subtitle') }}
v-spacer v-spacer
v-btn.animated.fadeInDown(color='success', depressed, @click='save', large) v-btn.animated.fadeInDown(color='success', depressed, @click='save', large)
v-icon(left) mdi-check v-icon(left) mdi-check
@ -18,7 +18,7 @@
v-card.animated.fadeInUp v-card.animated.fadeInUp
v-toolbar(color='primary', dark, dense, flat) v-toolbar(color='primary', dark, dense, flat)
v-toolbar-title.subtitle-1 {{ $t('admin:general.siteInfo') }} v-toolbar-title.subtitle-1 {{ $t('admin:general.siteInfo') }}
v-subheader {{$t('admin:general.general')}} .overline.grey--text.pa-4 {{$t('admin:general.general')}}
.px-3.pb-3 .px-3.pb-3
v-text-field( v-text-field(
outlined outlined
@ -41,7 +41,7 @@
persistent-hint persistent-hint
) )
v-divider v-divider
v-subheader {{$t('admin:general.logo')}} #[v-chip.ml-2(label, color='grey', small, outlined) coming soon] .overline.grey--text.pa-4 {{$t('admin:general.logo')}} #[v-chip.ml-2(label, color='grey', small, outlined) coming soon]
v-card-text.pb-4.pl-5 v-card-text.pb-4.pl-5
v-layout.px-3(row, align-center) v-layout.px-3(row, align-center)
v-avatar(size='100', :color='$vuetify.dark ? `grey darken-2` : `grey lighten-3`', :tile='config.logoIsSquare') v-avatar(size='100', :color='$vuetify.dark ? `grey darken-2` : `grey lighten-3`', :tile='config.logoIsSquare')
@ -55,7 +55,7 @@
.caption.mt-3.grey--text {{$t('admin:general.uploadSizeHint', { size: '120x120' })}} .caption.mt-3.grey--text {{$t('admin:general.uploadSizeHint', { size: '120x120' })}}
.caption.grey--text {{$t('admin:general.uploadTypesHint', { typeList: 'SVG, PNG', lastType: 'JPG' })}}. .caption.grey--text {{$t('admin:general.uploadTypesHint', { typeList: 'SVG, PNG', lastType: 'JPG' })}}.
v-divider v-divider
v-subheader {{$t('admin:general.footerCopyright')}} .overline.grey--text.pa-4 {{$t('admin:general.footerCopyright')}}
.px-3.pb-3 .px-3.pb-3
v-text-field( v-text-field(
outlined outlined
@ -67,7 +67,7 @@
:hint='$t(`admin:general.companyNameHint`)' :hint='$t(`admin:general.companyNameHint`)'
) )
v-divider v-divider
v-subheader SEO .overline.grey--text.pa-4 SEO
.px-3.pb-3 .px-3.pb-3
v-text-field( v-text-field(
outlined outlined

@ -6,7 +6,7 @@
img(src='/svg/icon-social-group.svg', alt='Edit Group', style='width: 80px;') img(src='/svg/icon-social-group.svg', alt='Edit Group', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.blue--text.text--darken-2 Edit Group .headline.blue--text.text--darken-2 Edit Group
.subheading.grey--text {{group.name}} .subtitle-1.grey--text {{group.name}}
v-spacer v-spacer
.caption.grey--text ID #[strong {{group.id}}] .caption.grey--text ID #[strong {{group.id}}]
v-divider.mx-3(vertical) v-divider.mx-3(vertical)

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-people.svg', alt='Groups', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-people.svg', alt='Groups', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.blue--text.text--darken-2.animated.fadeInLeft Groups .headline.blue--text.text--darken-2.animated.fadeInLeft Groups
.subheading.grey--text.animated.fadeInLeft.wait-p4s Manage groups and their permissions .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s Manage groups and their permissions
v-spacer v-spacer
v-btn.animated.fadeInDown.wait-p2s.mr-3(color='grey', outlined, @click='refresh', large) v-btn.animated.fadeInDown.wait-p2s.mr-3(color='grey', outlined, @click='refresh', large)
v-icon mdi-refresh v-icon mdi-refresh

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-globe-earth.svg', alt='Locale', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-globe-earth.svg', alt='Locale', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{ $t('admin:locale.title') }} .headline.primary--text.animated.fadeInLeft {{ $t('admin:locale.title') }}
.subheading.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:locale.subtitle') }} .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:locale.subtitle') }}
v-spacer v-spacer
v-btn.animated.fadeInDown(color='success', depressed, @click='save', large, :loading='loading') v-btn.animated.fadeInDown(color='success', depressed, @click='save', large, :loading='loading')
v-icon(left) mdi-check v-icon(left) mdi-check

@ -6,12 +6,12 @@
img(src='/svg/icon-registry-editor.svg', alt='Logging', style='width: 80px;') img(src='/svg/icon-registry-editor.svg', alt='Logging', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text Logging .headline.primary--text Logging
.subheading.grey--text Configure the system logger(s) #[v-chip(label, color='primary', small).white--text coming soon] .subtitle-1.grey--text Configure the system logger(s) #[v-chip(label, color='primary', small).white--text coming soon]
v-spacer v-spacer
v-btn(outline, color='grey', @click='refresh', large) v-btn(outline, color='grey', @click='refresh', large)
v-icon refresh v-icon refresh
v-btn(color='black', disabled, depressed, @click='toggleConsole', large) v-btn(color='black', disabled, depressed, @click='toggleConsole', large)
ConsoleLineIcon.mr-3 v-icon check
span Live Trail span Live Trail
v-btn(color='success', @click='save', depressed, large) v-btn(color='success', @click='save', depressed, large)
v-icon(left) check v-icon(left) check
@ -113,12 +113,9 @@ import LoggingConsole from './admin-logging-console.vue'
import loggersQuery from 'gql/admin/logging/logging-query-loggers.gql' import loggersQuery from 'gql/admin/logging/logging-query-loggers.gql'
import loggersSaveMutation from 'gql/admin/logging/logging-mutation-save-loggers.gql' import loggersSaveMutation from 'gql/admin/logging/logging-mutation-save-loggers.gql'
import ConsoleLineIcon from 'mdi/ConsoleLine'
export default { export default {
components: { components: {
LoggingConsole, LoggingConsole
ConsoleLineIcon
}, },
data() { data() {
return { return {

@ -6,28 +6,27 @@
img.animated.fadeInUp(src='/svg/icon-new-post.svg', alt='Mail', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-new-post.svg', alt='Mail', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{ $t('admin:mail.title') }} .headline.primary--text.animated.fadeInLeft {{ $t('admin:mail.title') }}
.subheading.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:mail.subtitle') }} .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:mail.subtitle') }}
v-spacer v-spacer
v-btn.animated.fadeInDown(color='success', depressed, @click='save', large) v-btn.animated.fadeInDown(color='success', depressed, @click='save', large)
v-icon(left) check v-icon(left) mdi-check
span {{$t('common:actions.apply')}} span {{$t('common:actions.apply')}}
v-form.pt-3 v-form.pt-3
v-layout(row wrap) v-layout(row wrap)
v-flex(lg6 xs12) v-flex(lg6 xs12)
v-form v-form
v-card.wiki-form.animated.fadeInUp v-card.animated.fadeInUp
v-toolbar(color='primary', dark, dense, flat) v-toolbar(color='primary', dark, dense, flat)
v-toolbar-title v-toolbar-title.subtitle-1 {{ $t('admin:mail.configuration') }}
.subheading {{ $t('admin:mail.configuration') }} .overline.pa-4.grey--text {{ $t('admin:mail.sender') }}
v-subheader {{ $t('admin:mail.sender') }} .px-4
.px-3.pb-3
v-text-field( v-text-field(
outlined outlined
v-model='config.senderName' v-model='config.senderName'
:label='$t(`admin:mail.senderName`)' :label='$t(`admin:mail.senderName`)'
required required
:counter='255' :counter='255'
prepend-icon='person' prepend-icon='mdi-contact-mail'
) )
v-text-field( v-text-field(
outlined outlined
@ -35,25 +34,25 @@
:label='$t(`admin:mail.senderEmail`)' :label='$t(`admin:mail.senderEmail`)'
required required
:counter='255' :counter='255'
prepend-icon='email' prepend-icon='mdi-at'
) )
v-divider v-divider
v-subheader {{ $t('admin:mail.smtp') }} .overline.pa-4.grey--text {{ $t('admin:mail.smtp') }}
.px-3.pb-3 .px-4
v-text-field( v-text-field(
outlined outlined
v-model='config.host' v-model='config.host'
:label='$t(`admin:mail.smtpHost`)' :label='$t(`admin:mail.smtpHost`)'
required required
:counter='255' :counter='255'
prepend-icon='memory' prepend-icon='mdi-memory'
) )
v-text-field( v-text-field(
outlined outlined
v-model='config.port' v-model='config.port'
:label='$t(`admin:mail.smtpPort`)' :label='$t(`admin:mail.smtpPort`)'
required required
prepend-icon='router' prepend-icon='mdi-serial-port'
persistent-hint persistent-hint
:hint='$t(`admin:mail.smtpPortHint`)' :hint='$t(`admin:mail.smtpPortHint`)'
style='max-width: 300px;' style='max-width: 300px;'
@ -64,7 +63,7 @@
color='primary' color='primary'
persistent-hint persistent-hint
:hint='$t(`admin:mail.smtpTLSHint`)' :hint='$t(`admin:mail.smtpTLSHint`)'
prepend-icon='vpn_lock' prepend-icon='mdi-security-network'
) )
v-text-field.mt-3( v-text-field.mt-3(
outlined outlined
@ -72,37 +71,36 @@
:label='$t(`admin:mail.smtpUser`)' :label='$t(`admin:mail.smtpUser`)'
required required
:counter='255' :counter='255'
prepend-icon='lock_outline' prepend-icon='mdi-shield-account-outline'
) )
v-text-field( v-text-field(
outlined outlined
v-model='config.pass' v-model='config.pass'
:label='$t(`admin:mail.smtpPwd`)' :label='$t(`admin:mail.smtpPwd`)'
required required
prepend-icon='lock' prepend-icon='mdi-textbox-password'
type='password' type='password'
) )
v-flex(lg6 xs12) v-flex(lg6 xs12)
v-card.wiki-form.animated.fadeInUp.wait-p2s v-card.animated.fadeInUp.wait-p2s
v-form v-form
v-toolbar(color='primary', dark, dense, flat) v-toolbar(color='primary', dark, dense, flat)
v-toolbar-title v-toolbar-title.subtitle-1 {{ $t('admin:mail.dkim') }}
.subheading {{ $t('admin:mail.dkim') }} .pa-4
.pa-3
.body-2.grey--text.text--darken-2 {{ $t('admin:mail.dkimHint') }} .body-2.grey--text.text--darken-2 {{ $t('admin:mail.dkimHint') }}
v-switch( v-switch(
v-model='config.useDKIM' v-model='config.useDKIM'
:label='$t(`admin:mail.dkimUse`)' :label='$t(`admin:mail.dkimUse`)'
color='primary' color='primary'
prepend-icon='vpn_key' prepend-icon='mdi-key'
) )
v-text-field( v-text-field(
outlined outlined
v-model='config.dkimDomainName' v-model='config.dkimDomainName'
:label='$t(`admin:mail.dkimDomainName`)' :label='$t(`admin:mail.dkimDomainName`)'
:counter='255' :counter='255'
prepend-icon='vpn_key' prepend-icon='mdi-key'
:disabled='!config.useDKIM' :disabled='!config.useDKIM'
) )
v-text-field( v-text-field(
@ -110,37 +108,38 @@
v-model='config.dkimKeySelector' v-model='config.dkimKeySelector'
:label='$t(`admin:mail.dkimKeySelector`)' :label='$t(`admin:mail.dkimKeySelector`)'
:counter='255' :counter='255'
prepend-icon='vpn_key' prepend-icon='mdi-key'
:disabled='!config.useDKIM' :disabled='!config.useDKIM'
) )
v-text-field( v-textarea(
outlined outlined
v-model='config.dkimPrivateKey' v-model='config.dkimPrivateKey'
:label='$t(`admin:mail.dkimPrivateKey`)' :label='$t(`admin:mail.dkimPrivateKey`)'
prepend-icon='vpn_key' prepend-icon='mdi-key'
persistent-hint persistent-hint
:hint='$t(`admin:mail.dkimPrivateKeyHint`)' :hint='$t(`admin:mail.dkimPrivateKeyHint`)'
:disabled='!config.useDKIM' :disabled='!config.useDKIM'
) )
v-card.mt-3.wiki-form.animated.fadeInUp.wait-p3s v-card.mt-3.animated.fadeInUp.wait-p3s
v-form v-form
v-toolbar(color='teal', dark, dense, flat) v-toolbar(color='teal', dark, dense, flat)
v-toolbar-title v-toolbar-title.subtitle-1 {{ $t('admin:mail.test') }}
.subheading {{ $t('admin:mail.test') }} .pa-4
.pa-3
.body-2.grey--text.text--darken-2 {{ $t('admin:mail.testHint') }} .body-2.grey--text.text--darken-2 {{ $t('admin:mail.testHint') }}
v-text-field.mt-3( v-text-field.mt-3(
outlined outlined
v-model='testEmail' v-model='testEmail'
:label='$t(`admin:mail.testRecipient`)' :label='$t(`admin:mail.testRecipient`)'
:counter='255' :counter='255'
prepend-icon='mail' prepend-icon='mdi-email-outline'
:disabled='testLoading' :disabled='testLoading'
) )
v-card-chin v-card-chin
v-spacer v-spacer
v-btn(color='teal', dark, @click='sendTest', :loading='testLoading') {{ $t('admin:mail.testSend') }} v-btn.px-4(color='teal', dark, @click='sendTest', :loading='testLoading')
v-icon(left) mdi-send
span {{ $t('admin:mail.testSend') }}
</template> </template>

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-triangle-arrow.svg', alt='Navigation', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-triangle-arrow.svg', alt='Navigation', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{$t('navigation.title')}} .headline.primary--text.animated.fadeInLeft {{$t('navigation.title')}}
.subheading.grey--text.animated.fadeInLeft.wait-p4s {{$t('navigation.subtitle')}} .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('navigation.subtitle')}}
v-spacer v-spacer
v-btn.animated.fadeInDown.wait-p2s.mr-3(outlined, color='grey', @click='refresh', large) v-btn.animated.fadeInDown.wait-p2s.mr-3(outlined, color='grey', @click='refresh', large)
v-icon mdi-refresh v-icon mdi-refresh
@ -123,7 +123,7 @@
span {{$t('navigation.delete', { kind: $t('navigation.link') })}} span {{$t('navigation.delete', { kind: $t('navigation.link') })}}
v-card(v-else-if='current.kind === "header"') v-card(v-else-if='current.kind === "header"')
v-toolbar(dense, color='blue', flat, dark) v-toolbar(dense, color='blue', flat, dark)
.subheading {{$t('navigation.edit', { kind: $t('navigation.header') })}} .subtitle-1 {{$t('navigation.edit', { kind: $t('navigation.header') })}}
v-card-text v-card-text
v-text-field( v-text-field(
outlined outlined

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-view-details.svg', alt='Edit Page', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-view-details.svg', alt='Edit Page', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.blue--text.text--darken-2.animated.fadeInLeft Page Details .headline.blue--text.text--darken-2.animated.fadeInLeft Page Details
.subheading.grey--text.animated.fadeInLeft.wait-p2s .subtitle-1.grey--text.animated.fadeInLeft.wait-p2s
v-chip.ml-0.mr-2(label, small).caption ID {{page.id}} v-chip.ml-0.mr-2(label, small).caption ID {{page.id}}
span /{{page.locale}}/{{page.path}} span /{{page.locale}}/{{page.path}}
v-spacer v-spacer

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-file.svg', alt='Page', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-file.svg', alt='Page', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.blue--text.text--darken-2.animated.fadeInLeft Pages .headline.blue--text.text--darken-2.animated.fadeInLeft Pages
.subheading.grey--text.animated.fadeInLeft.wait-p2s Manage pages .subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Manage pages
v-spacer v-spacer
v-btn.animated.fadeInDown.wait-p1s(color='grey', outlined, @click='refresh', large) v-btn.animated.fadeInDown.wait-p1s(color='grey', outlined, @click='refresh', large)
v-icon.grey--text mdi-refresh v-icon.grey--text mdi-refresh

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-process.svg', alt='Rendering', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-process.svg', alt='Rendering', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft Rendering .headline.primary--text.animated.fadeInLeft Rendering
.subheading.grey--text.animated.fadeInLeft.wait-p4s Configure how content is rendered #[v-chip(label, color='primary', small).white--text coming soon] .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s Configure how content is rendered #[v-chip(label, color='primary', small).white--text coming soon]
v-spacer v-spacer
v-btn.animated.fadeInDown.wait-p2s(outline, color='grey', @click='refresh', large) v-btn.animated.fadeInDown.wait-p2s(outline, color='grey', @click='refresh', large)
v-icon refresh v-icon refresh
@ -22,7 +22,7 @@
dark dark
) )
v-icon.mr-2 line_weight v-icon.mr-2 line_weight
.subheading Pipeline .subtitle-1 Pipeline
v-expansion-panel.adm-rendering-pipeline(v-model='selectedCore') v-expansion-panel.adm-rendering-pipeline(v-model='selectedCore')
v-expansion-panel-content( v-expansion-panel-content(
hide-actions hide-actions
@ -68,7 +68,7 @@
dense dense
) )
v-icon.mr-2 {{currentRenderer.icon}} v-icon.mr-2 {{currentRenderer.icon}}
.subheading {{currentRenderer.title}} .subtitle-1 {{currentRenderer.title}}
v-spacer v-spacer
.pt-3.mt-1 .pt-3.mt-1
v-switch( v-switch(

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-search.svg', alt='Search Engine', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-search.svg', alt='Search Engine', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{$t('admin:search.title')}} .headline.primary--text.animated.fadeInLeft {{$t('admin:search.title')}}
.subheading.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:search.subtitle')}} .subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:search.subtitle')}}
v-spacer v-spacer
v-btn.animated.fadeInDown.wait-p2s(outline, color='grey', @click='refresh', large) v-btn.animated.fadeInDown.wait-p2s(outline, color='grey', @click='refresh', large)
v-icon refresh v-icon refresh
@ -20,7 +20,7 @@
v-flex(lg3, xs12) v-flex(lg3, xs12)
v-card.animated.fadeInUp v-card.animated.fadeInUp
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{$t('admin:search.searchEngine')}} .subtitle-1 {{$t('admin:search.searchEngine')}}
v-list.py-0(two-line, dense) v-list.py-0(two-line, dense)
template(v-for='(eng, idx) in engines') template(v-for='(eng, idx) in engines')
v-list-item(:key='eng.key', @click='selectedEngine = eng.key', :disabled='!eng.isAvailable') v-list-item(:key='eng.key', @click='selectedEngine = eng.key', :disabled='!eng.isAvailable')
@ -38,7 +38,7 @@
v-flex(lg9, xs12) v-flex(lg9, xs12)
v-card.wiki-form.animated.fadeInUp.wait-p2s v-card.wiki-form.animated.fadeInUp.wait-p2s
v-toolbar(color='primary', dense, flat, dark) v-toolbar(color='primary', dense, flat, dark)
.subheading {{engine.title}} .subtitle-1 {{engine.title}}
v-card-text v-card-text
.enginelogo .enginelogo
img(:src='engine.logo', :alt='engine.title') img(:src='engine.logo', :alt='engine.title')

@ -4,7 +4,7 @@
v-flex(xs12) v-flex(xs12)
.admin-header-icon: v-icon(size='80', color='grey lighten-2') show_chart .admin-header-icon: v-icon(size='80', color='grey lighten-2') show_chart
.headline.primary--text Statistics .headline.primary--text Statistics
.subheading.grey--text Useful information about your wiki .subtitle-1.grey--text Useful information about your wiki
.pa-3 .pa-3
fingerprint-spinner( fingerprint-spinner(
:animation-duration='1500' :animation-duration='1500'

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-cloud-storage.svg', alt='Storage', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-cloud-storage.svg', alt='Storage', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{$t('admin:storage.title')}} .headline.primary--text.animated.fadeInLeft {{$t('admin:storage.title')}}
.subheading.grey--text.animated.fadeInLeft.wait-p4s {{$t('admin:storage.subtitle')}} .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('admin:storage.subtitle')}}
v-spacer v-spacer
v-btn.animated.fadeInDown.wait-p2s(outline, color='grey', @click='refresh', large) v-btn.animated.fadeInDown.wait-p2s(outline, color='grey', @click='refresh', large)
v-icon refresh v-icon refresh
@ -17,7 +17,7 @@
v-flex(lg3, xs12) v-flex(lg3, xs12)
v-card.animated.fadeInUp v-card.animated.fadeInUp
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{$t('admin:storage.targets')}} .subtitle-1 {{$t('admin:storage.targets')}}
v-list(two-line, dense).py-0 v-list(two-line, dense).py-0
template(v-for='(tgt, idx) in targets') template(v-for='(tgt, idx) in targets')
v-list-item(:key='tgt.key', @click='selectedTarget = tgt.key', :disabled='!tgt.isAvailable') v-list-item(:key='tgt.key', @click='selectedTarget = tgt.key', :disabled='!tgt.isAvailable')
@ -34,7 +34,7 @@
v-card.mt-3.animated.fadeInUp.wait-p2s v-card.mt-3.animated.fadeInUp.wait-p2s
v-toolbar(flat, :color='$vuetify.dark ? `grey darken-3-l5` : `grey darken-3`', dark, dense) v-toolbar(flat, :color='$vuetify.dark ? `grey darken-3-l5` : `grey darken-3`', dark, dense)
.subheading {{$t('admin:storage.status')}} .subtitle-1 {{$t('admin:storage.status')}}
v-spacer v-spacer
looping-rhombuses-spinner( looping-rhombuses-spinner(
:animation-duration='5000' :animation-duration='5000'
@ -79,7 +79,7 @@
v-flex(xs12, lg9) v-flex(xs12, lg9)
v-card.wiki-form.animated.fadeInUp.wait-p2s v-card.wiki-form.animated.fadeInUp.wait-p2s
v-toolbar(color='primary', dense, flat, dark) v-toolbar(color='primary', dense, flat, dark)
.subheading {{target.title}} .subtitle-1 {{target.title}}
v-card-text v-card-text
v-form v-form
.targetlogo .targetlogo
@ -188,7 +188,7 @@
v-flex(xs12, lg6, xl4, v-for='act of target.actions', :key='act.handler') v-flex(xs12, lg6, xl4, v-for='act of target.actions', :key='act.handler')
v-card.radius-7.grey(flat, :class='$vuetify.dark ? `darken-3-d5` : `lighten-3`', height='100%') v-card.radius-7.grey(flat, :class='$vuetify.dark ? `darken-3-d5` : `lighten-3`', height='100%')
v-card-text v-card-text
.subheading(v-html='act.label') .subtitle-1(v-html='act.label')
.body-1.mt-2(v-html='act.hint') .body-1.mt-2(v-html='act.hint')
v-btn.mx-0.mt-3( v-btn.mx-0.mt-3(
@click='executeAction(target.key, act.handler)' @click='executeAction(target.key, act.handler)'

@ -6,107 +6,100 @@
img.animated.fadeInUp(src='/svg/icon-tune.svg', alt='System Info', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-tune.svg', alt='System Info', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{ $t('admin:system.title') }} .headline.primary--text.animated.fadeInLeft {{ $t('admin:system.title') }}
.subheading.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:system.subtitle') }} .subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:system.subtitle') }}
v-layout.mt-3(row wrap) v-layout.mt-3(row wrap)
v-flex(lg6 xs12) v-flex(lg6 xs12)
v-card.animated.fadeInUp v-card.animated.fadeInUp
v-btn.animated.fadeInLeft.wait-p2s.btn-animate-rotate(fab, absolute, right, top, small, light, @click='refresh'): v-icon refresh v-btn.animated.fadeInLeft.wait-p2s.btn-animate-rotate(fab, absolute, right, top, small, light, @click='refresh'): v-icon(color='grey') mdi-refresh
v-list(two-line, dense)
v-subheader Wiki.js v-subheader Wiki.js
v-list(two-line, dense)
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-icon.blue.white--text system_update_alt v-icon.blue.white--text mdi-application-export
v-list-item-content v-list-item-content
v-list-item-title {{ $t('admin:system.currentVersion') }} v-list-item-title {{ $t('admin:system.currentVersion') }}
v-list-item-sub-title {{ info.currentVersion }} v-list-item-subtitle {{ info.currentVersion }}
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-icon.blue.white--text open_in_browser v-icon.blue.white--text mdi-inbox-arrow-up
v-list-item-content v-list-item-content
v-list-item-title {{ $t('admin:system.latestVersion') }} v-list-item-title {{ $t('admin:system.latestVersion') }}
v-list-item-sub-title {{ info.latestVersion }} v-list-item-subtitle {{ info.latestVersion }}
v-list-item-action v-list-item-action
v-list-item-action-text {{ $t('admin:system.published') }} {{ info.latestVersionReleaseDate | moment('from') }} v-list-item-action-text {{ $t('admin:system.published') }} {{ info.latestVersionReleaseDate | moment('from') }}
v-divider.mt-3 v-divider.mt-3
v-subheader {{ $t('admin:system.hostInfo') }} v-subheader {{ $t('admin:system.hostInfo') }}
v-list(two-line, dense)
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-avatar.blue-grey(size='40') v-avatar.blue-grey(size='40')
img(:src='`/svg/icon-` + platformLogo + `-logo.svg`', alt='Platform', style='width: 24px;') v-icon(color='white') {{platformLogo}}
v-list-item-content v-list-item-content
v-list-item-title {{ $t('admin:system.os') }} v-list-item-title {{ $t('admin:system.os') }}
v-list-item-sub-title {{ (info.platform === 'docker') ? 'Docker Container (Linux)' : info.operatingSystem }} v-list-item-subtitle {{ (info.platform === 'docker') ? 'Docker Container (Linux)' : info.operatingSystem }}
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-icon.blue-grey.white--text computer v-icon.blue-grey.white--text mdi-desktop-classic
v-list-item-content v-list-item-content
v-list-item-title {{ $t('admin:system.hostname') }} v-list-item-title {{ $t('admin:system.hostname') }}
v-list-item-sub-title {{ info.hostname }} v-list-item-subtitle {{ info.hostname }}
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-icon.blue-grey.white--text nfc v-icon.blue-grey.white--text mdi-cpu-64-bit
v-list-item-content v-list-item-content
v-list-item-title {{ $t('admin:system.cpuCores') }} v-list-item-title {{ $t('admin:system.cpuCores') }}
v-list-item-sub-title {{ info.cpuCores }} v-list-item-subtitle {{ info.cpuCores }}
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-icon.blue-grey.white--text memory v-icon.blue-grey.white--text mdi-memory
v-list-item-content v-list-item-content
v-list-item-title {{ $t('admin:system.totalRAM') }} v-list-item-title {{ $t('admin:system.totalRAM') }}
v-list-item-sub-title {{ info.ramTotal }} v-list-item-subtitle {{ info.ramTotal }}
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-icon.blue-grey.white--text last_page v-icon.blue-grey.white--text mdi-iframe-outline
v-list-item-content v-list-item-content
v-list-item-title {{ $t('admin:system.workingDirectory') }} v-list-item-title {{ $t('admin:system.workingDirectory') }}
v-list-item-sub-title {{ info.workingDirectory }} v-list-item-subtitle {{ info.workingDirectory }}
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-icon.blue-grey.white--text settings v-icon.blue-grey.white--text mdi-card-bulleted-settings-outline
v-list-item-content v-list-item-content
v-list-item-title {{ $t('admin:system.configFile') }} v-list-item-title {{ $t('admin:system.configFile') }}
v-list-item-sub-title {{ info.configFile }} v-list-item-subtitle {{ info.configFile }}
v-flex(lg6 xs12) v-flex(lg6 xs12)
v-card.pb-3.animated.fadeInUp.wait-p4s v-card.pb-3.animated.fadeInUp.wait-p4s
v-list(dense)
v-subheader Node.js v-subheader Node.js
v-list(dense)
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-avatar.light-green(size='40') v-avatar.light-green(size='40')
icon-node-js(fillColor='#FFFFFF') v-icon(color='white') mdi-nodejs
v-list-item-content v-list-item-content
v-list-item-title {{ info.nodeVersion }} v-list-item-title {{ info.nodeVersion }}
v-divider.mt-3 v-divider.mt-3
v-subheader {{ info.dbType }} v-subheader {{ info.dbType }}
v-list(dense)
v-list-item(avatar) v-list-item(avatar)
v-list-item-avatar v-list-item-avatar
v-avatar.indigo.darken-1(size='40') v-avatar.indigo.darken-1(size='40')
icon-database(fillColor='#FFFFFF') v-icon(color='white') mdi-database
v-list-item-content v-list-item-content
v-list-item-title(v-html='dbVersion') v-list-item-title(v-html='dbVersion')
v-list-item-sub-title {{ info.dbHost }} v-list-item-subtitle {{ info.dbHost }}
v-alert.mt-3(:value='isDbLimited', color='deep-orange', icon='warning') {{ $t('admin:system.dbPartialSupport') }} v-alert.mt-3.mx-4(:value='isDbLimited', color='deep-orange darken-2', icon='mdi-alert', dark) {{ $t('admin:system.dbPartialSupport') }}
</template> </template>
<script> <script>
import _ from 'lodash' import _ from 'lodash'
import IconDatabase from 'mdi/Database'
import IconNodeJs from 'mdi/Nodejs'
import systemInfoQuery from 'gql/admin/system/system-query-info.gql' import systemInfoQuery from 'gql/admin/system/system-query-info.gql'
export default { export default {
components: {
IconDatabase,
IconNodeJs
},
data() { data() {
return { return {
info: {} info: {}
@ -119,13 +112,17 @@ export default {
platformLogo() { platformLogo() {
switch (this.info.platform) { switch (this.info.platform) {
case 'docker': case 'docker':
return 'docker' return 'mdi-docker'
case 'darwin': case 'darwin':
return 'apple' return 'mdi-apple'
case 'linux': case 'linux':
return 'linux' if (this.info.operatingSystem.indexOf('Ubuntu')) {
return 'mdi-ubuntu'
} else {
return 'mdi-linux'
}
case 'win32': case 'win32':
return 'windows' return 'mdi-windows'
default: default:
return '' return ''
} }

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-paint-palette.svg', alt='Theme', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-paint-palette.svg', alt='Theme', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{$t('admin:theme.title')}} .headline.primary--text.animated.fadeInLeft {{$t('admin:theme.title')}}
.subheading.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:theme.subtitle')}} .subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:theme.subtitle')}}
v-spacer v-spacer
v-btn.animated.fadeInRight(color='success', depressed, @click='save', large, :loading='loading') v-btn.animated.fadeInRight(color='success', depressed, @click='save', large, :loading='loading')
v-icon(left) mdi-check v-icon(left) mdi-check

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-male-user.svg', alt='Edit User', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-male-user.svg', alt='Edit User', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.blue--text.text--darken-2.animated.fadeInLeft Edit User .headline.blue--text.text--darken-2.animated.fadeInLeft Edit User
.subheading.grey--text.animated.fadeInLeft.wait-p2s {{user.name}} .subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{user.name}}
v-spacer v-spacer
.caption.grey--text.animated.fadeInRight.wait-p5s ID #[strong {{user.id}}] .caption.grey--text.animated.fadeInRight.wait-p5s ID #[strong {{user.id}}]
v-divider.animated.fadeInRight.wait-p3s.mx-3(vertical) v-divider.animated.fadeInRight.wait-p3s.mx-3(vertical)

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-customer.svg', alt='Users', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-customer.svg', alt='Users', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.blue--text.text--darken-2.animated.fadeInLeft Users .headline.blue--text.text--darken-2.animated.fadeInLeft Users
.subheading.grey--text.animated.fadeInLeft.wait-p2s Manage users .subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Manage users
v-spacer v-spacer
v-btn.animated.fadeInDown.wait-p2s.mr-3(outlined, color='grey', large, @click='refresh') v-btn.animated.fadeInDown.wait-p2s.mr-3(outlined, color='grey', large, @click='refresh')
v-icon mdi-refresh v-icon mdi-refresh

@ -1,19 +1,19 @@
<template lang='pug'> <template lang='pug'>
v-card v-card
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{ $t('admin:utilities.authTitle') }} .subtitle-1 {{ $t('admin:utilities.authTitle') }}
v-card-text v-card-text
v-subheader.pl-0.primary--text Generate New Authentication Public / Private Key Certificates .subtitle-1.pb-3.primary--text Generate New Authentication Public / Private Key Certificates
.body-1 This will invalidate all current session tokens and cause all users to be logged out. .body-2 This will invalidate all current session tokens and cause all users to be logged out.
.body-1.red--text You will need to log back in after the operation. .body-2.red--text You will need to log back in after the operation.
v-btn(outline, color='primary', @click='regenCerts', :disabled='loading').ml-0.mt-3 v-btn(outlined, color='primary', @click='regenCerts', :disabled='loading').ml-0.mt-3
v-icon(left) build v-icon(left) mdi-gesture-double-tap
span Proceed span Proceed
v-divider.my-3 v-divider.my-5
v-subheader.pl-0.primary--text Reset Guest User .subtitle-1.pb-3.primary--text Reset Guest User
.body-1 This will reset the guest user to its default parameters and permissions. .body-2 This will reset the guest user to its default parameters and permissions.
v-btn(outline, color='primary', @click='resetGuest', :disabled='loading').ml-0.mt-3 v-btn(outlined, color='primary', @click='resetGuest', :disabled='loading').ml-0.mt-3
v-icon(left) build v-icon(left) mdi-gesture-double-tap
span Proceed span Proceed
</template> </template>

@ -1,26 +1,26 @@
<template lang='pug'> <template lang='pug'>
v-card v-card
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{ $t('admin:utilities.cacheTitle') }} .subtitle-1 {{ $t('admin:utilities.cacheTitle') }}
v-card-text v-card-text
v-subheader.pl-0.primary--text Flush Pages and Assets Cache .subtitle-1.pb-3.primary--text Flush Pages and Assets Cache
.body-1 Pages and Assets are cached to disk for better performance. You can flush the cache to force all content to be fetched from the DB again. .body-2 Pages and Assets are cached to disk for better performance. You can flush the cache to force all content to be fetched from the DB again.
v-btn(outline, color='primary', @click='flushCache', :disabled='loading').ml-0.mt-3 v-btn(outlined, color='primary', @click='flushCache', :disabled='loading').ml-0.mt-3
v-icon(left) build v-icon(left) mdi-gesture-double-tap
span Proceed span Proceed
v-divider.my-3 v-divider.my-5
v-subheader.pl-0.primary--text Flush Temporary Uploads .subtitle-1.pb-3.primary--text Flush Temporary Uploads
.body-1 New uploads are temporarily saved to disk while they are being processed. They are automatically deleted after processing, but you can force an immediate cleanup using this tool. .body-2 New uploads are temporarily saved to disk while they are being processed. They are automatically deleted after processing, but you can force an immediate cleanup using this tool.
.body-1.red--text Note that performing this action while an upload is in progress can result in a failed upload. .body-2.red--text Note that performing this action while an upload is in progress can result in a failed upload.
v-btn(outline, color='primary', @click='flushUploads', :disabled='loading').ml-0.mt-3 v-btn(outlined, color='primary', @click='flushUploads', :disabled='loading').ml-0.mt-3
v-icon(left) build v-icon(left) mdi-gesture-double-tap
span Proceed span Proceed
v-divider.my-3 v-divider.my-5
v-subheader.pl-0.primary--text Flush Client-Side Locale Cache .subtitle-1.pb-3.primary--text Flush Client-Side Locale Cache
.body-1 Locale strings are cached in the browser local storage for 24h. You can delete your current cache in order to fetch the latest data during the next page load. .body-2 Locale strings are cached in the browser local storage for 24h. You can delete your current cache in order to fetch the latest data during the next page load.
.body-1 Note that this affects only #[strong your own browser] and not everyone. .body-2 Note that this affects only #[strong your own browser] and not everyone.
v-btn(outline, color='primary', @click='flushClientLocaleCache', :disabled='loading').ml-0.mt-3 v-btn(outlined, color='primary', @click='flushClientLocaleCache', :disabled='loading').ml-0.mt-3
v-icon(left) build v-icon(left) mdi-gesture-double-tap
span Proceed span Proceed
</template> </template>

@ -1,12 +1,12 @@
<template lang='pug'> <template lang='pug'>
v-card v-card
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{ $t('admin:utilities.contentTitle') }} .subtitle-1 {{ $t('admin:utilities.contentTitle') }}
v-card-text v-card-text
v-subheader.pl-0.primary--text Migrate all pages to target locale .subtitle-1.pb-3.pl-0.primary--text Migrate all pages to target locale
.body-1 If you created content before selecting a different locale and activating the namespacing capabilities, you may want to transfer all content to the base locale. .body-2 If you created content before selecting a different locale and activating the namespacing capabilities, you may want to transfer all content to the base locale.
.body-1.red--text: strong This operation is destructive and cannot be reversed! Make sure you have proper backups! .body-2.red--text: strong This operation is destructive and cannot be reversed! Make sure you have proper backups!
v-toolbar.radius-7.mt-3.wiki-form(flat, color='grey lighten-4', height='80') v-toolbar.mt-5(flat, color='grey lighten-4', height='80')
v-select( v-select(
label='Source Locale' label='Source Locale'
outlined outlined
@ -16,7 +16,7 @@
item-value='code' item-value='code'
v-model='sourceLocale' v-model='sourceLocale'
) )
v-icon.mx-3(large) arrow_forward v-icon.mx-3(large) mdi-chevron-right-box-outline
v-select( v-select(
label='Target Locale' label='Target Locale'
outlined outlined
@ -26,9 +26,9 @@
item-value='code' item-value='code'
v-model='targetLocale' v-model='targetLocale'
) )
.body-1.mt-3 Pages that are already in the target locale will not be touched. If a page already exists at the target, the source page will not be modified as it would create a conflict. If you want to overwrite the target page, you must first delete it. .body-2.mt-5 Pages that are already in the target locale will not be touched. If a page already exists at the target, the source page will not be modified as it would create a conflict. If you want to overwrite the target page, you must first delete it.
v-btn(outline, color='primary', @click='migrateToLocale', :disabled='loading').ml-0.mt-3 v-btn(outlined, color='primary', @click='migrateToLocale', :disabled='loading').ml-0.mt-3
v-icon(left) build v-icon(left) mdi-gesture-double-tap
span Proceed span Proceed
</template> </template>

@ -1,7 +1,7 @@
<template lang='pug'> <template lang='pug'>
v-card.wiki-form v-card.wiki-form
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{ $t('admin:utilities.importv1Title') }} .subtitle-1 {{ $t('admin:utilities.importv1Title') }}
v-card-text v-card-text
.text-xs-center .text-xs-center
img.animated.fadeInUp.wait-p1s(src='/svg/icon-software.svg') img.animated.fadeInUp.wait-p1s(src='/svg/icon-software.svg')

@ -1,54 +1,54 @@
<template lang='pug'> <template lang='pug'>
v-card v-card
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{ $t('admin:utilities.telemetryTitle') }} .subtitle-1 {{ $t('admin:utilities.telemetryTitle') }}
v-form v-form
v-card-text v-card-text
v-subheader What is telemetry? .subtitle-2 What is telemetry?
.body-1.pl-3 Telemetry allows the developers of Wiki.js to improve the software by collecting basic anonymized data about its usage and the host info. #[br] This is entirely optional and #[strong absolutely no] private data (such as content or personal data) is collected. .body-2.mt-3 Telemetry allows the developers of Wiki.js to improve the software by collecting basic anonymized data about its usage and the host info. #[br] This is entirely optional and #[strong absolutely no] private data (such as content or personal data) is collected.
.body-1.pt-3.pl-3 For maximum privacy, a random client ID is generated during setup. This ID is used to group requests together while keeping complete anonymity. You can reset and generate a new one below at any time. .body-2.mt-3 For maximum privacy, a random client ID is generated during setup. This ID is used to group requests together while keeping complete anonymity. You can reset and generate a new one below at any time.
v-divider.my-3 v-divider.my-4
v-subheader What is collected? .subtitle-2 What is collected?
.body-1.pl-3 When telemetry is enabled, only the following data is transmitted: .body-2.mt-3 When telemetry is enabled, only the following data is transmitted:
v-list v-list
v-list-item v-list-item
v-list-item-avatar: v-icon info_outline v-list-item-avatar: v-icon mdi-information-outline
v-list-item-content v-list-item-content
v-list-item-title.body-1 Version of Wiki.js installed v-list-item-title.body-2 Version of Wiki.js installed
v-list-item-sub-title.caption: em e.g. v2.0.123 v-list-item-subtitle.caption: em e.g. v2.0.123
v-list-item v-list-item
v-list-item-avatar: v-icon info_outline v-list-item-avatar: v-icon mdi-information-outline
v-list-item-content v-list-item-content
v-list-item-title.body-1 Basic OS information v-list-item-title.body-2 Basic OS information
v-list-item-sub-title.caption: em Platform (Linux, macOS or Windows), Total CPU cores and DB type (PostgreSQL, MySQL, MariaDB, SQLite or SQL Server) v-list-item-subtitle.caption: em Platform (Linux, macOS or Windows), Total CPU cores and DB type (PostgreSQL, MySQL, MariaDB, SQLite or SQL Server)
v-list-item v-list-item
v-list-item-avatar: v-icon info_outline v-list-item-avatar: v-icon mdi-information-outline
v-list-item-content v-list-item-content
v-list-item-title.body-1 Crash debug data v-list-item-title.body-2 Crash debug data
v-list-item-sub-title.caption: em Stack trace of the error v-list-item-subtitle.caption: em Stack trace of the error
v-list-item v-list-item
v-list-item-avatar: v-icon info_outline v-list-item-avatar: v-icon mdi-information-outline
v-list-item-content v-list-item-content
v-list-item-title.body-1 Setup analytics v-list-item-title.body-2 Setup analytics
v-list-item-sub-title.caption: em Installation checkpoint reached v-list-item-subtitle.caption: em Installation checkpoint reached
.body-1.pl-3 Note that crash debug data is stored for a maximum of 30 days while analytics are stored for a maximum of 16 months, after which it is permanently deleted. .body-2 Note that crash debug data is stored for a maximum of 30 days while analytics are stored for a maximum of 16 months, after which it is permanently deleted.
v-divider.my-3 v-divider.my-4
v-subheader What is it used for? .subtitle-2 What is it used for?
.body-1.pl-3 Telemetry is used by developers to improve Wiki.js, mostly for the following reasons: .body-2.mt-3 Telemetry is used by developers to improve Wiki.js, mostly for the following reasons:
v-list(dense) v-list(dense)
v-list-item v-list-item
v-list-item-avatar: v-icon chevron_right v-list-item-avatar: v-icon mdi-chevron-right
v-list-item-content: v-list-item-title.body-1 Identify critical bugs more easily and fix them in a timely manner. v-list-item-content: v-list-item-title: .body-2 Identify critical bugs more easily and fix them in a timely manner.
v-list-item v-list-item
v-list-item-avatar: v-icon chevron_right v-list-item-avatar: v-icon mdi-chevron-right
v-list-item-content: v-list-item-title.body-1 Understand the upgrade rate of current installations. v-list-item-content: v-list-item-title: .body-2 Understand the upgrade rate of current installations.
v-list-item v-list-item
v-list-item-avatar: v-icon chevron_right v-list-item-avatar: v-icon mdi-chevron-right
v-list-item-content: v-list-item-title.body-1 Optimize performance and testing scenarios based on most popular environments. v-list-item-content: v-list-item-title: .body-2 Optimize performance and testing scenarios based on most popular environments.
.body-1.pl-3 Only authorized developers have access to the data. It is not shared to any 3rd party nor is it used for any other application than improving Wiki.js. .body-2 Only authorized developers have access to the data. It is not shared to any 3rd party nor is it used for any other application than improving Wiki.js.
v-divider.my-3 v-divider.my-4
v-subheader Settings .subtitle-2 Settings
.pl-3 .mt-3
v-switch.mt-0( v-switch.mt-0(
v-model='telemetry', v-model='telemetry',
label='Enable Telemetry', label='Enable Telemetry',
@ -56,15 +56,16 @@
hint='Allow Wiki.js to transmit telemetry data.', hint='Allow Wiki.js to transmit telemetry data.',
persistent-hint persistent-hint
) )
.subheading.mt-3.grey--text.text--darken-1 Client ID v-divider.my-4
.body-1 {{clientId}} .subtitle-2.mt-3.grey--text.text--darken-1 Client ID
.body-2.mt-2 {{clientId}}
v-card-chin v-card-chin
v-btn(depressed, color='success', @click='updateTelemetry') v-btn.px-3(depressed, color='success', @click='updateTelemetry')
v-icon(left) chevron_right v-icon(left) mdi-chevron-right
| Save Changes | Save Changes
v-spacer v-spacer
v-btn(outline, color='grey', @click='resetClientId') v-btn.px-3(outlined, color='grey', @click='resetClientId')
v-icon(left) autorenew v-icon(left) mdi-autorenew
span Reset Client ID span Reset Client ID
</template> </template>

@ -6,12 +6,12 @@
img(src='/svg/icon-maintenance.svg', alt='Utilities', style='width: 80px;') img(src='/svg/icon-maintenance.svg', alt='Utilities', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text {{$t('admin:utilities.title')}} .headline.primary--text {{$t('admin:utilities.title')}}
.subheading.grey--text {{$t('admin:utilities.subtitle')}} .subtitle-1.grey--text {{$t('admin:utilities.subtitle')}}
v-flex(lg3, xs12) v-flex(lg3, xs12)
v-card.animated.fadeInUp v-card.animated.fadeInUp
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading {{$t('admin:utilities.tools')}} .subtitle-1 {{$t('admin:utilities.tools')}}
v-list(two-line, dense).py-0 v-list(two-line, dense).py-0
template(v-for='(tool, idx) in tools') template(v-for='(tool, idx) in tools')
v-list-item(:key='tool.key', @click='selectedTool = tool.key', :disabled='!tool.isAvailable') v-list-item(:key='tool.key', @click='selectedTool = tool.key', :disabled='!tool.isAvailable')
@ -19,9 +19,9 @@
v-icon(:color='!tool.isAvailable ? `grey lighten-1` : (selectedTool === tool.key ? `blue ` : `grey darken-1`)') {{ tool.icon }} v-icon(:color='!tool.isAvailable ? `grey lighten-1` : (selectedTool === tool.key ? `blue ` : `grey darken-1`)') {{ tool.icon }}
v-list-item-content v-list-item-content
v-list-item-title.body-2(:class='!tool.isAvailable ? `grey--text` : (selectedTool === tool.key ? `primary--text` : ``)') {{ $t('admin:utilities.' + tool.i18nKey + 'Title') }} v-list-item-title.body-2(:class='!tool.isAvailable ? `grey--text` : (selectedTool === tool.key ? `primary--text` : ``)') {{ $t('admin:utilities.' + tool.i18nKey + 'Title') }}
v-list-item-sub-title.caption(:class='!tool.isAvailable ? `grey--text text--lighten-1` : (selectedTool === tool.key ? `blue--text ` : ``)') {{ $t('admin:utilities.' + tool.i18nKey + 'Subtitle') }} v-list-item-subtitle: .caption(:class='!tool.isAvailable ? `grey--text text--lighten-1` : (selectedTool === tool.key ? `blue--text ` : ``)') {{ $t('admin:utilities.' + tool.i18nKey + 'Subtitle') }}
v-list-item-avatar(v-if='selectedTool === tool.key') v-list-item-avatar(v-if='selectedTool === tool.key')
v-icon.animated.fadeInLeft(color='primary') arrow_forward_ios v-icon.animated.fadeInLeft(color='primary', large) mdi-chevron-right
v-divider(v-if='idx < tools.length - 1') v-divider(v-if='idx < tools.length - 1')
v-flex.animated.fadeInUp.wait-p2s(xs12, lg9) v-flex.animated.fadeInUp.wait-p2s(xs12, lg9)
@ -46,37 +46,37 @@ export default {
tools: [ tools: [
{ {
key: 'UtilityAuth', key: 'UtilityAuth',
icon: 'lock_outline', icon: 'mdi-lock-open-outline',
i18nKey: 'auth', i18nKey: 'auth',
isAvailable: true isAvailable: true
}, },
{ {
key: 'UtilityContent', key: 'UtilityContent',
icon: 'insert_drive_file', icon: 'mdi-content-duplicate',
i18nKey: 'content', i18nKey: 'content',
isAvailable: true isAvailable: true
}, },
{ {
key: 'UtilityCache', key: 'UtilityCache',
icon: 'invert_colors', icon: 'mdi-database-refresh',
i18nKey: 'cache', i18nKey: 'cache',
isAvailable: true isAvailable: true
}, },
{ {
key: 'UtilityGraphEndpoint', key: 'UtilityGraphEndpoint',
icon: 'settings_ethernet', icon: 'mdi-graphql',
i18nKey: 'graphEndpoint', i18nKey: 'graphEndpoint',
isAvailable: false isAvailable: false
}, },
{ {
key: 'UtilityImportv1', key: 'UtilityImportv1',
icon: 'present_to_all', icon: 'mdi-database-import',
i18nKey: 'importv1', i18nKey: 'importv1',
isAvailable: false isAvailable: false
}, },
{ {
key: 'UtilityTelemetry', key: 'UtilityTelemetry',
icon: 'wifi_tethering', icon: 'mdi-math-compass',
i18nKey: 'telemetry', i18nKey: 'telemetry',
isAvailable: true isAvailable: true
} }

@ -6,7 +6,7 @@
img.animated.fadeInUp(src='/svg/icon-winter.svg', alt='Mail', style='width: 80px;') img.animated.fadeInUp(src='/svg/icon-winter.svg', alt='Mail', style='width: 80px;')
.admin-header-title .admin-header-title
.headline.primary--text.animated.fadeInLeft {{ $t('admin:webhooks.title') }} .headline.primary--text.animated.fadeInLeft {{ $t('admin:webhooks.title') }}
.subheading.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:webhooks.subtitle') }} .subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:webhooks.subtitle') }}
v-spacer v-spacer
v-btn.animated.fadeInDown(color='success', depressed, @click='save', large, disabled) v-btn.animated.fadeInDown(color='success', depressed, @click='save', large, disabled)
v-icon(left) check v-icon(left) check
@ -15,7 +15,7 @@
v-flex(lg3, xs12) v-flex(lg3, xs12)
v-card.animated.fadeInUp v-card.animated.fadeInUp
v-toolbar(flat, color='primary', dark, dense) v-toolbar(flat, color='primary', dark, dense)
.subheading Webhooks .subtitle-1 Webhooks
v-spacer v-spacer
v-btn(outline, small) v-btn(outline, small)
v-icon.mr-2 add v-icon.mr-2 add
@ -36,7 +36,7 @@
v-flex(xs12, lg9) v-flex(xs12, lg9)
v-card.wiki-form.animated.fadeInUp.wait-p2s v-card.wiki-form.animated.fadeInUp.wait-p2s
v-toolbar(color='primary', dense, flat, dark) v-toolbar(color='primary', dense, flat, dark)
.subheading {{hook.title}} .subtitle-1 {{hook.title}}
v-card-text v-card-text
v-form v-form
.authlogo .authlogo
@ -50,7 +50,7 @@
<script> <script>
import _ from 'lodash' import _ from 'lodash'
import { get } from 'vuex-pathify' // import { get } from 'vuex-pathify'
import mailConfigQuery from 'gql/admin/mail/mail-query-config.gql' import mailConfigQuery from 'gql/admin/mail/mail-query-config.gql'
import mailUpdateConfigMutation from 'gql/admin/mail/mail-mutation-save-config.gql' import mailUpdateConfigMutation from 'gql/admin/mail/mail-mutation-save-config.gql'

@ -32,7 +32,7 @@
v-list-item-title.body-2 {{$t('common:header.newPage')}} v-list-item-title.body-2 {{$t('common:header.newPage')}}
template(v-if='path && path.length') template(v-if='path && path.length')
v-divider.my-0 v-divider.my-0
v-subheader {{$t('common:header.currentPage')}} .overline.pa-4.grey--text {{$t('common:header.currentPage')}}
v-list-item.pl-4(@click='pageView', v-if='mode !== `view`') v-list-item.pl-4(@click='pageView', v-if='mode !== `view`')
v-list-item-avatar(size='24'): v-icon(color='indigo') subject v-list-item-avatar(size='24'): v-icon(color='indigo') subject
v-list-item-title.body-2 {{$t('common:header.view')}} v-list-item-title.body-2 {{$t('common:header.view')}}
@ -52,7 +52,7 @@
v-list-item-avatar(size='24'): v-icon(color='red darken-2') mdi-trash-can-outline v-list-item-avatar(size='24'): v-icon(color='red darken-2') mdi-trash-can-outline
v-list-item-title.body-2 {{$t('common:header.delete')}} v-list-item-title.body-2 {{$t('common:header.delete')}}
v-divider.my-0 v-divider.my-0
v-subheader {{$t('common:header.assets')}} .overline.pa-4.grey--text {{$t('common:header.assets')}}
v-list-item.pl-4(@click='assets') v-list-item.pl-4(@click='assets')
v-list-item-avatar(size='24'): v-icon(color='grey lighten-2') mdi-folder-multiple-image v-list-item-avatar(size='24'): v-icon(color='grey lighten-2') mdi-folder-multiple-image
v-list-item-title.body-2.grey--text.text--ligten-2 {{$t('common:header.imagesFiles')}} v-list-item-title.body-2.grey--text.text--ligten-2 {{$t('common:header.imagesFiles')}}
@ -318,7 +318,7 @@ export default {
this.$store.commit('showNotification', { this.$store.commit('showNotification', {
style: 'indigo', style: 'indigo',
message: `Coming soon...`, message: `Coming soon...`,
icon: 'directions_boat' icon: 'ferry'
}) })
}, },
pageDelete () { pageDelete () {
@ -329,7 +329,7 @@ export default {
this.$store.commit('showNotification', { this.$store.commit('showNotification', {
style: 'indigo', style: 'indigo',
message: `Coming soon...`, message: `Coming soon...`,
icon: 'directions_boat' icon: 'ferry'
}) })
}, },
async changeLocale(locale) { async changeLocale(locale) {

@ -2,20 +2,20 @@
v-dialog(v-model='isShown', max-width='550', persistent) v-dialog(v-model='isShown', max-width='550', persistent)
v-card.wiki-form v-card.wiki-form
.dialog-header.is-short.is-red .dialog-header.is-short.is-red
v-icon.mr-2(color='white') highlight_off v-icon.mr-2(color='white') mdi-file-document-box-remove-outline
span {{$t('common:page.delete')}} span {{$t('common:page.delete')}}
v-card-text v-card-text
i18next.body-2(path='common:page.deleteTitle', tag='div') i18next.body-1(path='common:page.deleteTitle', tag='div')
span.red--text.text--darken-2(place='title') {{pageTitle}} span.red--text.text--darken-2(place='title') {{pageTitle}}
.caption {{$t('common:page.deleteSubtitle')}} .caption {{$t('common:page.deleteSubtitle')}}
v-chip.mt-3.ml-0.mr-1(label, color='red lighten-4', disabled, small) v-chip.mt-3.ml-0.mr-1(label, color='red lighten-4', small)
.caption.red--text.text--darken-2 {{pageLocale.toUpperCase()}} .caption.red--text.text--darken-2 {{pageLocale.toUpperCase()}}
v-chip.mt-3.mx-0(label, color='red lighten-5', disabled, small) v-chip.mt-3.mx-0(label, color='red lighten-5', small)
span.red--text.text--darken-2 /{{pagePath}} span.red--text.text--darken-2 /{{pagePath}}
v-card-chin v-card-chin
v-spacer v-spacer
v-btn(flat, @click='discard', :disabled='loading') {{$t('common:actions.cancel')}} v-btn(text, @click='discard', :disabled='loading') {{$t('common:actions.cancel')}}
v-btn(color='red darken-2', @click='deletePage', :loading='loading').white--text {{$t('common:actions.delete')}} v-btn.px-4(color='red darken-2', @click='deletePage', :loading='loading').white--text {{$t('common:actions.delete')}}
</template> </template>
<script> <script>

@ -2,7 +2,7 @@
v-dialog(v-model='isShown', max-width='850px') v-dialog(v-model='isShown', max-width='850px')
v-card.page-selector v-card.page-selector
.dialog-header.is-dark .dialog-header.is-dark
v-icon.mr-2(color='white') find_in_page v-icon.mr-3(color='white') mdi-page-next-outline
span Select Page Location span Select Page Location
v-spacer v-spacer
v-progress-circular( v-progress-circular(
@ -71,9 +71,9 @@
) )
v-card-chin v-card-chin
v-spacer v-spacer
v-btn(outline, @click='close') Cancel v-btn(text, @click='close') Cancel
v-btn(color='primary', @click='open') v-btn.px-4(color='primary', @click='open')
v-icon(left) check v-icon(left) mdi-check
span Select span Select
</template> </template>

@ -7,29 +7,29 @@
v-spacer v-spacer
template(slot='actions') template(slot='actions')
v-btn.animated.fadeInDown( v-btn.animated.fadeInDown(
flat text
color='green' color='green'
@click.native.stop='save' @click.native.stop='save'
:class='{ "is-icon": $vuetify.breakpoint.mdAndDown }' :class='{ "is-icon": $vuetify.breakpoint.mdAndDown }'
) )
v-icon(color='green', :left='$vuetify.breakpoint.lgAndUp') check v-icon(color='green', :left='$vuetify.breakpoint.lgAndUp') mdi-check
span.white--text(v-if='$vuetify.breakpoint.lgAndUp') {{ mode === 'create' ? $t('common:actions.create') : $t('common:actions.save') }} span.white--text(v-if='$vuetify.breakpoint.lgAndUp') {{ mode === 'create' ? $t('common:actions.create') : $t('common:actions.save') }}
v-btn.animated.fadeInDown.wait-p1s( v-btn.animated.fadeInDown.wait-p1s(
flat text
color='blue' color='blue'
@click.native.stop='openPropsModal' @click.native.stop='openPropsModal'
:class='{ "is-icon": $vuetify.breakpoint.mdAndDown, "mx-0": !welcomeMode, "ml-0": welcomeMode }' :class='{ "is-icon": $vuetify.breakpoint.mdAndDown, "mx-0": !welcomeMode, "ml-0": welcomeMode }'
) )
v-icon(color='blue', :left='$vuetify.breakpoint.lgAndUp') sort_by_alpha v-icon(color='blue', :left='$vuetify.breakpoint.lgAndUp') mdi-tag-text-outline
span.white--text(v-if='$vuetify.breakpoint.lgAndUp') {{ $t('common:actions.page') }} span.white--text(v-if='$vuetify.breakpoint.lgAndUp') {{ $t('common:actions.page') }}
v-btn.animated.fadeInDown.wait-p2s( v-btn.animated.fadeInDown.wait-p2s(
v-if='!welcomeMode' v-if='!welcomeMode'
flat text
color='red' color='red'
:class='{ "is-icon": $vuetify.breakpoint.mdAndDown }' :class='{ "is-icon": $vuetify.breakpoint.mdAndDown }'
@click.native.stop='exit' @click.native.stop='exit'
) )
v-icon(color='red', :left='$vuetify.breakpoint.lgAndUp') close v-icon(color='red', :left='$vuetify.breakpoint.lgAndUp') mdi-close
span.white--text(v-if='$vuetify.breakpoint.lgAndUp') {{ $t('common:actions.close') }} span.white--text(v-if='$vuetify.breakpoint.lgAndUp') {{ $t('common:actions.close') }}
v-content v-content
component(:is='currentEditor', :save='save') component(:is='currentEditor', :save='save')

@ -9,37 +9,38 @@
template(v-else) template(v-else)
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn(icon, slot='activator', @click='toggleMarkup({ start: `**` })').mx-0 v-btn.animated.fadeIn(icon, slot='activator', @click='toggleMarkup({ start: `**` })').mx-0
v-icon format_bold v-icon mdi-format-bold
span {{$t('editor:markup.bold')}} span {{$t('editor:markup.bold')}}
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p1s(icon, slot='activator', @click='toggleMarkup({ start: `*` })').mx-0 v-btn.animated.fadeIn.wait-p1s(icon, slot='activator', @click='toggleMarkup({ start: `*` })').mx-0
v-icon format_italic v-icon mdi-format-italic
span {{$t('editor:markup.italic')}} span {{$t('editor:markup.italic')}}
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p2s(icon, slot='activator', @click='toggleMarkup({ start: `~~` })').mx-0 v-btn.animated.fadeIn.wait-p2s(icon, slot='activator', @click='toggleMarkup({ start: `~~` })').mx-0
v-icon format_strikethrough v-icon mdi-format-strikethrough
span {{$t('editor:markup.strikethrough')}} span {{$t('editor:markup.strikethrough')}}
v-menu(offset-y, open-on-hover) v-menu(offset-y, open-on-hover)
v-btn.animated.fadeIn.wait-p3s(icon, slot='activator').mx-0 template(v-slot:activator='{ on }')
v-icon text_fields v-btn.animated.fadeIn.wait-p3s(icon, v-on='on').mx-0
v-icon mdi-format-header-pound
v-list.py-0 v-list.py-0
template(v-for='(n, idx) in 6') template(v-for='(n, idx) in 6')
v-list-item(@click='setHeaderLine(n)', :key='idx') v-list-item(@click='setHeaderLine(n)', :key='idx')
v-list-item-action v-list-item-action
v-icon(:size='24 - (idx - 1) * 2') title v-icon(:size='24 - (idx - 1) * 2') mdi-format-header-{{n}}
v-list-item-title {{$t('editor:markup.heading', { level: n })}} v-list-item-title {{$t('editor:markup.heading', { level: n })}}
v-divider(v-if='idx < 5') v-divider(v-if='idx < 5')
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p4s(icon, slot='activator', @click='toggleMarkup({ start: `~` })').mx-0 v-btn.animated.fadeIn.wait-p4s(icon, slot='activator', @click='toggleMarkup({ start: `~` })').mx-0
v-icon vertical_align_bottom v-icon mdi-format-subscript
span {{$t('editor:markup.subscript')}} span {{$t('editor:markup.subscript')}}
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p5s(icon, slot='activator', @click='toggleMarkup({ start: `^` })').mx-0 v-btn.animated.fadeIn.wait-p5s(icon, slot='activator', @click='toggleMarkup({ start: `^` })').mx-0
v-icon vertical_align_top v-icon mdi-format-superscript
span {{$t('editor:markup.superscript')}} span {{$t('editor:markup.superscript')}}
v-menu(offset-y, open-on-hover) v-menu(offset-y, open-on-hover)
v-btn.animated.fadeIn.wait-p6s(icon, slot='activator').mx-0 v-btn.animated.fadeIn.wait-p6s(icon, slot='activator').mx-0
v-icon format_quote v-icon mdi-alpha-t-box-outline
v-list.py-0 v-list.py-0
v-list-item(@click='insertBeforeEachLine({ content: `> `})') v-list-item(@click='insertBeforeEachLine({ content: `> `})')
v-list-item-action v-list-item-action
@ -68,73 +69,73 @@
v-divider v-divider
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p7s(icon, slot='activator', @click='insertBeforeEachLine({ content: `- `})').mx-0 v-btn.animated.fadeIn.wait-p7s(icon, slot='activator', @click='insertBeforeEachLine({ content: `- `})').mx-0
v-icon format_list_bulleted v-icon mdi-format-list-bulleted
span {{$t('editor:markup.unorderedList')}} span {{$t('editor:markup.unorderedList')}}
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p8s(icon, slot='activator', @click='insertBeforeEachLine({ content: `1. `})').mx-0 v-btn.animated.fadeIn.wait-p8s(icon, slot='activator', @click='insertBeforeEachLine({ content: `1. `})').mx-0
v-icon format_list_numbered v-icon mdi-format-list-numbered
span {{$t('editor:markup.orderedList')}} span {{$t('editor:markup.orderedList')}}
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p9s(icon, slot='activator', @click='toggleMarkup({ start: "`" })').mx-0 v-btn.animated.fadeIn.wait-p9s(icon, slot='activator', @click='toggleMarkup({ start: "`" })').mx-0
v-icon space_bar v-icon mdi-code-tags
span {{$t('editor:markup.inlineCode')}} span {{$t('editor:markup.inlineCode')}}
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p10s(icon, slot='activator', @click='toggleMarkup({ start: `<kbd>`, end: `</kbd>` })').mx-0 v-btn.animated.fadeIn.wait-p10s(icon, slot='activator', @click='toggleMarkup({ start: `<kbd>`, end: `</kbd>` })').mx-0
v-icon font_download v-icon mdi-keyboard-variant
span {{$t('editor:markup.keyboardKey')}} span {{$t('editor:markup.keyboardKey')}}
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p11s(icon, slot='activator', @click='insertAfter({ content: `---`, newLine: true })').mx-0 v-btn.animated.fadeIn.wait-p11s(icon, slot='activator', @click='insertAfter({ content: `---`, newLine: true })').mx-0
v-icon remove v-icon mdi-minus
span {{$t('editor:markup.horizontalBar')}} span {{$t('editor:markup.horizontalBar')}}
template(v-if='$vuetify.breakpoint.mdAndUp') template(v-if='$vuetify.breakpoint.mdAndUp')
v-spacer v-spacer
v-tooltip(bottom, color='primary') v-tooltip(bottom, color='primary')
v-btn.animated.fadeIn.wait-p11s(icon, slot='activator', @click='previewShown = !previewShown').mx-0 v-btn.animated.fadeIn.wait-p11s(icon, slot='activator', @click='previewShown = !previewShown').mx-0
v-icon flip v-icon mdi-book-open-outline
span {{$t('editor:markup.togglePreviewPane')}} span {{$t('editor:markup.togglePreviewPane')}}
.editor-markdown-main .editor-markdown-main
.editor-markdown-sidebar .editor-markdown-sidebar
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft(icon, slot='activator', dark, disabled).mx-0 v-btn.animated.fadeInLeft(icon, slot='activator', dark, disabled).mx-0
v-icon link v-icon mdi-link-plus
span {{$t('editor:markup.insertLink')}} span {{$t('editor:markup.insertLink')}}
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft.wait-p1s(icon, slot='activator', dark, @click='toggleModal(`editorModalMedia`)').mx-0 v-btn.animated.fadeInLeft.wait-p1s(icon, slot='activator', dark, @click='toggleModal(`editorModalMedia`)').mx-0
v-icon(:color='activeModal === `editorModalMedia` ? `teal` : ``') burst_mode v-icon(:color='activeModal === `editorModalMedia` ? `teal` : ``') mdi-folder-multiple-image
span {{$t('editor:markup.insertAssets')}} span {{$t('editor:markup.insertAssets')}}
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft.wait-p2s(icon, slot='activator', dark, @click='toggleModal(`editorModalBlocks`)').mx-0 v-btn.animated.fadeInLeft.wait-p2s(icon, slot='activator', dark, @click='toggleModal(`editorModalBlocks`)').mx-0
v-icon(:color='activeModal === `editorModalBlocks` ? `teal` : ``') dashboard v-icon(:color='activeModal === `editorModalBlocks` ? `teal` : ``') mdi-post
span {{$t('editor:markup.insertBlock')}} span {{$t('editor:markup.insertBlock')}}
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft.wait-p3s(icon, slot='activator', dark, disabled).mx-0 v-btn.animated.fadeInLeft.wait-p3s(icon, slot='activator', dark, disabled).mx-0
v-icon code v-icon mdi-code-braces
span {{$t('editor:markup.insertCodeBlock')}} span {{$t('editor:markup.insertCodeBlock')}}
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft.wait-p4s(icon, slot='activator', dark, disabled).mx-0 v-btn.animated.fadeInLeft.wait-p4s(icon, slot='activator', dark, disabled).mx-0
v-icon play_circle_outline v-icon mdi-library-video
span {{$t('editor:markup.insertVideoAudio')}} span {{$t('editor:markup.insertVideoAudio')}}
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft.wait-p5s(icon, slot='activator', dark, disabled).mx-0 v-btn.animated.fadeInLeft.wait-p5s(icon, slot='activator', dark, disabled).mx-0
v-icon multiline_chart v-icon mdi-chart-multiline
span {{$t('editor:markup.insertDiagram')}} span {{$t('editor:markup.insertDiagram')}}
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft.wait-p6s(icon, slot='activator', dark, disabled).mx-0 v-btn.animated.fadeInLeft.wait-p6s(icon, slot='activator', dark, disabled).mx-0
v-icon functions v-icon mdi-function-variant
span {{$t('editor:markup.insertMathExpression')}} span {{$t('editor:markup.insertMathExpression')}}
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft.wait-p7s(icon, slot='activator', dark, disabled).mx-0 v-btn.animated.fadeInLeft.wait-p7s(icon, slot='activator', dark, disabled).mx-0
v-icon border_outer v-icon mdi-table-plus
span {{$t('editor:markup.tableHelper')}} span {{$t('editor:markup.tableHelper')}}
template(v-if='$vuetify.breakpoint.mdAndUp') template(v-if='$vuetify.breakpoint.mdAndUp')
v-spacer v-spacer
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft.wait-p8s(icon, slot='activator', dark, @click='toggleFullscreen').mx-0 v-btn.animated.fadeInLeft.wait-p8s(icon, slot='activator', dark, @click='toggleFullscreen').mx-0
v-icon crop_free v-icon mdi-overscan
span {{$t('editor:markup.distractionFreeMode')}} span {{$t('editor:markup.distractionFreeMode')}}
v-tooltip(right, color='teal') v-tooltip(right, color='teal')
v-btn.animated.fadeInLeft.wait-p9s(icon, slot='activator', dark, @click='toggleHelp').mx-0 v-btn.animated.fadeInLeft.wait-p9s(icon, slot='activator', dark, @click='toggleHelp').mx-0
v-icon(:color='helpShown ? `teal` : ``') help v-icon(:color='helpShown ? `teal` : ``') mdi-help-circle
span {{$t('editor:markup.markdownFormattingHelp')}} span {{$t('editor:markup.markdownFormattingHelp')}}
.editor-markdown-editor .editor-markdown-editor
codemirror(ref='cm', v-model='code', :options='cmOptions', @ready='onCmReady', @input='onCmInput') codemirror(ref='cm', v-model='code', :options='cmOptions', @ready='onCmReady', @input='onCmInput')

@ -7,30 +7,28 @@
:fullscreen='$vuetify.breakpoint.smAndDown' :fullscreen='$vuetify.breakpoint.smAndDown'
) )
.dialog-header .dialog-header
v-icon(color='white') sort_by_alpha v-icon(color='white') mdi-tag-text-outline
.subheading.white--text.ml-2 {{$t('editor:props.pageProperties')}} .subheading.white--text.ml-3 {{$t('editor:props.pageProperties')}}
v-spacer v-spacer
v-btn.mx-0( v-btn.mx-0(
outline outlined
dark dark
@click.native='close' @click.native='close'
) )
v-icon(left) check v-icon(left) mdi-check
span {{ $t('common:actions.ok') }} span {{ $t('common:actions.ok') }}
v-card.wiki-form(tile) v-card.wiki-form(tile)
v-card-text v-card-text
v-subheader.pl-0 {{$t('editor:props.pageInfo')}} .overline.pb-5 {{$t('editor:props.pageInfo')}}
v-text-field( v-text-field(
ref='iptTitle' ref='iptTitle'
outline outlined
background-color='grey lighten-2'
:label='$t(`editor:props.title`)' :label='$t(`editor:props.title`)'
counter='255' counter='255'
v-model='title' v-model='title'
) )
v-text-field( v-text-field(
outline outlined
background-color='grey lighten-2'
:label='$t(`editor:props.shortDescription`)' :label='$t(`editor:props.shortDescription`)'
counter='255' counter='255'
v-model='description' v-model='description'
@ -39,13 +37,12 @@
) )
v-divider v-divider
v-card-text.grey(:class='darkMode ? `darken-3-d3` : `lighten-5`') v-card-text.grey(:class='darkMode ? `darken-3-d3` : `lighten-5`')
v-subheader.pl-0 {{$t('editor:props.pathCategorization')}} .overline.pb-5 {{$t('editor:props.pathCategorization')}}
v-container.pa-0(fluid, grid-list-lg) v-container.pa-0(fluid, grid-list-lg)
v-layout(row, wrap) v-layout(row, wrap)
v-flex(xs12, md2) v-flex(xs12, md2)
v-select( v-select(
outline outlined
background-color='grey lighten-2'
:label='$t(`editor:props.locale`)' :label='$t(`editor:props.locale`)'
suffix='/' suffix='/'
:items='namespaces' :items='namespaces'
@ -55,10 +52,9 @@
) )
v-flex(xs12, md10) v-flex(xs12, md10)
v-text-field( v-text-field(
outline outlined
background-color='grey lighten-2'
:label='$t(`editor:props.path`)' :label='$t(`editor:props.path`)'
append-icon='folder' append-icon='mdi-folder-search'
v-model='path' v-model='path'
:hint='$t(`editor:props.pathHint`)' :hint='$t(`editor:props.pathHint`)'
persistent-hint persistent-hint
@ -66,11 +62,10 @@
:disabled='mode !== "create"' :disabled='mode !== "create"'
) )
v-combobox( v-combobox(
background-color='grey lighten-2'
chips chips
deletable-chips deletable-chips
:label='$t(`editor:props.tags`)' :label='$t(`editor:props.tags`)'
outline outlined
multiple multiple
v-model='tags' v-model='tags'
single-line single-line
@ -80,7 +75,7 @@
) )
v-divider v-divider
v-card-text.pb-5.grey(:class='darkMode ? `darken-3-d5` : `lighten-4`') v-card-text.pb-5.grey(:class='darkMode ? `darken-3-d5` : `lighten-4`')
v-subheader.pl-0 {{$t('editor:props.publishState')}} #[v-chip.ml-3(label, color='grey', small, outline).white--text coming soon] .overline.pb-5 {{$t('editor:props.publishState')}} #[v-chip.ml-3(label, color='grey', small, outline).white--text coming soon]
v-container.pa-0(fluid, grid-list-lg) v-container.pa-0(fluid, grid-list-lg)
v-layout(row, wrap) v-layout(row, wrap)
v-flex(xs12, md4) v-flex(xs12, md4)
@ -107,10 +102,9 @@
slot='activator' slot='activator'
:label='$t(`editor:props.publishStart`)' :label='$t(`editor:props.publishStart`)'
v-model='publishStartDate' v-model='publishStartDate'
prepend-icon='event' prepend-icon='mdi-calendar-check'
readonly readonly
outline outlined
background-color='grey lighten-2'
clearable clearable
:hint='$t(`editor:props.publishStartHint`)' :hint='$t(`editor:props.publishStartHint`)'
persistent-hint persistent-hint
@ -150,10 +144,9 @@
slot='activator' slot='activator'
:label='$t(`editor:props.publishEnd`)' :label='$t(`editor:props.publishEnd`)'
v-model='publishEndDate' v-model='publishEndDate'
prepend-icon='event' prepend-icon='mdi-calendar-remove'
readonly readonly
outline outlined
background-color='grey lighten-2'
clearable clearable
:hint='$t(`editor:props.publishEndHint`)' :hint='$t(`editor:props.publishEndHint`)'
persistent-hint persistent-hint

@ -76,7 +76,12 @@
.overline.indigo--text.d-flex.align-center .overline.indigo--text.d-flex.align-center
span {{$t('common:page.lastEditedBy')}} span {{$t('common:page.lastEditedBy')}}
v-spacer v-spacer
v-tooltip(left, v-if='isAuthenticated') v-tooltip(top, v-if='isAuthenticated')
template(v-slot:activator='{ on }')
v-btn.btn-animate-edit(icon, :href='"/h/" + locale + "/" + path', v-on='on', x-small)
v-icon(color='grey', dense) mdi-history
span History
v-tooltip(top, v-if='isAuthenticated')
template(v-slot:activator='{ on }') template(v-slot:activator='{ on }')
v-btn.btn-animate-edit(icon, :href='"/e/" + locale + "/" + path', v-on='on', x-small) v-btn.btn-animate-edit(icon, :href='"/e/" + locale + "/" + path', v-on='on', x-small)
v-icon(color='grey', dense) mdi-pencil v-icon(color='grey', dense) mdi-pencil
@ -84,7 +89,7 @@
.body-2.grey--text(:class='darkMode ? `` : `text--darken-3`') {{ authorName }} .body-2.grey--text(:class='darkMode ? `` : `text--darken-3`') {{ authorName }}
.caption.grey--text.text--darken-1 {{ updatedAt | moment('calendar') }} .caption.grey--text.text--darken-1 {{ updatedAt | moment('calendar') }}
v-card.mt-5 v-card.mt-5(v-if='tags.length > 0')
.pa-5 .pa-5
.overline.teal--text.pb-2 Tags .overline.teal--text.pb-2 Tags
v-chip.mr-1( v-chip.mr-1(
@ -96,7 +101,8 @@
) )
v-icon(color='teal', left, small) mdi-label v-icon(color='teal', left, small) mdi-label
span.teal--text.text--darken-2 {{tag.text}} span.teal--text.text--darken-2 {{tag.text}}
v-divider
v-card.mt-5
.pa-5 .pa-5
.overline.pb-2.yellow--text.text--darken-4 Rating .overline.pb-2.yellow--text.text--darken-4 Rating
.text-center .text-center

@ -14,6 +14,10 @@ const init = {
const webpack = require('webpack') const webpack = require('webpack')
const chokidar = require('chokidar') const chokidar = require('chokidar')
console.info(chalk.yellow.bold('--- ====================== ---'))
console.info(chalk.yellow.bold('--- Wiki.js DEVELOPER MODE ---'))
console.info(chalk.yellow.bold('--- ====================== ---'))
global.DEV = true global.DEV = true
global.WP_CONFIG = require('./webpack/webpack.dev.js') global.WP_CONFIG = require('./webpack/webpack.dev.js')
global.WP = webpack(global.WP_CONFIG) global.WP = webpack(global.WP_CONFIG)

@ -9,10 +9,10 @@ const { VueLoaderPlugin } = require('vue-loader')
const CopyWebpackPlugin = require('copy-webpack-plugin') const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin') const HtmlWebpackPlugin = require('html-webpack-plugin')
const HtmlWebpackPugPlugin = require('html-webpack-pug-plugin') const HtmlWebpackPugPlugin = require('html-webpack-pug-plugin')
const SimpleProgressWebpackPlugin = require('simple-progress-webpack-plugin')
const SriWebpackPlugin = require('webpack-subresource-integrity') const SriWebpackPlugin = require('webpack-subresource-integrity')
const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin') const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')
const WriteFilePlugin = require('write-file-webpack-plugin') const WriteFilePlugin = require('write-file-webpack-plugin')
const WebpackBarPlugin = require('webpackbar')
const babelConfig = fs.readJsonSync(path.join(process.cwd(), '.babelrc')) const babelConfig = fs.readJsonSync(path.join(process.cwd(), '.babelrc'))
const cacheDir = '.webpack-cache/cache' const cacheDir = '.webpack-cache/cache'
@ -235,8 +235,8 @@ module.exports = {
hashFuncNames: ['sha256', 'sha512'], hashFuncNames: ['sha256', 'sha512'],
enabled: false enabled: false
}), }),
new SimpleProgressWebpackPlugin({ new WebpackBarPlugin({
format: 'compact' name: 'Client Assets'
}), }),
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('development'), 'process.env.NODE_ENV': JSON.stringify('development'),
@ -275,7 +275,6 @@ module.exports = {
'@': path.join(process.cwd(), 'client'), '@': path.join(process.cwd(), 'client'),
'vue$': 'vue/dist/vue.esm.js', 'vue$': 'vue/dist/vue.esm.js',
'gql': path.join(process.cwd(), 'client/graph'), 'gql': path.join(process.cwd(), 'client/graph'),
'mdi': path.join(process.cwd(), 'node_modules/vue-material-design-icons'),
// Duplicates fixes: // Duplicates fixes:
'apollo-link': path.join(process.cwd(), 'node_modules/apollo-link'), 'apollo-link': path.join(process.cwd(), 'node_modules/apollo-link'),
'apollo-utilities': path.join(process.cwd(), 'node_modules/apollo-utilities'), 'apollo-utilities': path.join(process.cwd(), 'node_modules/apollo-utilities'),

@ -3,6 +3,7 @@ const path = require('path')
const fs = require('fs-extra') const fs = require('fs-extra')
const yargs = require('yargs').argv const yargs = require('yargs').argv
const _ = require('lodash') const _ = require('lodash')
const Fiber = require('fibers')
const { CleanWebpackPlugin } = require('clean-webpack-plugin') const { CleanWebpackPlugin } = require('clean-webpack-plugin')
const CopyWebpackPlugin = require('copy-webpack-plugin') const CopyWebpackPlugin = require('copy-webpack-plugin')
@ -69,7 +70,7 @@ module.exports = {
] ]
}, },
{ {
test: /\.scss$/, test: /\.sass$/,
use: [ use: [
{ {
loader: 'cache-loader', loader: 'cache-loader',
@ -78,31 +79,45 @@ module.exports = {
} }
}, },
'style-loader', 'style-loader',
MiniCssExtractPlugin.loader,
'css-loader', 'css-loader',
'postcss-loader', 'postcss-loader',
{ {
loader: 'sass-loader', loader: 'sass-loader',
options: { options: {
implementation: require('sass'),
fiber: Fiber,
sourceMap: false sourceMap: false
} }
},
{
loader: 'sass-resources-loader',
options: {
resources: path.join(process.cwd(), '/client/scss/global.scss')
}
} }
] ]
}, },
{ {
test: /\.styl$/, test: /\.scss$/,
use: [ use: [
{
loader: 'cache-loader',
options: {
cacheDirectory: cacheDir
}
},
'style-loader', 'style-loader',
MiniCssExtractPlugin.loader, MiniCssExtractPlugin.loader,
'css-loader', 'css-loader',
'postcss-loader', 'postcss-loader',
'stylus-loader' {
loader: 'sass-loader',
options: {
implementation: require('sass'),
fiber: Fiber,
sourceMap: false
}
},
{
loader: 'sass-resources-loader',
options: {
resources: path.join(process.cwd(), '/client/scss/global.scss')
}
}
] ]
}, },
{ {
@ -194,6 +209,7 @@ module.exports = {
new webpack.BannerPlugin('Wiki.js - wiki.js.org - Licensed under AGPL'), new webpack.BannerPlugin('Wiki.js - wiki.js.org - Licensed under AGPL'),
new CopyWebpackPlugin([ new CopyWebpackPlugin([
{ from: 'client/static' }, { from: 'client/static' },
{ from: './node_modules/prismjs/components', to: 'js/prism' },
{ from: './node_modules/graphql-voyager/dist/voyager.worker.js', to: 'js/' } { from: './node_modules/graphql-voyager/dist/voyager.worker.js', to: 'js/' }
], {}), ], {}),
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
@ -260,7 +276,6 @@ module.exports = {
'@': path.join(process.cwd(), 'client'), '@': path.join(process.cwd(), 'client'),
'vue$': 'vue/dist/vue.esm.js', 'vue$': 'vue/dist/vue.esm.js',
'gql': path.join(process.cwd(), 'client/graph'), 'gql': path.join(process.cwd(), 'client/graph'),
'mdi': path.resolve(process.cwd(), 'node_modules/vue-material-design-icons'),
// Duplicates fixes: // Duplicates fixes:
'apollo-link': path.join(process.cwd(), 'node_modules/apollo-link'), 'apollo-link': path.join(process.cwd(), 'node_modules/apollo-link'),
'apollo-utilities': path.join(process.cwd(), 'node_modules/apollo-utilities'), 'apollo-utilities': path.join(process.cwd(), 'node_modules/apollo-utilities'),

@ -38,10 +38,10 @@
"@bugsnag/js": "6.3.2", "@bugsnag/js": "6.3.2",
"algoliasearch": "3.33.0", "algoliasearch": "3.33.0",
"apollo-fetch": "0.7.0", "apollo-fetch": "0.7.0",
"apollo-server": "2.7.2", "apollo-server": "2.8.1",
"apollo-server-express": "2.7.2", "apollo-server-express": "2.8.1",
"auto-load": "3.0.4", "auto-load": "3.0.4",
"aws-sdk": "2.501.0", "aws-sdk": "2.503.0",
"axios": "0.19.0", "axios": "0.19.0",
"azure-search-client": "3.1.5", "azure-search-client": "3.1.5",
"bcryptjs-then": "1.0.1", "bcryptjs-then": "1.0.1",
@ -76,8 +76,8 @@
"graphql-rate-limit-directive": "1.1.0", "graphql-rate-limit-directive": "1.1.0",
"graphql-subscriptions": "1.1.0", "graphql-subscriptions": "1.1.0",
"graphql-tools": "4.0.5", "graphql-tools": "4.0.5",
"highlight.js": "9.15.8", "highlight.js": "9.15.9",
"i18next": "17.0.6", "i18next": "17.0.8",
"i18next-express-middleware": "1.8.0", "i18next-express-middleware": "1.8.0",
"i18next-node-fs-backend": "2.1.3", "i18next-node-fs-backend": "2.1.3",
"image-size": "0.7.4", "image-size": "0.7.4",
@ -91,7 +91,7 @@
"markdown-it": "9.0.1", "markdown-it": "9.0.1",
"markdown-it-abbr": "1.0.4", "markdown-it-abbr": "1.0.4",
"markdown-it-anchor": "5.2.4", "markdown-it-anchor": "5.2.4",
"markdown-it-attrs": "2.4.1", "markdown-it-attrs": "3.0.0",
"markdown-it-emoji": "1.4.0", "markdown-it-emoji": "1.4.0",
"markdown-it-expand-tabs": "1.0.13", "markdown-it-expand-tabs": "1.0.13",
"markdown-it-external-links": "0.0.6", "markdown-it-external-links": "0.0.6",
@ -116,7 +116,7 @@
"nodemailer": "6.3.0", "nodemailer": "6.3.0",
"objection": "1.6.9", "objection": "1.6.9",
"passport": "0.4.0", "passport": "0.4.0",
"passport-auth0": "1.1.0", "passport-auth0": "1.2.0",
"passport-azure-ad": "4.1.0", "passport-azure-ad": "4.1.0",
"passport-cas": "0.1.1", "passport-cas": "0.1.1",
"passport-discord": "0.1.3", "passport-discord": "0.1.3",
@ -146,11 +146,11 @@
"request": "2.88.0", "request": "2.88.0",
"request-promise": "4.2.4", "request-promise": "4.2.4",
"safe-regex": "2.0.2", "safe-regex": "2.0.2",
"sanitize-filename": "1.6.1", "sanitize-filename": "1.6.2",
"scim-query-filter-parser": "1.1.0", "scim-query-filter-parser": "1.1.0",
"semver": "6.3.0", "semver": "6.3.0",
"serve-favicon": "2.5.0", "serve-favicon": "2.5.0",
"simple-git": "1.123.0", "simple-git": "1.124.0",
"solr-node": "1.2.1", "solr-node": "1.2.1",
"sqlite3": "4.0.9", "sqlite3": "4.0.9",
"striptags": "3.1.1", "striptags": "3.1.1",
@ -221,7 +221,7 @@
"eslint-plugin-vue": "5.2.3", "eslint-plugin-vue": "5.2.3",
"fibers": "4.0.1", "fibers": "4.0.1",
"file-loader": "4.1.0", "file-loader": "4.1.0",
"filepond": "4.4.11", "filepond": "4.4.12",
"filepond-plugin-file-validate-type": "1.2.4", "filepond-plugin-file-validate-type": "1.2.4",
"filesize.js": "1.0.2", "filesize.js": "1.0.2",
"grapesjs": "0.14.62", "grapesjs": "0.14.62",
@ -256,7 +256,7 @@
"react": "16.8.6", "react": "16.8.6",
"react-dom": "16.8.6", "react-dom": "16.8.6",
"resolve-url-loader": "3.1.0", "resolve-url-loader": "3.1.0",
"sass": "1.22.7", "sass": "1.22.9",
"sass-loader": "7.1.0", "sass-loader": "7.1.0",
"sass-resources-loader": "2.0.1", "sass-resources-loader": "2.0.1",
"script-ext-html-webpack-plugin": "2.1.4", "script-ext-html-webpack-plugin": "2.1.4",
@ -286,20 +286,21 @@
"vue2-animate": "2.1.0", "vue2-animate": "2.1.0",
"vuedraggable": "2.23.0", "vuedraggable": "2.23.0",
"vuescroll": "4.13.1", "vuescroll": "4.13.1",
"vuetify": "2.0.1", "vuetify": "2.0.4",
"vuetify-loader": "1.3.0", "vuetify-loader": "1.3.0",
"vuex": "3.1.1", "vuex": "3.1.1",
"vuex-pathify": "1.2.4", "vuex-pathify": "1.2.4",
"vuex-persistedstate": "2.5.4", "vuex-persistedstate": "2.5.4",
"webpack": "4.38.0", "webpack": "4.39.1",
"webpack-bundle-analyzer": "3.3.2", "webpack-bundle-analyzer": "3.4.1",
"webpack-cli": "3.3.6", "webpack-cli": "3.3.6",
"webpack-dev-middleware": "3.7.0", "webpack-dev-middleware": "3.7.0",
"webpack-hot-middleware": "2.25.0", "webpack-hot-middleware": "2.25.0",
"webpack-merge": "4.2.1", "webpack-merge": "4.2.1",
"webpack-subresource-integrity": "1.3.2", "webpack-subresource-integrity": "1.3.2",
"webpackbar": "3.2.0",
"whatwg-fetch": "3.0.0", "whatwg-fetch": "3.0.0",
"write-file-webpack-plugin": "4.5.0", "write-file-webpack-plugin": "4.5.1",
"xterm": "3.14.5", "xterm": "3.14.5",
"zxcvbn": "4.4.2" "zxcvbn": "4.4.2"
}, },

@ -1486,7 +1486,7 @@
resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
"@types/accepts@^1.3.5": "@types/accepts@*", "@types/accepts@^1.3.5":
version "1.3.5" version "1.3.5"
resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575"
integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==
@ -1568,6 +1568,16 @@
resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.1.tgz#90b68446364baf9efd8e8349bb36bd3852b75b80" resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.1.tgz#90b68446364baf9efd8e8349bb36bd3852b75b80"
integrity sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw== integrity sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw==
"@types/cookies@*":
version "0.7.2"
resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.2.tgz#5e0560d46ed9998082dce799af1058dd6a49780a"
integrity sha512-jnihWgshWystcJKrz8C9hV+Ot9lqOUyAh2RF+o3BEo6K6AS2l4zYCb9GYaBuZ3C6Il59uIGqpE3HvCun4KKeJA==
dependencies:
"@types/connect" "*"
"@types/express" "*"
"@types/keygrip" "*"
"@types/node" "*"
"@types/cors@^2.8.4": "@types/cors@^2.8.4":
version "2.8.4" version "2.8.4"
resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.4.tgz#50991a759a29c0b89492751008c6af7a7c8267b0" resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.4.tgz#50991a759a29c0b89492751008c6af7a7c8267b0"
@ -1620,6 +1630,20 @@
"@types/minimatch" "*" "@types/minimatch" "*"
"@types/node" "*" "@types/node" "*"
"@types/graphql-upload@^8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@types/graphql-upload/-/graphql-upload-8.0.0.tgz#cf1a464e1ad3d185d6e1d77b5df0ca26057a572c"
integrity sha512-xeDYfZb0SeRpCRuivN9TXLEVsbG0F4inFtx03yadZeaTXr1kC224/ZvlV6NKqQ//HNvUxneYcEoUB5ugJc8dnA==
dependencies:
"@types/express" "*"
"@types/graphql" "*"
"@types/koa" "*"
"@types/graphql@*":
version "14.2.3"
resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-14.2.3.tgz#cfc6420a67eb20420786f90112357921974593b9"
integrity sha512-UoCovaxbJIxagCvVfalfK7YaNhmxj3BQFRQ2RHQKLiu+9wNXhJnlbspsLHt/YQM99IaLUUFJNzCwzc6W0ypMeQ==
"@types/graphql@0.10.2": "@types/graphql@0.10.2":
version "0.10.2" version "0.10.2"
resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.10.2.tgz#d7c79acbaa17453b6681c80c34b38fcb10c4c08c" resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.10.2.tgz#d7c79acbaa17453b6681c80c34b38fcb10c4c08c"
@ -1630,6 +1654,11 @@
resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.9.4.tgz#cdeb6bcbef9b6c584374b81aa7f48ecf3da404fa" resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.9.4.tgz#cdeb6bcbef9b6c584374b81aa7f48ecf3da404fa"
integrity sha512-ob2dps4itT/Le5DbxjssBXtBnloDIRUbkgtAvaB42mJ8pVIWMRuURD9WjnhaEGZ4Ql/EryXMQWeU8Y0EU73QLw== integrity sha512-ob2dps4itT/Le5DbxjssBXtBnloDIRUbkgtAvaB42mJ8pVIWMRuURD9WjnhaEGZ4Ql/EryXMQWeU8Y0EU73QLw==
"@types/http-assert@*":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.0.tgz#56c95c69b51e7168b0d6727005d1fb2a00aaef94"
integrity sha512-8CBLG8RmxSvoY07FE6M/QpvJ7J5KzeKqF8eWN7Dq6Ks+lBTQae8Roc2G81lUu2Kw5Ju1gymOuvgyUsussbjAaA==
"@types/isomorphic-fetch@0.0.34": "@types/isomorphic-fetch@0.0.34":
version "0.0.34" version "0.0.34"
resolved "https://registry.yarnpkg.com/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.34.tgz#3c3483e606c041378438e951464f00e4e60706d6" resolved "https://registry.yarnpkg.com/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.34.tgz#3c3483e606c041378438e951464f00e4e60706d6"
@ -1663,6 +1692,30 @@
csstype "^2.0.0" csstype "^2.0.0"
indefinite-observable "^1.0.1" indefinite-observable "^1.0.1"
"@types/keygrip@*":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.1.tgz#ff540462d2fb4d0a88441ceaf27d287b01c3d878"
integrity sha1-/1QEYtL7TQqIRBzq8n0oewHD2Hg=
"@types/koa-compose@*":
version "3.2.4"
resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.4.tgz#76a461634a59c3e13449831708bb9b355fb1548e"
integrity sha512-ioou0rxkuWL+yBQYsHUQAzRTfVxAg8Y2VfMftU+Y3RA03/MzuFL0x/M2sXXj3PkfnENbHsjeHR1aMdezLYpTeA==
dependencies:
"@types/koa" "*"
"@types/koa@*":
version "2.0.49"
resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.0.49.tgz#8ffc2ddbdd715a2c392a218c67e116cb07007234"
integrity sha512-WQWpCH8O4Dslk8IcXfazff40aM1jXX7BQRbADIj/fKozVPu76P/wQE4sRe2SCWMn8yNkOcare2MkDrnZqLMkPQ==
dependencies:
"@types/accepts" "*"
"@types/cookies" "*"
"@types/http-assert" "*"
"@types/keygrip" "*"
"@types/koa-compose" "*"
"@types/node" "*"
"@types/ldapjs@^1.0.0": "@types/ldapjs@^1.0.0":
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.3.tgz#eb2acbe603845136196dd25fba77e476d6d7db56" resolved "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.3.tgz#eb2acbe603845136196dd25fba77e476d6d7db56"
@ -2150,10 +2203,10 @@ acorn@^6.0.7:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
acorn@^6.2.0: acorn@^6.2.1:
version "6.2.0" version "6.2.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51"
integrity sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw== integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==
adal-node@^0.1.22: adal-node@^0.1.22:
version "0.1.28" version "0.1.28"
@ -2196,6 +2249,11 @@ ajv-keywords@^3.1.0:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.3.0.tgz#cb6499da9b83177af8bc1732b2f0a1a1a3aacf8c" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.3.0.tgz#cb6499da9b83177af8bc1732b2f0a1a1a3aacf8c"
integrity sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g== integrity sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g==
ajv-keywords@^3.4.1:
version "3.4.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
ajv@^6.1.0, ajv@^6.1.1, ajv@^6.5.5: ajv@^6.1.0, ajv@^6.1.1, ajv@^6.5.5:
version "6.8.1" version "6.8.1"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.8.1.tgz#0890b93742985ebf8973cd365c5b23920ce3cb20" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.8.1.tgz#0890b93742985ebf8973cd365c5b23920ce3cb20"
@ -2216,6 +2274,16 @@ ajv@^6.10.0, ajv@^6.9.1:
json-schema-traverse "^0.4.1" json-schema-traverse "^0.4.1"
uri-js "^4.2.2" uri-js "^4.2.2"
ajv@^6.10.2:
version "6.10.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
dependencies:
fast-deep-equal "^2.0.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
algoliasearch@3.33.0: algoliasearch@3.33.0:
version "3.33.0" version "3.33.0"
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.33.0.tgz#83b541124ebb0db54643009d4e660866b3177cdf" resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.33.0.tgz#83b541124ebb0db54643009d4e660866b3177cdf"
@ -2279,6 +2347,13 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
ansi-escapes@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228"
integrity sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==
dependencies:
type-fest "^0.5.2"
ansi-html@0.0.7: ansi-html@0.0.7:
version "0.0.7" version "0.0.7"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
@ -2403,17 +2478,18 @@ apollo-engine-reporting-protobuf@0.4.0:
dependencies: dependencies:
protobufjs "^6.8.6" protobufjs "^6.8.6"
apollo-engine-reporting@1.4.2: apollo-engine-reporting@1.4.3:
version "1.4.2" version "1.4.3"
resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.4.2.tgz#f6c1e964c3c2c09bdb25c449f6b7ab05952ff459" resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.4.3.tgz#0fcb67de7a24bef4e7e59990981f923267ffdd00"
integrity sha512-Srw6Roqx38P82c5If6NmWdM/HVETLwcCGIl4x6a+DDcuPJl6n6ef+Sluoz4QAGrqQDJhMYk3jL9xOnEysgtonA== integrity sha512-xv27qfc9dhi1yaWOhNQRmfF+SoLy74hl+M42arpIWdkoDe22fVTmTIqxqGwo4TFR3Z2OkAV5tNzuuOI/icd0Rg==
dependencies: dependencies:
apollo-engine-reporting-protobuf "0.4.0" apollo-engine-reporting-protobuf "0.4.0"
apollo-graphql "^0.3.3" apollo-graphql "^0.3.3"
apollo-server-caching "0.5.0"
apollo-server-env "2.4.1" apollo-server-env "2.4.1"
apollo-server-types "0.2.1" apollo-server-types "0.2.1"
async-retry "^1.2.1" async-retry "^1.2.1"
graphql-extensions "0.8.2" graphql-extensions "0.9.1"
apollo-env@0.5.1: apollo-env@0.5.1:
version "0.5.1" version "0.5.1"
@ -2533,17 +2609,18 @@ apollo-server-caching@0.5.0:
dependencies: dependencies:
lru-cache "^5.0.0" lru-cache "^5.0.0"
apollo-server-core@2.7.2: apollo-server-core@2.8.1:
version "2.7.2" version "2.8.1"
resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.7.2.tgz#4acd9f4d0d235bef0e596e2a821326dfc07ae7b2" resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.8.1.tgz#e5fadb3fe1fadd009d1b06a46cb44ec8692bf3fb"
integrity sha512-Dv6ZMMf8Y+ovkj1ioMtcYvjbcsSMqnZblbPPzOWo29vvKEjMXAL1OTSL1WBYxGA/WSBSCTnxAzipn71XZkYoCw== integrity sha512-BpvhKdycTI1v5n8biJ5c/DVF7MCbTL3JtB9llHGkqYgHaTH1gXguh2qD8Vcki+rpUNO5P1lcj5V6oVXoSUFXlA==
dependencies: dependencies:
"@apollographql/apollo-tools" "^0.4.0" "@apollographql/apollo-tools" "^0.4.0"
"@apollographql/graphql-playground-html" "1.6.24" "@apollographql/graphql-playground-html" "1.6.24"
"@types/graphql-upload" "^8.0.0"
"@types/ws" "^6.0.0" "@types/ws" "^6.0.0"
apollo-cache-control "0.8.1" apollo-cache-control "0.8.1"
apollo-datasource "0.6.1" apollo-datasource "0.6.1"
apollo-engine-reporting "1.4.2" apollo-engine-reporting "1.4.3"
apollo-server-caching "0.5.0" apollo-server-caching "0.5.0"
apollo-server-env "2.4.1" apollo-server-env "2.4.1"
apollo-server-errors "2.3.1" apollo-server-errors "2.3.1"
@ -2551,7 +2628,7 @@ apollo-server-core@2.7.2:
apollo-server-types "0.2.1" apollo-server-types "0.2.1"
apollo-tracing "0.8.1" apollo-tracing "0.8.1"
fast-json-stable-stringify "^2.0.0" fast-json-stable-stringify "^2.0.0"
graphql-extensions "0.8.2" graphql-extensions "0.9.1"
graphql-tag "^2.9.2" graphql-tag "^2.9.2"
graphql-tools "^4.0.0" graphql-tools "^4.0.0"
graphql-upload "^8.0.2" graphql-upload "^8.0.2"
@ -2572,10 +2649,10 @@ apollo-server-errors@2.3.1:
resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.3.1.tgz#033cf331463ebb99a563f8354180b41ac6714eb6" resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.3.1.tgz#033cf331463ebb99a563f8354180b41ac6714eb6"
integrity sha512-errZvnh0vUQChecT7M4A/h94dnBSRL213dNxpM5ueMypaLYgnp4hiCTWIEaooo9E4yMGd1qA6WaNbLDG2+bjcg== integrity sha512-errZvnh0vUQChecT7M4A/h94dnBSRL213dNxpM5ueMypaLYgnp4hiCTWIEaooo9E4yMGd1qA6WaNbLDG2+bjcg==
apollo-server-express@2.7.2: apollo-server-express@2.8.1:
version "2.7.2" version "2.8.1"
resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.7.2.tgz#a6b9514f42463c9514d2dda34e07ee240b73f764" resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.8.1.tgz#955708efdcae8201b7941f0b5c5895e76997b4a3"
integrity sha512-XW+MTKyjJDrHqeLJt9Z3OzLTCRxp53XzVVhF0f/Bs9GCODPlTiBaoiMwY2mXQ7WqK6gkYAH1kRp7d/psPFKE5w== integrity sha512-XoWqSuNQkL8ivBq5LXJW6wV0/Ef+m8w4fAK/7PBspLHVfDAbHRyRr6zraotim2Kl7NOnzcqHtb6sB9yozjL0hA==
dependencies: dependencies:
"@apollographql/graphql-playground-html" "1.6.24" "@apollographql/graphql-playground-html" "1.6.24"
"@types/accepts" "^1.3.5" "@types/accepts" "^1.3.5"
@ -2583,7 +2660,7 @@ apollo-server-express@2.7.2:
"@types/cors" "^2.8.4" "@types/cors" "^2.8.4"
"@types/express" "4.17.0" "@types/express" "4.17.0"
accepts "^1.3.5" accepts "^1.3.5"
apollo-server-core "2.7.2" apollo-server-core "2.8.1"
apollo-server-types "0.2.1" apollo-server-types "0.2.1"
body-parser "^1.18.3" body-parser "^1.18.3"
cors "^2.8.4" cors "^2.8.4"
@ -2608,13 +2685,13 @@ apollo-server-types@0.2.1:
apollo-server-caching "0.5.0" apollo-server-caching "0.5.0"
apollo-server-env "2.4.1" apollo-server-env "2.4.1"
apollo-server@2.7.2: apollo-server@2.8.1:
version "2.7.2" version "2.8.1"
resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.7.2.tgz#a3eeb6916f11802502ab40819e9f06a4c553c84a" resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.8.1.tgz#e86733d74d91000694f5c27117a6f756de51b5a5"
integrity sha512-0FkNi2ViLJoTglTuBTZ8OeUSK2/LOk4sMGmojDYUYkyVuM5lZX+GWVf3pDNvhrnC2po6TkntkNL4EJLXfKwNMA== integrity sha512-PILoFNKoRfC6pqVVQ42hYwFjM49l+9jjPeb+kqVmmcSDAwQIlcq3EPK5x65E3pmkPSaEOhGxU9a47cyu/PdJvg==
dependencies: dependencies:
apollo-server-core "2.7.2" apollo-server-core "2.8.1"
apollo-server-express "2.7.2" apollo-server-express "2.8.1"
express "^4.0.0" express "^4.0.0"
graphql-subscriptions "^1.0.0" graphql-subscriptions "^1.0.0"
graphql-tools "^4.0.0" graphql-tools "^4.0.0"
@ -2880,10 +2957,10 @@ autoprefixer@^7.1.1:
postcss "^6.0.17" postcss "^6.0.17"
postcss-value-parser "^3.2.3" postcss-value-parser "^3.2.3"
aws-sdk@2.501.0: aws-sdk@2.503.0:
version "2.501.0" version "2.503.0"
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.501.0.tgz#611d900fae284bfe8175fe9ee3d101e01a877f06" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.503.0.tgz#983b8c03aa919060a81127cb9d94fbb1667f4cf2"
integrity sha512-eFihkJEsDia9LPfVh8AVc7KXiL6KARRTdop/P3bwVv+sAxi2cfeX231WNeeBLCGBnITL1MmyndkG8gaCg6UgbQ== integrity sha512-DPwRxhPYCGNvKL9rUhpAoOVpMRyISbVMlXykLQknYo7wyOI+jYcyA7t8H7IFPAqj4ZG+R+Au9tO/KT4im+2gbg==
dependencies: dependencies:
buffer "4.9.1" buffer "4.9.1"
events "1.1.1" events "1.1.1"
@ -3532,36 +3609,37 @@ bytes@3.1.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
cacache@^11.0.2: cacache@^11.3.3:
version "11.3.2" version "11.3.3"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
dependencies: dependencies:
bluebird "^3.5.3" bluebird "^3.5.5"
chownr "^1.1.1" chownr "^1.1.1"
figgy-pudding "^3.5.1" figgy-pudding "^3.5.1"
glob "^7.1.3" glob "^7.1.4"
graceful-fs "^4.1.15" graceful-fs "^4.1.15"
lru-cache "^5.1.1" lru-cache "^5.1.1"
mississippi "^3.0.0" mississippi "^3.0.0"
mkdirp "^0.5.1" mkdirp "^0.5.1"
move-concurrently "^1.0.1" move-concurrently "^1.0.1"
promise-inflight "^1.0.1" promise-inflight "^1.0.1"
rimraf "^2.6.2" rimraf "^2.6.3"
ssri "^6.0.1" ssri "^6.0.1"
unique-filename "^1.1.1" unique-filename "^1.1.1"
y18n "^4.0.0" y18n "^4.0.0"
cacache@^11.3.3: cacache@^12.0.2:
version "11.3.3" version "12.0.2"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c"
integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg==
dependencies: dependencies:
bluebird "^3.5.5" bluebird "^3.5.5"
chownr "^1.1.1" chownr "^1.1.1"
figgy-pudding "^3.5.1" figgy-pudding "^3.5.1"
glob "^7.1.4" glob "^7.1.4"
graceful-fs "^4.1.15" graceful-fs "^4.1.15"
infer-owner "^1.0.3"
lru-cache "^5.1.1" lru-cache "^5.1.1"
mississippi "^3.0.0" mississippi "^3.0.0"
mkdirp "^0.5.1" mkdirp "^0.5.1"
@ -3855,13 +3933,18 @@ chownr@^1.1.1:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
chrome-trace-event@^1.0.0: chrome-trace-event@^1.0.2:
version "1.0.0" version "1.0.2"
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A== integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
ci-info@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==
ci-info@^2.0.0: ci-info@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
@ -4150,11 +4233,6 @@ commander@^2.19.0, commander@^2.20.0, commander@~2.20.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
commander@~2.17.1:
version "2.17.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
commondir@^1.0.1: commondir@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@ -4222,6 +4300,11 @@ connect-session-knex@1.4.0:
resolved "https://registry.yarnpkg.com/connect-session-knex/-/connect-session-knex-1.4.0.tgz#93d46bab8cb664750aec665e55bf71e54beac665" resolved "https://registry.yarnpkg.com/connect-session-knex/-/connect-session-knex-1.4.0.tgz#93d46bab8cb664750aec665e55bf71e54beac665"
integrity sha512-TjBESV6CY/SC4SRQP0hsYBLfR20bmj370+T+YpYgiC3kgOgL5x8z0bDgFddnUFZS//rgj+5Ps7pPQeP0ANq55w== integrity sha512-TjBESV6CY/SC4SRQP0hsYBLfR20bmj370+T+YpYgiC3kgOgL5x8z0bDgFddnUFZS//rgj+5Ps7pPQeP0ANq55w==
consola@^2.6.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/consola/-/consola-2.9.0.tgz#57760e3a65a53ec27337f4add31505802d902278"
integrity sha512-34Iue+LRcWbndFIfZc5boNizWlsrRjqIBJZTe591vImgbnq7nx2EzlrLtANj9TH2Fxm7puFJBJAOk5BhvZOddQ==
console-browserify@^1.1.0: console-browserify@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
@ -5247,9 +5330,9 @@ ejs@^2.3.4, ejs@^2.5.6, ejs@^2.6.1:
integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==
"elasticsearch6@npm:@elastic/elasticsearch@6": "elasticsearch6@npm:@elastic/elasticsearch@6":
version "6.8.1" version "6.8.2"
resolved "https://registry.yarnpkg.com/@elastic/elasticsearch/-/elasticsearch-6.8.1.tgz#c3cbf0bc17b4b429c901ba1939551614fbbec2f6" resolved "https://registry.yarnpkg.com/@elastic/elasticsearch/-/elasticsearch-6.8.2.tgz#ab0085fd57cfa43493c6878d4c2d06dcd7ce63ba"
integrity sha512-Vy8sXmE0L6fHSNMsocy/qnxYMiPiJWKBZUgL3i9OIfaN65qvw63+khU/L7RIuLUgZmlmBtfNsBU0u7SNqkubnQ== integrity sha512-TF449H2O1aWL1vSZAOAdDCpviWFyVMvyn7Dt3guNhYgQwGpYy9yzYRbtqWtsynMvqjCS3alis5Zksz/r74a5og==
dependencies: dependencies:
debug "^4.1.1" debug "^4.1.1"
decompress-response "^4.2.0" decompress-response "^4.2.0"
@ -5259,9 +5342,9 @@ ejs@^2.3.4, ejs@^2.5.6, ejs@^2.6.1:
pump "^3.0.0" pump "^3.0.0"
"elasticsearch7@npm:@elastic/elasticsearch@7": "elasticsearch7@npm:@elastic/elasticsearch@7":
version "7.2.0" version "7.3.0"
resolved "https://registry.yarnpkg.com/@elastic/elasticsearch/-/elasticsearch-7.2.0.tgz#c200090b3164733affc960c6e09a8c650dc7a45a" resolved "https://registry.yarnpkg.com/@elastic/elasticsearch/-/elasticsearch-7.3.0.tgz#d62508cc03e91dd0676914a50af6500b45bfb199"
integrity sha512-n4t7XX5NLf4KuFVx7h/0V3WgF5BLRWUDvRyYMf+iRbR2dvZSD3BFYSqw757uDcXOE5lnxhJHBoT6CptpA6HW0g== integrity sha512-CA8V4txIS+BPZg37ZVtOi5mN2xnXYAeQUCvgkjdtc2CzTd5pJrjdPzdmaDDATNc8nhlHMrqxMZZmpKD3OUkjAg==
dependencies: dependencies:
debug "^4.1.1" debug "^4.1.1"
decompress-response "^4.2.0" decompress-response "^4.2.0"
@ -5580,6 +5663,14 @@ eslint-scope@^4.0.0:
esrecurse "^4.1.0" esrecurse "^4.1.0"
estraverse "^4.1.1" estraverse "^4.1.1"
eslint-scope@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
dependencies:
esrecurse "^4.1.0"
estraverse "^4.1.1"
eslint-scope@^5.0.0: eslint-scope@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
@ -5975,6 +6066,13 @@ figures@2.0.x, figures@^2.0.0:
dependencies: dependencies:
escape-string-regexp "^1.0.5" escape-string-regexp "^1.0.5"
figures@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9"
integrity sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==
dependencies:
escape-string-regexp "^1.0.5"
file-entry-cache@^5.0.1: file-entry-cache@^5.0.1:
version "5.0.1" version "5.0.1"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
@ -6000,10 +6098,10 @@ filepond-plugin-file-validate-type@1.2.4:
resolved "https://registry.yarnpkg.com/filepond-plugin-file-validate-type/-/filepond-plugin-file-validate-type-1.2.4.tgz#ce7f5f469dbc7ce0da12fdef7b0f24e4c263c410" resolved "https://registry.yarnpkg.com/filepond-plugin-file-validate-type/-/filepond-plugin-file-validate-type-1.2.4.tgz#ce7f5f469dbc7ce0da12fdef7b0f24e4c263c410"
integrity sha512-K1qD8mfahJoz2zRlWWvYoHuy4k/8tHggsoGbm/blpTp63OyahOdJBzMN3VK7USYn5OZ58uOFdMTMyi8ibFpW/Q== integrity sha512-K1qD8mfahJoz2zRlWWvYoHuy4k/8tHggsoGbm/blpTp63OyahOdJBzMN3VK7USYn5OZ58uOFdMTMyi8ibFpW/Q==
filepond@4.4.11: filepond@4.4.12:
version "4.4.11" version "4.4.12"
resolved "https://registry.yarnpkg.com/filepond/-/filepond-4.4.11.tgz#8b3e370164c39a5e299bde591d26060240ba2871" resolved "https://registry.yarnpkg.com/filepond/-/filepond-4.4.12.tgz#8c7319efcbd080f1b4d01087c5605eb168db6fad"
integrity sha512-eQPJiqKYQQNccjZ9jTZfqHeKvWXJ7Wq2fuicSQDCiG/bfEWmksaTeaQ51Vce5cNVTjXKfXuWhS4mNE6gzLwGhQ== integrity sha512-LW2gdZgxTTQqK9V4DWQwRbeQzmxmqJ+vFtKGIjxA8l+aui1FLGZ3Nmx+hpSysYgcY4iGIY+a8nK6C7RlEKoFrQ==
filesize.js@1.0.2: filesize.js@1.0.2:
version "1.0.2" version "1.0.2"
@ -6603,10 +6701,10 @@ graphql-extensions@0.8.1:
apollo-server-env "2.4.1" apollo-server-env "2.4.1"
apollo-server-types "0.2.1" apollo-server-types "0.2.1"
graphql-extensions@0.8.2: graphql-extensions@0.9.1:
version "0.8.2" version "0.9.1"
resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.8.2.tgz#071f29b111b16b359eb9994b0a036bdeec106492" resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.9.1.tgz#5d40b2c2cf57a35b686121d5e63783369dade5ef"
integrity sha512-d0nbxMfMe7wxdsVdCn0OBx2rX0sbcIjo9TOud38i9OgNa9eeS23OxbNfe+ezTCkEvSVqgPzpy5DAOvM4HNDV4Q== integrity sha512-JR/KStdwALd48B/xSG/Mi85zamuJd8THvVlzGM5juznPDN0wTYG5SARGzzvoqHxgxuUHYdzpvESwMAisORJdCQ==
dependencies: dependencies:
"@apollographql/apollo-tools" "^0.4.0" "@apollographql/apollo-tools" "^0.4.0"
apollo-server-env "2.4.1" apollo-server-env "2.4.1"
@ -6886,10 +6984,10 @@ hex-color-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
highlight.js@9.15.8: highlight.js@9.15.9:
version "9.15.8" version "9.15.9"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.8.tgz#f344fda123f36f1a65490e932cf90569e4999971" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.9.tgz#865257da1dbb4a58c4552d46c4b3854f77f0e6d5"
integrity sha512-RrapkKQWwE+wKdF73VsOa2RQdIoO3mxwJ4P8mhbI6KYJUraUHRKM5w5zQQKXNk0xNL4UVRdulV9SBJcmzJNzVA== integrity sha512-M0zZvfLr5p0keDMCAhNBp03XJbKBxUx5AfyfufMdFMEP4N/Xj6dh0IqC75ys7BAzceR34NgcvXjupRVaHBPPVQ==
hmac-drbg@^1.0.0: hmac-drbg@^1.0.0:
version "1.0.1" version "1.0.1"
@ -7113,10 +7211,10 @@ i18next-xhr-backend@3.0.0:
dependencies: dependencies:
"@babel/runtime" "^7.4.5" "@babel/runtime" "^7.4.5"
i18next@17.0.6: i18next@17.0.8:
version "17.0.6" version "17.0.8"
resolved "https://registry.yarnpkg.com/i18next/-/i18next-17.0.6.tgz#01079cc2bcef408139ea8ce24d18ac0d512fbe85" resolved "https://registry.yarnpkg.com/i18next/-/i18next-17.0.8.tgz#0c7113a88ad156eb37b9025d83a7684e1bbc2e18"
integrity sha512-bdNhzhcM6RG5m82RypVguCrAQNie/ycxW0Q5C6K9UDWD5hqApZfdJFbj4Ikz9jxIR+Ja1eg0yCQLhlCT+opwIg== integrity sha512-oojOrqEPQzKo1HDMDDOl19zTM/EaDwBRPobUSD4kEjNoTi2oERvUbngK2lkIm9nOGddh55jbMGbm6fusMBeoKQ==
dependencies: dependencies:
"@babel/runtime" "^7.3.1" "@babel/runtime" "^7.3.1"
@ -7243,10 +7341,10 @@ indexes-of@^1.0.1:
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
indexof@0.0.1: infer-owner@^1.0.3:
version "0.0.1" version "1.0.4"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
inflight@^1.0.4: inflight@^1.0.4:
version "1.0.6" version "1.0.6"
@ -7681,6 +7779,11 @@ is-windows@^1.0.1, is-windows@^1.0.2:
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
is-wsl@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
isarray@0.0.1: isarray@0.0.1:
version "0.0.1" version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
@ -8366,7 +8469,7 @@ load-script@^1.0.0:
resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4"
integrity sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ= integrity sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=
loader-runner@^2.3.0: loader-runner@^2.4.0:
version "2.4.0" version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
@ -8678,10 +8781,10 @@ markdown-it-anchor@5.2.4:
resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.2.4.tgz#d39306fe4c199705b4479d3036842cf34dcba24f" resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.2.4.tgz#d39306fe4c199705b4479d3036842cf34dcba24f"
integrity sha512-n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A== integrity sha512-n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A==
markdown-it-attrs@2.4.1: markdown-it-attrs@3.0.0:
version "2.4.1" version "3.0.0"
resolved "https://registry.yarnpkg.com/markdown-it-attrs/-/markdown-it-attrs-2.4.1.tgz#4868d067b0615568afc027bb99dfa2badb7ca1bc" resolved "https://registry.yarnpkg.com/markdown-it-attrs/-/markdown-it-attrs-3.0.0.tgz#e4c383f9ad00f733e8e868776db4fd6dd07cf1c8"
integrity sha512-BASnIYS+JLpjlhDf7jLV8VOuccxjfDDnQcz5dLfgPsYw8OsgbASexADdIkF7tIdGn+jaQSA4qOZXM3v3W3JBCg== integrity sha512-DTIDzAQuQ9eEqq0y8GhdWB458vt0zYMp3M1R+IBMYlsMGY+oFOlZ/Gwk5Lg74v1ffYQ0kbDULqEbIbCowerJOA==
markdown-it-emoji@1.4.0: markdown-it-emoji@1.4.0:
version "1.4.0" version "1.4.0"
@ -8818,7 +8921,7 @@ mem@^4.0.0:
mimic-fn "^1.0.0" mimic-fn "^1.0.0"
p-is-promise "^2.0.0" p-is-promise "^2.0.0"
memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: memory-fs@^0.4.0, memory-fs@^0.4.1:
version "0.4.1" version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
@ -8860,7 +8963,7 @@ methods@^1.1.1, methods@~1.1.2:
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10" version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
@ -9037,7 +9140,7 @@ mkdirp@0.3.0:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e"
integrity sha1-G79asbqCevI1dRQ0kEJkVfSB/h4= integrity sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=
mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
version "0.5.1" version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
@ -9310,10 +9413,10 @@ node-int64@^0.4.0:
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
node-libs-browser@^2.0.0: node-libs-browser@^2.2.1:
version "2.2.0" version "2.2.1"
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA== integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
dependencies: dependencies:
assert "^1.1.1" assert "^1.1.1"
browserify-zlib "^0.2.0" browserify-zlib "^0.2.0"
@ -9325,7 +9428,7 @@ node-libs-browser@^2.0.0:
events "^3.0.0" events "^3.0.0"
https-browserify "^1.0.0" https-browserify "^1.0.0"
os-browserify "^0.3.0" os-browserify "^0.3.0"
path-browserify "0.0.0" path-browserify "0.0.1"
process "^0.11.10" process "^0.11.10"
punycode "^1.2.4" punycode "^1.2.4"
querystring-es3 "^0.2.0" querystring-es3 "^0.2.0"
@ -9337,7 +9440,7 @@ node-libs-browser@^2.0.0:
tty-browserify "0.0.0" tty-browserify "0.0.0"
url "^0.11.0" url "^0.11.0"
util "^0.11.0" util "^0.11.0"
vm-browserify "0.0.4" vm-browserify "^1.0.1"
node-pre-gyp@^0.10.0: node-pre-gyp@^0.10.0:
version "0.10.3" version "0.10.3"
@ -9950,14 +10053,13 @@ pascalcase@^0.1.1:
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
passport-auth0@1.1.0: passport-auth0@1.2.0:
version "1.1.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/passport-auth0/-/passport-auth0-1.1.0.tgz#fc6fac83ae3ec5a3e5d462c05d145a4fbdad6703" resolved "https://registry.yarnpkg.com/passport-auth0/-/passport-auth0-1.2.0.tgz#270c337dbdfdf0eca12a270028fce11b930c1e19"
integrity sha512-3iN2X9fWRJUpvrag8gv3QrtrtZaOShft30XM50VvgUc78DT478z7txgk3cIhwjv8/crBrrG/Gu8KH99dg1CC2A== integrity sha512-+j2XQzRJqKkyfJvdke1YTnivqEAXQdr5Mrv9u0ZPCYnkmtp4J9uMmFbASjW6EAK7Rqo9y8cByLa8ZLqF8JXzcg==
dependencies: dependencies:
passport-oauth "^1.0.0" passport-oauth "^1.0.0"
request "^2.61.0" request "^2.83.0"
xtend "^4.0.0"
passport-azure-ad@4.1.0: passport-azure-ad@4.1.0:
version "4.1.0" version "4.1.0"
@ -10170,10 +10272,10 @@ passport@^0.3.2:
passport-strategy "1.x.x" passport-strategy "1.x.x"
pause "0.0.1" pause "0.0.1"
path-browserify@0.0.0: path-browserify@0.0.1:
version "0.0.0" version "0.0.1"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
path-dirname@^1.0.0: path-dirname@^1.0.0:
version "1.0.2" version "1.0.2"
@ -11455,6 +11557,11 @@ pretty-error@^2.1.1:
renderkid "^2.0.1" renderkid "^2.0.1"
utila "~0.4" utila "~0.4"
pretty-time@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
prismjs@1.17.1: prismjs@1.17.1:
version "1.17.1" version "1.17.1"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be"
@ -12321,7 +12428,7 @@ request-promise@4.2.4:
stealthy-require "^1.1.1" stealthy-require "^1.1.1"
tough-cookie "^2.3.3" tough-cookie "^2.3.3"
request@2.88.0, "request@>= 2.52.0", request@^2.61.0, request@^2.72.0, request@^2.75.0, request@^2.87.0: request@2.88.0, "request@>= 2.52.0", request@^2.72.0, request@^2.75.0, request@^2.83.0, request@^2.87.0:
version "2.88.0" version "2.88.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
@ -12515,7 +12622,7 @@ right-align@^0.1.1:
dependencies: dependencies:
align-text "^0.1.1" align-text "^0.1.1"
rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
version "2.6.3" version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
@ -12612,10 +12719,10 @@ sane@^4.0.3:
minimist "^1.1.1" minimist "^1.1.1"
walker "~1.0.5" walker "~1.0.5"
sanitize-filename@1.6.1: sanitize-filename@1.6.2:
version "1.6.1" version "1.6.2"
resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.1.tgz#612da1c96473fa02dccda92dcd5b4ab164a6772a" resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.2.tgz#01b4fc8809f14e9d22761fe70380fe7f3f902185"
integrity sha1-YS2hyWRz+gLczaktzVtKsWSmdyo= integrity sha512-cmTzND7RMxUB+f7gI+4+KAVHWEg0lfXvQJdko+FXDP5bNbGIdx4KMP5pX6lv5jfT9jSf6OBbjyxjFtZQwYA/ig==
dependencies: dependencies:
truncate-utf8-bytes "^1.0.0" truncate-utf8-bytes "^1.0.0"
@ -12648,10 +12755,10 @@ sass-resources-loader@2.0.1:
glob "^7.1.1" glob "^7.1.1"
loader-utils "^1.0.4" loader-utils "^1.0.4"
sass@1.22.7: sass@1.22.9:
version "1.22.7" version "1.22.9"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.22.7.tgz#5a1a77dc11aa659db4e782d238bf9f3d44a60546" resolved "https://registry.yarnpkg.com/sass/-/sass-1.22.9.tgz#41a2ed6038027f58be2bd5041293452a29c2cb84"
integrity sha512-ahREi0AdG7RTovSv14+yd1prQSfIvFcrDpOsth5EQf1+RM7SvOxsSttzNQaFmK1aa/k/3vyYwlYF5l0Xl+6c+g== integrity sha512-FzU1X2V8DlnqabrL4u7OBwD2vcOzNMongEJEx3xMEhWY/v26FFR3aG0hyeu2T965sfR0E9ufJwmG+Qjz78vFPQ==
dependencies: dependencies:
chokidar ">=2.0.0 <4.0.0" chokidar ">=2.0.0 <4.0.0"
@ -12780,11 +12887,6 @@ seq-queue@^0.0.5:
resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e" resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e"
integrity sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4= integrity sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=
serialize-javascript@^1.4.0:
version "1.6.1"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879"
integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==
serialize-javascript@^1.7.0: serialize-javascript@^1.7.0:
version "1.7.0" version "1.7.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65"
@ -12905,10 +13007,10 @@ simple-breakpoints@^1.1.1:
resolved "https://registry.yarnpkg.com/simple-breakpoints/-/simple-breakpoints-1.1.3.tgz#5b5b09f1e96c5f8873e8ac23915323fbd7051516" resolved "https://registry.yarnpkg.com/simple-breakpoints/-/simple-breakpoints-1.1.3.tgz#5b5b09f1e96c5f8873e8ac23915323fbd7051516"
integrity sha512-Io4J/9HyjAp6ITTBgOLU0BAronZKPC36znZoiiUSq5zlOfGPSdDFgWbpKyt9ASxGj5WXm2fhGx9+XtK3a+4dHw== integrity sha512-Io4J/9HyjAp6ITTBgOLU0BAronZKPC36znZoiiUSq5zlOfGPSdDFgWbpKyt9ASxGj5WXm2fhGx9+XtK3a+4dHw==
simple-git@1.123.0: simple-git@1.124.0:
version "1.123.0" version "1.124.0"
resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.123.0.tgz#5b1ab2673181ca6e3dcc5cc99ad82a75a49cd41a" resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.124.0.tgz#10a73cc1af303832b5c11720d4256e134fba35ca"
integrity sha512-PRXbTcLgrhOuC6N1dRxzqFkygEgWlTKce8SPoCyOm95b1tkgx4Vpf0WFzFsY/ppxNRgOHTVA57J42OKhj73gAg== integrity sha512-ks9mBoO4ODQy/xGLC8Cc+YDvj/hho/IKgPhi6h5LI/sA+YUdHc3v0DEoHzM29VmulubpGCxMJUSFmyXNsjNMEA==
dependencies: dependencies:
debug "^4.0.1" debug "^4.0.1"
@ -13022,14 +13124,6 @@ source-map-support@~0.5.12:
buffer-from "^1.0.0" buffer-from "^1.0.0"
source-map "^0.6.0" source-map "^0.6.0"
source-map-support@~0.5.6:
version "0.5.10"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c"
integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
source-map-url@^0.4.0: source-map-url@^0.4.0:
version "0.4.0" version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
@ -13188,6 +13282,13 @@ statuses@~1.4.0:
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==
std-env@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.2.1.tgz#2ffa0fdc9e2263e0004c1211966e960948a40f6b"
integrity sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ==
dependencies:
ci-info "^1.6.0"
stealthy-require@^1.1.0, stealthy-require@^1.1.1: stealthy-require@^1.1.0, stealthy-require@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
@ -13467,7 +13568,7 @@ table@^5.2.3:
slice-ansi "^2.1.0" slice-ansi "^2.1.0"
string-width "^3.0.0" string-width "^3.0.0"
tapable@^1.0.0, tapable@^1.1.0: tapable@^1.0.0:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e"
integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA== integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==
@ -13536,21 +13637,22 @@ tedious@^4.2.0:
readable-stream "^3.0.3" readable-stream "^3.0.3"
sprintf-js "^1.1.1" sprintf-js "^1.1.1"
terser-webpack-plugin@^1.1.0: terser-webpack-plugin@^1.4.1:
version "1.2.1" version "1.4.1"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz#7545da9ae5f4f9ae6a0ac961eb46f5e7c845cc26" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4"
integrity sha512-GGSt+gbT0oKcMDmPx4SRSfJPE1XaN3kQRWG4ghxKQw9cn5G9x6aCKSsgYdvyM0na9NJ4Drv0RG6jbBByZ5CMjw== integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==
dependencies: dependencies:
cacache "^11.0.2" cacache "^12.0.2"
find-cache-dir "^2.0.0" find-cache-dir "^2.1.0"
is-wsl "^1.1.0"
schema-utils "^1.0.0" schema-utils "^1.0.0"
serialize-javascript "^1.4.0" serialize-javascript "^1.7.0"
source-map "^0.6.1" source-map "^0.6.1"
terser "^3.8.1" terser "^4.1.2"
webpack-sources "^1.1.0" webpack-sources "^1.4.0"
worker-farm "^1.5.2" worker-farm "^1.7.0"
terser@4.1.2: terser@4.1.2, terser@^4.1.2:
version "4.1.2" version "4.1.2"
resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391" resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391"
integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw== integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw==
@ -13559,15 +13661,6 @@ terser@4.1.2:
source-map "~0.6.1" source-map "~0.6.1"
source-map-support "~0.5.12" source-map-support "~0.5.12"
terser@^3.8.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/terser/-/terser-3.14.1.tgz#cc4764014af570bc79c79742358bd46926018a32"
integrity sha512-NSo3E99QDbYSMeJaEk9YW2lTg3qS9V0aKGlb+PlOrei1X02r1wSBHCNX/O+yeTRFSWPKPIGj6MqvvdqV4rnVGw==
dependencies:
commander "~2.17.1"
source-map "~0.6.1"
source-map-support "~0.5.6"
test-exclude@^5.0.0: test-exclude@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz#cdce7cece785e0e829cd5c2b27baf18bc583cfb7" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz#cdce7cece785e0e829cd5c2b27baf18bc583cfb7"
@ -13829,6 +13922,11 @@ type-check@~0.3.2:
dependencies: dependencies:
prelude-ls "~1.1.2" prelude-ls "~1.1.2"
type-fest@^0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2"
integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==
type-is@^1.6.16, type-is@^1.6.4, type-is@~1.6.16: type-is@^1.6.16, type-is@^1.6.4, type-is@~1.6.16:
version "1.6.16" version "1.6.16"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
@ -14216,12 +14314,10 @@ viz.js@2.1.2:
resolved "https://registry.yarnpkg.com/viz.js/-/viz.js-2.1.2.tgz#6f09cd4e10af28754a6d50b055bd2e4a7693983a" resolved "https://registry.yarnpkg.com/viz.js/-/viz.js-2.1.2.tgz#6f09cd4e10af28754a6d50b055bd2e4a7693983a"
integrity sha512-UO6CPAuEMJ8oNR0gLLNl+wUiIzQUsyUOp8SyyDKTqVRBtq7kk1VnFmIZW8QufjxGrGEuI+LVR7p/C7uEKy0LQw== integrity sha512-UO6CPAuEMJ8oNR0gLLNl+wUiIzQUsyUOp8SyyDKTqVRBtq7kk1VnFmIZW8QufjxGrGEuI+LVR7p/C7uEKy0LQw==
vm-browserify@0.0.4: vm-browserify@^1.0.1:
version "0.0.4" version "1.1.0"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
dependencies:
indexof "0.0.1"
void-elements@^2.0.1: void-elements@^2.0.1:
version "2.0.1" version "2.0.1"
@ -14396,10 +14492,10 @@ vuetify-loader@1.3.0:
dependencies: dependencies:
loader-utils "^1.2.0" loader-utils "^1.2.0"
vuetify@2.0.1: vuetify@2.0.4:
version "2.0.1" version "2.0.4"
resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-2.0.1.tgz#27b2ea314f5eba7eff9993d4d97110d5563a4b57" resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-2.0.4.tgz#0f751ba1d257212de16e30f3e1e9c4b8a8a93353"
integrity sha512-UOBpJQdEwvoqH7zXEVo0YGLT5bKKXZxa8+MzBKaQK/Evbo5XjbEt5mxbO7f/9bCO5XqM825u4eNxcEUhV4sT1Q== integrity sha512-StXzJUph//ZJ1UTQNoJBmjAcC71Goeeg5Ag392z85dyertihy/3BIzPPxMqFTOJuDzst6oGQ3uQCfkIIqJvtfA==
vuex-pathify@1.2.4: vuex-pathify@1.2.4:
version "1.2.4" version "1.2.4"
@ -14449,7 +14545,7 @@ warning@^4.0.1:
dependencies: dependencies:
loose-envify "^1.0.0" loose-envify "^1.0.0"
watchpack@^1.5.0: watchpack@^1.6.0:
version "1.6.0" version "1.6.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==
@ -14471,10 +14567,10 @@ webidl-conversions@^4.0.2:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
webpack-bundle-analyzer@3.3.2: webpack-bundle-analyzer@3.4.1:
version "3.3.2" version "3.4.1"
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.3.2.tgz#3da733a900f515914e729fcebcd4c40dde71fc6f" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.4.1.tgz#430544c7ba1631baccf673475ca8300cb74a3c47"
integrity sha512-7qvJLPKB4rRWZGjVp5U1KEjwutbDHSKboAl0IfafnrdXMrgC0tOtZbQD6Rw0u4cmpgRN4O02Fc0t8eAT+FgGzA== integrity sha512-Bs8D/1zF+17lhqj2OYmzi7HEVYqEVxu7lCO9Ff8BwajenOU0vAwEoV8e4ICCPNZAcqR1PCR/7o2SkW+cnCmF0A==
dependencies: dependencies:
acorn "^6.0.7" acorn "^6.0.7"
acorn-walk "^6.1.1" acorn-walk "^6.1.1"
@ -14485,7 +14581,7 @@ webpack-bundle-analyzer@3.3.2:
express "^4.16.3" express "^4.16.3"
filesize "^3.6.1" filesize "^3.6.1"
gzip-size "^5.0.0" gzip-size "^5.0.0"
lodash "^4.17.10" lodash "^4.17.15"
mkdirp "^0.5.1" mkdirp "^0.5.1"
opener "^1.5.1" opener "^1.5.1"
ws "^6.0.0" ws "^6.0.0"
@ -14550,6 +14646,14 @@ webpack-sources@^1.1.0, webpack-sources@^1.3.0:
source-list-map "^2.0.0" source-list-map "^2.0.0"
source-map "~0.6.1" source-map "~0.6.1"
webpack-sources@^1.4.0, webpack-sources@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.1.tgz#b91b2c5b1c4e890ff50d1d35b7fa3657040da1da"
integrity sha512-XSz38193PTo/1csJabKaV4b53uRVotlMgqJXm3s3eje0Bu6gQTxYDqpD38CmQfDBA+gN+QqaGjasuC8I/7eW3Q==
dependencies:
source-list-map "^2.0.0"
source-map "~0.6.1"
webpack-subresource-integrity@1.3.2: webpack-subresource-integrity@1.3.2:
version "1.3.2" version "1.3.2"
resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.3.2.tgz#38fdcbdd9b90b224500626efa1e6d17fc650800f" resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.3.2.tgz#38fdcbdd9b90b224500626efa1e6d17fc650800f"
@ -14557,34 +14661,48 @@ webpack-subresource-integrity@1.3.2:
dependencies: dependencies:
webpack-sources "^1.3.0" webpack-sources "^1.3.0"
webpack@4.38.0: webpack@4.39.1:
version "4.38.0" version "4.39.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.38.0.tgz#6d77108404b08883c78f4e7e45a43c4e5c47c931" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.39.1.tgz#60ed9fb2b72cd60f26ea526c404d2a4cc97a1bd8"
integrity sha512-lbuFsVOq8PZY+1Ytz/mYOvYOo+d4IJ31hHk/7iyoeWtwN33V+5HYotSH+UIb9tq914ey0Hot7z6HugD+je3sWw== integrity sha512-/LAb2TJ2z+eVwisldp3dqTEoNhzp/TLCZlmZm3GGGAlnfIWDgOEE758j/9atklNLfRyhKbZTCOIoPqLJXeBLbQ==
dependencies: dependencies:
"@webassemblyjs/ast" "1.8.5" "@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-module-context" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5"
"@webassemblyjs/wasm-edit" "1.8.5" "@webassemblyjs/wasm-edit" "1.8.5"
"@webassemblyjs/wasm-parser" "1.8.5" "@webassemblyjs/wasm-parser" "1.8.5"
acorn "^6.2.0" acorn "^6.2.1"
ajv "^6.1.0" ajv "^6.10.2"
ajv-keywords "^3.1.0" ajv-keywords "^3.4.1"
chrome-trace-event "^1.0.0" chrome-trace-event "^1.0.2"
enhanced-resolve "^4.1.0" enhanced-resolve "^4.1.0"
eslint-scope "^4.0.0" eslint-scope "^4.0.3"
json-parse-better-errors "^1.0.2" json-parse-better-errors "^1.0.2"
loader-runner "^2.3.0" loader-runner "^2.4.0"
loader-utils "^1.1.0" loader-utils "^1.2.3"
memory-fs "~0.4.1" memory-fs "^0.4.1"
micromatch "^3.1.8" micromatch "^3.1.10"
mkdirp "~0.5.0" mkdirp "^0.5.1"
neo-async "^2.5.0" neo-async "^2.6.1"
node-libs-browser "^2.0.0" node-libs-browser "^2.2.1"
schema-utils "^1.0.0" schema-utils "^1.0.0"
tapable "^1.1.0" tapable "^1.1.3"
terser-webpack-plugin "^1.1.0" terser-webpack-plugin "^1.4.1"
watchpack "^1.5.0" watchpack "^1.6.0"
webpack-sources "^1.3.0" webpack-sources "^1.4.1"
webpackbar@3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-3.2.0.tgz#bdaad103fad11a4e612500e72aaae98b08ba493f"
integrity sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==
dependencies:
ansi-escapes "^4.1.0"
chalk "^2.4.1"
consola "^2.6.0"
figures "^3.0.0"
pretty-time "^1.1.0"
std-env "^2.2.1"
text-table "^0.2.0"
wrap-ansi "^5.1.0"
whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
version "1.0.5" version "1.0.5"
@ -14701,10 +14819,10 @@ wordwrap@~1.0.0:
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
worker-farm@^1.5.2: worker-farm@^1.7.0:
version "1.6.0" version "1.7.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
integrity sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ== integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
dependencies: dependencies:
errno "~0.1.7" errno "~0.1.7"
@ -14756,15 +14874,15 @@ write-file-atomic@^2.3.0:
imurmurhash "^0.1.4" imurmurhash "^0.1.4"
signal-exit "^3.0.2" signal-exit "^3.0.2"
write-file-webpack-plugin@4.5.0: write-file-webpack-plugin@4.5.1:
version "4.5.0" version "4.5.1"
resolved "https://registry.yarnpkg.com/write-file-webpack-plugin/-/write-file-webpack-plugin-4.5.0.tgz#b53ccf01c346342a131c73a2ddd27049e90c5b44" resolved "https://registry.yarnpkg.com/write-file-webpack-plugin/-/write-file-webpack-plugin-4.5.1.tgz#aeeb68889194da5ec8a864667d46da9e00ee92d5"
integrity sha512-k46VeERtaezbmjpDcMWATjKUWBrVe/ZEEm0cyvUm8FFP8A/r+dw5x3psRvkUOhqh9bqBLUlGYYbtr6luI+HeAg== integrity sha512-AZ7qJUvhTCBiOtG21aFJUcNuLVo2FFM6JMGKvaUGAH+QDqQAp2iG0nq3GcuXmJOFQR2JjpjhyYkyPrbFKhdjNQ==
dependencies: dependencies:
chalk "^2.4.0" chalk "^2.4.0"
debug "^3.1.0" debug "^3.1.0"
filesize "^3.6.1" filesize "^3.6.1"
lodash "^4.17.5" lodash "^4.17.13"
mkdirp "^0.5.1" mkdirp "^0.5.1"
moment "^2.22.1" moment "^2.22.1"
write-file-atomic "^2.3.0" write-file-atomic "^2.3.0"

Loading…
Cancel
Save