Merge branch 'master' into dependabot/npm_and_yarn/backend/babel/cli-7.7.5

This commit is contained in:
Robert Schäfer 2019-12-09 22:18:15 +01:00 committed by GitHub
commit 1fb442db07
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 227 additions and 146 deletions

View File

@ -98,7 +98,7 @@
},
"devDependencies": {
"@babel/cli": "~7.7.5",
"@babel/core": "~7.7.4",
"@babel/core": "~7.7.5",
"@babel/node": "~7.7.4",
"@babel/plugin-proposal-throw-expressions": "^7.7.4",
"@babel/preset-env": "~7.7.4",

View File

@ -52,7 +52,7 @@ export default {
reports: async (_parent, params, context, _resolveInfo) => {
const { driver } = context
const session = driver.session()
let reports, orderByClause
let reports, orderByClause, filterClause
switch (params.orderBy) {
case 'createdAt_asc':
orderByClause = 'ORDER BY report.createdAt ASC'
@ -63,17 +63,41 @@ export default {
default:
orderByClause = ''
}
switch (params.reviewed) {
case true:
filterClause = 'AND ((report)<-[:REVIEWED]-(:User))'
break
case false:
filterClause = 'AND NOT ((report)<-[:REVIEWED]-(:User))'
break
default:
filterClause = ''
}
if (params.closed) filterClause = 'AND report.closed = true'
const offset =
params.offset && typeof params.offset === 'number' ? `SKIP ${params.offset}` : ''
const limit = params.first && typeof params.first === 'number' ? `LIMIT ${params.first}` : ''
const reportReadTxPromise = session.readTransaction(async tx => {
const allReportsTransactionResponse = await tx.run(
`
MATCH (report:Report)-[:BELONGS_TO]->(resource)
WHERE resource:User OR resource:Post OR resource:Comment
WITH report, resource,
[(submitter:User)-[filed:FILED]->(report) | filed {.*, submitter: properties(submitter)} ] as filed,
[(moderator:User)-[reviewed:REVIEWED]->(report) | reviewed {.*, moderator: properties(moderator)} ] as reviewed,
resource {.*, __typename: labels(resource)[0] } as resourceWithType
RETURN report {.*, resource: resourceWithType, filed: filed, reviewed: reviewed}
${orderByClause}
MATCH (report:Report)-[:BELONGS_TO]->(resource)
WHERE (resource:User OR resource:Post OR resource:Comment)
${filterClause}
WITH report, resource,
[(submitter:User)-[filed:FILED]->(report) | filed {.*, submitter: properties(submitter)} ] as filed,
[(moderator:User)-[reviewed:REVIEWED]->(report) | reviewed {.*, moderator: properties(moderator)} ] as reviewed,
[(resource)<-[:WROTE]-(author:User) | author {.*} ] as optionalAuthors,
[(resource)-[:COMMENTS]->(post:Post) | post {.*} ] as optionalCommentedPosts,
resource {.*, __typename: labels(resource)[0] } as resourceWithType
WITH report, optionalAuthors, optionalCommentedPosts, reviewed, filed,
resourceWithType {.*, post: optionalCommentedPosts[0], author: optionalAuthors[0] } as finalResource
RETURN report {.*, resource: finalResource, filed: filed, reviewed: reviewed }
${orderByClause}
${offset} ${limit}
`,
)
return allReportsTransactionResponse.records.map(record => record.get('report'))

View File

@ -16,8 +16,3 @@ enum ReasonCategory {
advert_products_services_commercial
criminal_behavior_violation_german_law
}
enum ReportOrdering {
createdAt_asc
createdAt_desc
}

View File

@ -6,7 +6,7 @@ type Report {
disable: Boolean!
closed: Boolean!
filed: [FILED]
reviewed: [REVIEWED]
reviewed: [REVIEWED]!
resource: ReportedResource
}
@ -21,5 +21,10 @@ type Mutation {
}
type Query {
reports(orderBy: ReportOrdering): [Report]
reports(orderBy: ReportOrdering, first: Int, offset: Int, reviewed: Boolean, closed: Boolean): [Report]
}
enum ReportOrdering {
createdAt_asc
createdAt_desc
}

View File

@ -670,10 +670,12 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl']
factory.create('Report'),
factory.create('Report'),
factory.create('Report'),
factory.create('Report'),
])
const reportAgainstDagobert = reports[0]
const reportAgainstTrollingPost = reports[1]
const reportAgainstTrollingComment = reports[2]
const reportAgainstDewey = reports[3]
// report resource first time
await Promise.all([
@ -695,6 +697,12 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl']
reasonDescription: 'This comment is bigoted',
}),
reportAgainstTrollingComment.relateTo(trollingComment, 'belongsTo'),
reportAgainstDewey.relateTo(dagobert, 'filed', {
resourceId: 'u5',
reasonCategory: 'discrimination_etc',
reasonDescription: 'This user is harassing me!',
}),
reportAgainstDewey.relateTo(dewey, 'belongsTo'),
])
// report resource a second time

View File

@ -56,15 +56,15 @@
dependencies:
"@babel/highlight" "^7.0.0"
"@babel/core@^7.1.0", "@babel/core@~7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.4.tgz#37e864532200cb6b50ee9a4045f5f817840166ab"
integrity sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==
"@babel/core@^7.1.0", "@babel/core@~7.7.5":
version "7.7.5"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.5.tgz#ae1323cd035b5160293307f50647e83f8ba62f7e"
integrity sha512-M42+ScN4+1S9iB6f+TL7QBpoQETxbclx+KNoKJABghnKYE+fMzSGqst0BZJc8CpI625bwPwYgUyRvxZ+0mZzpw==
dependencies:
"@babel/code-frame" "^7.5.5"
"@babel/generator" "^7.7.4"
"@babel/helpers" "^7.7.4"
"@babel/parser" "^7.7.4"
"@babel/parser" "^7.7.5"
"@babel/template" "^7.7.4"
"@babel/traverse" "^7.7.4"
"@babel/types" "^7.7.4"
@ -280,10 +280,10 @@
regenerator-runtime "^0.13.3"
v8flags "^3.1.1"
"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.4.tgz#75ab2d7110c2cf2fa949959afb05fa346d2231bb"
integrity sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==
"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.4", "@babel/parser@^7.7.5":
version "7.7.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71"
integrity sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig==
"@babel/plugin-proposal-async-generator-functions@^7.7.4":
version "7.7.4"
@ -7452,11 +7452,6 @@ serve-static@1.14.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
dependencies:
encodeurl "~1.0.2"
escape-html "~1.0.3"
parseurl "~1.3.3"
send "0.17.1"
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"

@ -1 +1 @@
Subproject commit 808b3c5a9523505cb80b20b50348d29ba9932845
Subproject commit 7ef83405006b016fe45b476ed6e34ec189d7d283

View File

@ -8,7 +8,7 @@
<dropdown v-else :class="{ 'disabled-content': user.disabled }" placement="top-start" offset="0">
<template slot="default" slot-scope="{ openMenu, closeMenu, isOpen }">
<nuxt-link :to="userLink" :class="['user', isOpen && 'active']">
<div @mouseover="openMenu(true)" @mouseleave="closeMenu(true)">
<div @mouseover="openInfoMenu" @mouseleave="closeMenu(true)">
<hc-avatar v-if="showAvatar" class="avatar" :user="user" />
<div>
<ds-text class="userinfo">
@ -26,7 +26,7 @@
</div>
</nuxt-link>
</template>
<template slot="popover">
<template slot="popover" v-if="showCounts">
<div style="min-width: 250px">
<hc-badges v-if="user.badges && user.badges.length" :badges="user.badges" />
<ds-text
@ -106,6 +106,7 @@ export default {
showAvatar: { type: Boolean, default: true },
trunc: { type: Number, default: 18 }, // "-1" is no trunc
dateTime: { type: [Date, String], default: null },
showCounts: { type: Boolean, default: true },
},
computed: {
...mapGetters({
@ -142,6 +143,9 @@ export default {
this.user.followedByCount = followedByCount
this.user.followedByCurrentUser = followedByCurrentUser
},
openInfoMenu() {
if (this.showCounts) this.openMenu(true)
},
},
}
</script>

View File

@ -7,6 +7,7 @@
</client-only>
</div>
<reports-table :reports="reports" @confirm="openModal" />
<paginate :hasNext="hasNext" :hasPrevious="hasPrevious" @back="back" @next="next" />
</ds-card>
</template>
<script>
@ -14,32 +15,41 @@ import { mapMutations } from 'vuex'
import DropdownFilter from '~/components/DropdownFilter/DropdownFilter'
import ReportsTable from '~/components/features/ReportsTable/ReportsTable'
import { reportsListQuery, reviewMutation } from '~/graphql/Moderation.js'
import Paginate from '~/components/Paginate/Paginate'
export default {
components: {
DropdownFilter,
ReportsTable,
Paginate,
},
data() {
const pageSize = 25
return {
reports: [],
allReports: [],
unreviewedReports: [],
reviewedReports: [],
closedReports: [],
pageSize,
first: pageSize,
offset: 0,
reviewed: null,
closed: null,
hasNext: false,
selected: this.$t('moderation.reports.filterLabel.all'),
}
},
computed: {
filterOptions() {
return [
{ label: this.$t('moderation.reports.filterLabel.all'), value: this.allReports },
{ label: this.$t('moderation.reports.filterLabel.all'), value: { reviewed: null } },
{
label: this.$t('moderation.reports.filterLabel.unreviewed'),
value: this.unreviewedReports,
value: { reviewed: false },
},
{ label: this.$t('moderation.reports.filterLabel.reviewed'), value: this.reviewedReports },
{ label: this.$t('moderation.reports.filterLabel.closed'), value: this.closedReports },
{ label: this.$t('moderation.reports.filterLabel.reviewed'), value: { reviewed: true } },
{ label: this.$t('moderation.reports.filterLabel.closed'), value: { closed: true } },
]
},
modalData() {
@ -86,14 +96,24 @@ export default {
}
}
},
hasPrevious() {
return this.offset > 0
},
},
methods: {
...mapMutations({
commitModalData: 'modal/SET_OPEN',
}),
filter(option) {
this.reports = option.value
this.selected = option.label
this.offset = 0
if (option.value.closed) {
this.closed = option.value.closed
this.reviewed = null
return
}
this.closed = null
this.reviewed = option.value.reviewed
},
async confirmCallback(resource) {
const { disabled: disable, id: resourceId } = resource
@ -111,16 +131,30 @@ export default {
openModal(report) {
this.commitModalData(this.modalData(report))
},
back() {
this.offset = Math.max(this.offset - this.pageSize, 0)
},
next() {
this.offset += this.pageSize
},
},
apollo: {
reportsList: {
query: reportsListQuery(),
variables() {
const { first, offset, reviewed, closed } = this
return {
orderBy: 'createdAt_desc',
reviewed,
closed,
first,
offset,
}
},
update({ reports }) {
if (!reports) return []
this.hasNext = reports.length >= this.pageSize
this.reports = reports
this.allReports = reports
this.unreviewedReports = reports.filter(report => !report.reviewed)
this.reviewedReports = reports.filter(report => report.reviewed)
this.closedReports = reports.filter(report => report.closed)
},
fetchPolicy: 'cache-and-network',
},

View File

@ -19,7 +19,7 @@
<!-- Content Column -->
<td class="ds-table-col" data-test="report-content">
<client-only v-if="isUser">
<hc-user :user="report.resource" :showAvatar="false" :trunc="30" />
<hc-user :user="report.resource" :showAvatar="false" :trunc="30" :showCounts="false" />
</client-only>
<nuxt-link v-else class="title" :to="linkTarget">
{{ linkText | truncate(50) }}
@ -29,7 +29,12 @@
<!-- Author Column -->
<td class="ds-table-col" data-test="report-author">
<client-only v-if="!isUser">
<hc-user :user="report.resource.author" :showAvatar="false" :trunc="30" />
<hc-user
:user="report.resource.author"
:showAvatar="false"
:trunc="30"
:showCounts="false"
/>
</client-only>
<span v-else></span>
</td>
@ -46,6 +51,7 @@
:showAvatar="false"
:trunc="30"
:date-time="report.updatedAt"
:showCounts="false"
/>
</client-only>
</td>

View File

@ -3,8 +3,20 @@ import gql from 'graphql-tag'
export const reportsListQuery = () => {
// no limit for the moment like before: "reports(first: 20, orderBy: createdAt_desc)"
return gql`
query {
reports(orderBy: createdAt_desc) {
query(
$orderBy: ReportOrdering
$first: Int
$offset: Int
$reviewed: Boolean
$closed: Boolean
) {
reports(
orderBy: $orderBy
first: $first
offset: $offset
reviewed: $reviewed
closed: $closed
) {
id
createdAt
updatedAt
@ -17,9 +29,6 @@ export const reportsListQuery = () => {
id
slug
name
followedByCount
contributionsCount
commentedCount
}
}
resource {
@ -30,9 +39,6 @@ export const reportsListQuery = () => {
name
disabled
deleted
followedByCount
contributionsCount
commentedCount
}
... on Comment {
id
@ -45,9 +51,6 @@ export const reportsListQuery = () => {
name
disabled
deleted
followedByCount
contributionsCount
commentedCount
}
post {
id
@ -69,9 +72,6 @@ export const reportsListQuery = () => {
name
disabled
deleted
followedByCount
contributionsCount
commentedCount
}
}
}
@ -82,9 +82,6 @@ export const reportsListQuery = () => {
name
disabled
deleted
followedByCount
contributionsCount
commentedCount
}
createdAt
reasonCategory
@ -114,7 +111,6 @@ export const reviewMutation = () => {
mutation($resourceId: ID!, $disable: Boolean, $closed: Boolean) {
review(resourceId: $resourceId, disable: $disable, closed: $closed) {
disable
closed
}
}
`

View File

@ -113,13 +113,11 @@
}
},
"deleteUserAccount": {
"name": "",
"contributionsCount": "",
"commentedCount": "",
"accountDescription": "Essere consapevoli che i tuoi post e commenti sono importanti per la nostra comunità. Se scegli ancora di cancellarli, devi contrassegnarli qui sotto.",
"accountWarning": "",
"success": "",
"pleaseConfirm": ""
"name": "Cancellare l'account utente",
"accountDescription": "Essere consapevoli che i tuoi post e commenti sono importanti per la nostra comunità. Se cancelli il tuo account utente, tutto scomparirà per sempre - e sarebbe un vero peccato!",
"accountWarning": "Attenzione!Tu <b>Non puoi gestire</b> e <b>Non puoi recuperare il tuo account, i tuoi messaggi o commenti dopo aver cancellato il tuo account!",
"success": "Account eliminato con successo!",
"pleaseConfirm": "<b class='is-danger'>Azione distruttiva! </b> Digita <b>{conferma}</b> per confermare"
},
"embeds": {
"name": "",
@ -749,4 +747,4 @@
"donate-now": "",
"amount-of-total": ""
}
}
}

View File

@ -97,9 +97,9 @@
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"@babel/core": "~7.7.4",
"@babel/core": "~7.7.5",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/preset-env": "~7.7.4",
"@babel/preset-env": "~7.7.6",
"@storybook/addon-a11y": "^5.2.8",
"@storybook/addon-actions": "^5.2.8",
"@storybook/addon-notes": "^5.2.8",
@ -108,7 +108,7 @@
"@vue/eslint-config-prettier": "~6.0.0",
"@vue/server-test-utils": "~1.0.0-beta.30",
"@vue/test-utils": "~1.0.0-beta.29",
"async-validator": "^3.2.2",
"async-validator": "^3.2.3",
"babel-core": "~7.0.0-bridge.0",
"babel-eslint": "~10.0.3",
"babel-jest": "~24.9.0",
@ -120,7 +120,7 @@
"eslint": "~6.7.2",
"eslint-config-prettier": "~6.7.0",
"eslint-config-standard": "~14.1.0",
"eslint-loader": "~3.0.2",
"eslint-loader": "~3.0.3",
"eslint-plugin-import": "~2.18.2",
"eslint-plugin-jest": "~23.1.1",
"eslint-plugin-node": "~10.0.0",

View File

@ -66,15 +66,15 @@
dependencies:
"@babel/highlight" "^7.0.0"
"@babel/core@^7.1.0", "@babel/core@^7.6.4", "@babel/core@~7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.4.tgz#37e864532200cb6b50ee9a4045f5f817840166ab"
integrity sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==
"@babel/core@^7.1.0", "@babel/core@^7.6.4", "@babel/core@~7.7.5":
version "7.7.5"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.5.tgz#ae1323cd035b5160293307f50647e83f8ba62f7e"
integrity sha512-M42+ScN4+1S9iB6f+TL7QBpoQETxbclx+KNoKJABghnKYE+fMzSGqst0BZJc8CpI625bwPwYgUyRvxZ+0mZzpw==
dependencies:
"@babel/code-frame" "^7.5.5"
"@babel/generator" "^7.7.4"
"@babel/helpers" "^7.7.4"
"@babel/parser" "^7.7.4"
"@babel/parser" "^7.7.5"
"@babel/template" "^7.7.4"
"@babel/traverse" "^7.7.4"
"@babel/types" "^7.7.4"
@ -263,6 +263,18 @@
"@babel/types" "^7.7.4"
lodash "^4.17.13"
"@babel/helper-module-transforms@^7.7.5":
version "7.7.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz#d044da7ffd91ec967db25cd6748f704b6b244835"
integrity sha512-A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw==
dependencies:
"@babel/helper-module-imports" "^7.7.4"
"@babel/helper-simple-access" "^7.7.4"
"@babel/helper-split-export-declaration" "^7.7.4"
"@babel/template" "^7.7.4"
"@babel/types" "^7.7.4"
lodash "^4.17.13"
"@babel/helper-optimise-call-expression@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
@ -370,10 +382,10 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.3", "@babel/parser@^7.4.3", "@babel/parser@^7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.4.tgz#75ab2d7110c2cf2fa949959afb05fa346d2231bb"
integrity sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==
"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.3", "@babel/parser@^7.4.3", "@babel/parser@^7.7.4", "@babel/parser@^7.7.5":
version "7.7.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71"
integrity sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig==
"@babel/plugin-proposal-async-generator-functions@^7.7.4":
version "7.7.4"
@ -616,21 +628,21 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-transform-modules-amd@^7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz#276b3845ca2b228f2995e453adc2e6f54d72fb71"
integrity sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==
"@babel/plugin-transform-modules-amd@^7.7.5":
version "7.7.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz#39e0fb717224b59475b306402bb8eedab01e729c"
integrity sha512-CT57FG4A2ZUNU1v+HdvDSDrjNWBrtCmSH6YbbgN3Lrf0Di/q/lWRxZrE72p3+HCCz9UjfZOEBdphgC0nzOS6DQ==
dependencies:
"@babel/helper-module-transforms" "^7.7.4"
"@babel/helper-module-transforms" "^7.7.5"
"@babel/helper-plugin-utils" "^7.0.0"
babel-plugin-dynamic-import-node "^2.3.0"
"@babel/plugin-transform-modules-commonjs@^7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz#bee4386e550446343dd52a571eda47851ff857a3"
integrity sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA==
"@babel/plugin-transform-modules-commonjs@^7.7.5":
version "7.7.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz#1d27f5eb0bcf7543e774950e5b2fa782e637b345"
integrity sha512-9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q==
dependencies:
"@babel/helper-module-transforms" "^7.7.4"
"@babel/helper-module-transforms" "^7.7.5"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/helper-simple-access" "^7.7.4"
babel-plugin-dynamic-import-node "^2.3.0"
@ -698,10 +710,10 @@
"@babel/helper-annotate-as-pure" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-transform-regenerator@^7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz#d18eac0312a70152d7d914cbed2dc3999601cfc0"
integrity sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw==
"@babel/plugin-transform-regenerator@^7.7.5":
version "7.7.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz#3a8757ee1a2780f390e89f246065ecf59c26fce9"
integrity sha512-/8I8tPvX2FkuEyWbjRCt4qTAgZK0DVy8QRguhA524UH48RfGJy94On2ri+dCuwOpcerPRl9O4ebQkRcVzIaGBw==
dependencies:
regenerator-transform "^0.14.0"
@ -767,10 +779,10 @@
"@babel/helper-create-regexp-features-plugin" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/preset-env@^7.6.3", "@babel/preset-env@^7.7.1", "@babel/preset-env@~7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.4.tgz#ccaf309ae8d1ee2409c85a4e2b5e280ceee830f8"
integrity sha512-Dg+ciGJjwvC1NIe/DGblMbcGq1HOtKbw8RLl4nIjlfcILKEOkWT/vRqPpumswABEBVudii6dnVwrBtzD7ibm4g==
"@babel/preset-env@^7.6.3", "@babel/preset-env@^7.7.1", "@babel/preset-env@~7.7.6":
version "7.7.6"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.6.tgz#39ac600427bbb94eec6b27953f1dfa1d64d457b2"
integrity sha512-k5hO17iF/Q7tR9Jv8PdNBZWYW6RofxhnxKjBMc0nG4JTaWvOTiPoO/RLFwAKcA4FpmuBFm6jkoqaRJLGi0zdaQ==
dependencies:
"@babel/helper-module-imports" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
@ -800,8 +812,8 @@
"@babel/plugin-transform-function-name" "^7.7.4"
"@babel/plugin-transform-literals" "^7.7.4"
"@babel/plugin-transform-member-expression-literals" "^7.7.4"
"@babel/plugin-transform-modules-amd" "^7.7.4"
"@babel/plugin-transform-modules-commonjs" "^7.7.4"
"@babel/plugin-transform-modules-amd" "^7.7.5"
"@babel/plugin-transform-modules-commonjs" "^7.7.5"
"@babel/plugin-transform-modules-systemjs" "^7.7.4"
"@babel/plugin-transform-modules-umd" "^7.7.4"
"@babel/plugin-transform-named-capturing-groups-regex" "^7.7.4"
@ -809,7 +821,7 @@
"@babel/plugin-transform-object-super" "^7.7.4"
"@babel/plugin-transform-parameters" "^7.7.4"
"@babel/plugin-transform-property-literals" "^7.7.4"
"@babel/plugin-transform-regenerator" "^7.7.4"
"@babel/plugin-transform-regenerator" "^7.7.5"
"@babel/plugin-transform-reserved-words" "^7.7.4"
"@babel/plugin-transform-shorthand-properties" "^7.7.4"
"@babel/plugin-transform-spread" "^7.7.4"
@ -819,7 +831,7 @@
"@babel/plugin-transform-unicode-regex" "^7.7.4"
"@babel/types" "^7.7.4"
browserslist "^4.6.0"
core-js-compat "^3.1.1"
core-js-compat "^3.4.7"
invariant "^2.2.2"
js-levenshtein "^1.1.3"
semver "^5.5.0"
@ -4143,10 +4155,10 @@ async-retry@^1.2.1:
dependencies:
retry "0.12.0"
async-validator@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.2.2.tgz#91f6314d2dc7f03fd90940bcb577afc8ee5466ac"
integrity sha512-NT5efhGkksDqODAsARaTAlkPshMgmpWw80ijM2MEr1TrDczBETaNRS3GDd1jsVRK5YSfVW10Zscab98rDYkaBA==
async-validator@^3.2.3:
version "3.2.3"
resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.2.3.tgz#b38b72f9c08c1d28548df13bb260b6908448ca49"
integrity sha512-yMJ4i3x5qEGVgEMowZiBkx+rjDrsXf64BWdHENCtHLgyPiEE+2r8jvqMF1cghCgdGo4sWVLJ7MDwPQgGSPDCcw==
async@^1.4.0:
version "1.5.2"
@ -4974,14 +4986,14 @@ browserslist@4.5.4:
electron-to-chromium "^1.3.122"
node-releases "^1.1.13"
browserslist@^4.0.0, browserslist@^4.5.4, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4:
version "4.6.6"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453"
integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==
browserslist@^4.0.0, browserslist@^4.5.4, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.8.2:
version "4.8.2"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289"
integrity sha512-+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA==
dependencies:
caniuse-lite "^1.0.30000984"
electron-to-chromium "^1.3.191"
node-releases "^1.1.25"
caniuse-lite "^1.0.30001015"
electron-to-chromium "^1.3.322"
node-releases "^1.1.42"
bser@^2.0.0:
version "2.0.0"
@ -5208,7 +5220,7 @@ caniuse-lite@^1.0.30000955:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000988.tgz#742f35ec1b8b75b9628d705d7652eea1fef983db"
integrity sha512-lPj3T8poYrRc/bniW5SQPND3GRtSrQdUM/R4mCYTbZxyi3jQiggLvZH4+BYUuX0t4TXjU+vMM7KFDQg+rSzZUQ==
caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000984:
caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981:
version "1.0.30000989"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9"
integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==
@ -5218,6 +5230,11 @@ caniuse-lite@^1.0.30001002:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001002.tgz#ba999a737b1abd5bf0fd47efe43a09b9cadbe9b0"
integrity sha512-pRuxPE8wdrWmVPKcDmJJiGBxr6lFJq4ivdSeo9FTmGj5Rb8NX3Mby2pARG57MXF15hYAhZ0nHV5XxT2ig4bz3g==
caniuse-lite@^1.0.30001015:
version "1.0.30001015"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz#15a7ddf66aba786a71d99626bc8f2b91c6f0f5f0"
integrity sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ==
capture-exit@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4"
@ -5919,19 +5936,13 @@ copy-to-clipboard@^3.0.8:
dependencies:
toggle-selection "^1.0.6"
core-js-compat@^3.1.1:
version "3.1.2"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.2.tgz#c29ab9722517094b98622175e2218c3b7398176d"
integrity sha512-X0Ch5f6itrHxhg5HSJucX6nNLNAGr+jq+biBh6nPGc3YAWz2a8p/ZIZY8cUkDzSRNG54omAuu3hoEF8qZbu/6Q==
core-js-compat@^3.4.7:
version "3.4.8"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.4.8.tgz#f72e6a4ed76437ea710928f44615f926a81607d5"
integrity sha512-l3WTmnXHV2Sfu5VuD7EHE2w7y+K68+kULKt5RJg8ZJk3YhHF1qLD4O8v8AmNq+8vbOwnPFFDvds25/AoEvMqlQ==
dependencies:
browserslist "^4.6.0"
core-js-pure "3.1.2"
semver "^6.0.0"
core-js-pure@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.2.tgz#62fc435f35b7374b9b782013cdcb2f97e9f6dffa"
integrity sha512-5ckIdBF26B3ldK9PM177y2ZcATP2oweam9RskHSoqfZCrJ2As6wVg8zJ1zTriFsZf6clj/N1ThDFRGaomMsh9w==
browserslist "^4.8.2"
semver "^6.3.0"
core-js-pure@^3.0.1:
version "3.1.4"
@ -6854,10 +6865,10 @@ electron-to-chromium@^1.3.122:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.211.tgz#0c39d17316bf342d1971fed68e754fa1775918f7"
integrity sha512-GZAiK3oHrs0K+LwH+HD+bdjZ17v40oQQdXbbd3dgrwgbENvazrGpcuIADSAREWnxzo9gADB1evuizrbXsnoU2Q==
electron-to-chromium@^1.3.191:
version "1.3.237"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.237.tgz#39c5d1da59d6fd16ff705b97e772bb3b5dfda7e4"
integrity sha512-SPAFjDr/7iiVK2kgTluwxela6eaWjjFkS9rO/iYpB/KGXgccUom5YC7OIf19c8m8GGptWxLU0Em8xM64A/N7Fg==
electron-to-chromium@^1.3.322:
version "1.3.322"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8"
integrity sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA==
elegant-spinner@^1.0.1:
version "1.0.1"
@ -7078,16 +7089,16 @@ eslint-import-resolver-node@^0.3.2:
debug "^2.6.9"
resolve "^1.5.0"
eslint-loader@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz#5a627316a51d6f41d357b9f6f0554e91506cdd6e"
integrity sha512-S5VnD+UpVY1PyYRqeBd/4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os/0zWihLeOg2Rw==
eslint-loader@~3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.3.tgz#e018e3d2722381d982b1201adb56819c73b480ca"
integrity sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw==
dependencies:
fs-extra "^8.1.0"
loader-fs-cache "^1.0.2"
loader-utils "^1.2.3"
object-hash "^1.3.1"
schema-utils "^2.2.0"
object-hash "^2.0.1"
schema-utils "^2.6.1"
eslint-module-utils@^2.4.0:
version "2.4.0"
@ -11328,12 +11339,12 @@ node-releases@^1.1.13:
dependencies:
semver "^5.3.0"
node-releases@^1.1.25:
version "1.1.27"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.27.tgz#b19ec8add2afe9a826a99dceccc516104c1edaf4"
integrity sha512-9iXUqHKSGo6ph/tdXVbHFbhRVQln4ZDTIBJCzsa90HimnBYc5jw8RWYt4wBYFHehGyC3koIz5O4mb2fHrbPOuA==
node-releases@^1.1.42:
version "1.1.42"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.42.tgz#a999f6a62f8746981f6da90627a8d2fc090bbad7"
integrity sha512-OQ/ESmUqGawI2PRX+XIRao44qWYBBfN54ImQYdWVTQqUckuejOg76ysSqDBK8NG3zwySRVnX36JwDQ6x+9GxzA==
dependencies:
semver "^5.3.0"
semver "^6.3.0"
node-res@^5.0.1:
version "5.0.1"
@ -11564,6 +11575,11 @@ object-hash@^1.3.1:
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df"
integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==
object-hash@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.1.tgz#cef18a0c940cc60aa27965ecf49b782cbf101d96"
integrity sha512-HgcGMooY4JC2PBt9sdUdJ6PMzpin+YtY3r/7wg0uTifP+HJWW8rammseSEHuyt0UeShI183UGssCJqm1bJR7QA==
object-keys@^1.0.11, object-keys@^1.0.12:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
@ -14173,7 +14189,7 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.1.0, schema-utils@^2.2.0, schema-utils@^2.4.1, schema-utils@^2.5.0, schema-utils@^2.6.0:
schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.1.0, schema-utils@^2.4.1, schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f"
integrity sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==