From 0a9991b979c5e1f6b0e18b978284efcd934a6bee Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2019 10:48:36 +0000 Subject: [PATCH 01/13] Bump eslint-config-standard from 12.0.0 to 13.0.1 in /backend Bumps [eslint-config-standard](https://github.com/standard/eslint-config-standard) from 12.0.0 to 13.0.1. - [Release notes](https://github.com/standard/eslint-config-standard/releases) - [Changelog](https://github.com/standard/eslint-config-standard/blob/master/CHANGELOG.md) - [Commits](https://github.com/standard/eslint-config-standard/compare/v12.0.0...v13.0.1) Signed-off-by: dependabot-preview[bot] --- backend/package.json | 2 +- backend/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/package.json b/backend/package.json index e5d86d983..7f75d2fc8 100644 --- a/backend/package.json +++ b/backend/package.json @@ -114,7 +114,7 @@ "cucumber": "~5.1.0", "eslint": "~6.1.0", "eslint-config-prettier": "~6.0.0", - "eslint-config-standard": "~12.0.0", + "eslint-config-standard": "~13.0.1", "eslint-plugin-import": "~2.18.2", "eslint-plugin-jest": "~22.14.1", "eslint-plugin-node": "~9.1.0", diff --git a/backend/yarn.lock b/backend/yarn.lock index 6c963f427..dac144fe6 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -3272,10 +3272,10 @@ eslint-config-prettier@~6.0.0: dependencies: get-stdin "^6.0.0" -eslint-config-standard@~12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz#638b4c65db0bd5a41319f96bba1f15ddad2107d9" - integrity sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ== +eslint-config-standard@~13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-13.0.1.tgz#c9c6ffe0cfb8a51535bc5c7ec9f70eafb8c6b2c0" + integrity sha512-zLKp4QOgq6JFgRm1dDCVv1Iu0P5uZ4v5Wa4DTOkg2RFMxdCX/9Qf7lz9ezRj2dBRa955cWQF/O/LWEiYWAHbTw== eslint-import-resolver-node@^0.3.2: version "0.3.2" From e1bb6ed74e316286a9825e51c0c5d45f41f3ee1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=A4fer?= Date: Fri, 2 Aug 2019 01:45:36 +0200 Subject: [PATCH 02/13] Fix lint --- backend/src/activitypub/ActivityPub.js | 7 +- backend/src/activitypub/Collections.js | 1 + backend/src/activitypub/NitroDataSource.js | 2 + backend/src/activitypub/security/index.js | 2 +- backend/src/activitypub/utils/index.js | 102 +++++++++--------- .../src/middleware/permissionsMiddleware.js | 2 - backend/src/middleware/slugify/uniqueSlug.js | 2 +- backend/src/middleware/xssMiddleware.js | 6 +- backend/src/schema/resolvers/comments.js | 2 +- backend/src/schema/resolvers/comments.spec.js | 5 +- backend/src/schema/resolvers/follow.js | 4 +- backend/src/schema/resolvers/follow.spec.js | 6 +- .../schema/resolvers/notifications.spec.js | 6 +- backend/src/schema/resolvers/passwordReset.js | 2 +- .../schema/resolvers/passwordReset.spec.js | 8 +- backend/src/schema/resolvers/posts.spec.js | 2 +- .../src/schema/resolvers/registration.spec.js | 2 +- backend/src/schema/resolvers/reports.js | 2 +- backend/src/schema/resolvers/rewards.js | 4 +- backend/src/schema/resolvers/shout.js | 4 +- backend/src/schema/resolvers/shout.spec.js | 6 +- backend/src/schema/resolvers/statistics.js | 36 ++++--- .../src/schema/resolvers/user_management.js | 2 +- .../schema/resolvers/user_management.spec.js | 2 +- backend/src/schema/resolvers/users.js | 4 +- backend/src/schema/types/index.js | 2 +- backend/src/seed/factories/index.js | 4 +- backend/src/seed/seed-helpers.js | 16 +-- 28 files changed, 122 insertions(+), 121 deletions(-) diff --git a/backend/src/activitypub/ActivityPub.js b/backend/src/activitypub/ActivityPub.js index 12671f330..cd16f620e 100644 --- a/backend/src/activitypub/ActivityPub.js +++ b/backend/src/activitypub/ActivityPub.js @@ -35,8 +35,8 @@ export default class ActivityPub { handleFollowActivity(activity) { debug(`inside FOLLOW ${activity.actor}`) - let toActorName = extractNameFromId(activity.object) - let fromDomain = extractDomainFromUrl(activity.actor) + const toActorName = extractNameFromId(activity.object) + const fromDomain = extractDomainFromUrl(activity.actor) const dataSource = this.dataSource return new Promise((resolve, reject) => { @@ -53,7 +53,7 @@ export default class ActivityPub { toActorObject = JSON.parse(toActorObject) await this.dataSource.addSharedInboxEndpoint(toActorObject.endpoints.sharedInbox) - let followersCollectionPage = await this.dataSource.getFollowersCollectionPage( + const followersCollectionPage = await this.dataSource.getFollowersCollectionPage( activity.object, ) @@ -222,6 +222,7 @@ export default class ActivityPub { }) } } + async trySend(activity, fromName, host, url, tries = 5) { try { return await signAndSend(activity, fromName, host, url) diff --git a/backend/src/activitypub/Collections.js b/backend/src/activitypub/Collections.js index 641db596a..4040468cf 100644 --- a/backend/src/activitypub/Collections.js +++ b/backend/src/activitypub/Collections.js @@ -2,6 +2,7 @@ export default class Collections { constructor(dataSource) { this.dataSource = dataSource } + getFollowersCollection(actorId) { return this.dataSource.getFollowersCollection(actorId) } diff --git a/backend/src/activitypub/NitroDataSource.js b/backend/src/activitypub/NitroDataSource.js index 0900bed6c..dfdbf6c14 100644 --- a/backend/src/activitypub/NitroDataSource.js +++ b/backend/src/activitypub/NitroDataSource.js @@ -303,6 +303,7 @@ export default class NitroDataSource { }), ) } + async saveFollowingCollectionPage(followingCollection, onlyNewestItem = true) { debug('inside saveFollowers') let orderedItems = followingCollection.orderedItems @@ -470,6 +471,7 @@ export default class NitroDataSource { throwErrorIfApolloErrorOccurred(result) return result.data.SharedInboxEnpoint } + async addSharedInboxEndpoint(uri) { try { const result = await this.client.mutate({ diff --git a/backend/src/activitypub/security/index.js b/backend/src/activitypub/security/index.js index 9b48b7ed9..05642ed26 100644 --- a/backend/src/activitypub/security/index.js +++ b/backend/src/activitypub/security/index.js @@ -97,7 +97,7 @@ export function verifySignature(url, headers) { // private: signing function constructSigningString(url, headers) { const urlObj = new URL(url) - let signingString = `(request-target): post ${urlObj.pathname}${ + const signingString = `(request-target): post ${urlObj.pathname}${ urlObj.search !== '' ? urlObj.search : '' }` return Object.keys(headers).reduce((result, key) => { diff --git a/backend/src/activitypub/utils/index.js b/backend/src/activitypub/utils/index.js index 3927f4056..5f26c635f 100644 --- a/backend/src/activitypub/utils/index.js +++ b/backend/src/activitypub/utils/index.js @@ -40,70 +40,72 @@ export function signAndSend(activity, fromName, targetDomain, url) { // fix for development: replace with http url = url.indexOf('localhost') > -1 ? url.replace('https', 'http') : url debug(`passhprase = ${CONFIG.PRIVATE_KEY_PASSPHRASE}`) - return new Promise(async (resolve, reject) => { + return new Promise((resolve, reject) => { debug('inside signAndSend') // get the private key - const result = await activityPub.dataSource.client.query({ - query: gql` + activityPub.dataSource.client + .query({ + query: gql` query { User(slug: "${fromName}") { privateKey } } `, - }) + }) + .then(result => { + if (result.error) { + reject(result.error) + } else { + // add security context + const parsedActivity = JSON.parse(activity) + if (Array.isArray(parsedActivity['@context'])) { + parsedActivity['@context'].push('https://w3id.org/security/v1') + } else { + const context = [parsedActivity['@context']] + context.push('https://w3id.org/security/v1') + parsedActivity['@context'] = context + } - if (result.error) { - reject(result.error) - } else { - // add security context - const parsedActivity = JSON.parse(activity) - if (Array.isArray(parsedActivity['@context'])) { - parsedActivity['@context'].push('https://w3id.org/security/v1') - } else { - const context = [parsedActivity['@context']] - context.push('https://w3id.org/security/v1') - parsedActivity['@context'] = context - } + // deduplicate context strings + parsedActivity['@context'] = [...new Set(parsedActivity['@context'])] + const privateKey = result.data.User[0].privateKey + const date = new Date().toUTCString() - // deduplicate context strings - parsedActivity['@context'] = [...new Set(parsedActivity['@context'])] - const privateKey = result.data.User[0].privateKey - const date = new Date().toUTCString() - - debug(`url = ${url}`) - request( - { - url: url, - headers: { - Host: targetDomain, - Date: date, - Signature: createSignature({ - privateKey, - keyId: `${activityPub.endpoint}/activitypub/users/${fromName}#main-key`, - url, + debug(`url = ${url}`) + request( + { + url: url, headers: { Host: targetDomain, Date: date, + Signature: createSignature({ + privateKey, + keyId: `${activityPub.endpoint}/activitypub/users/${fromName}#main-key`, + url, + headers: { + Host: targetDomain, + Date: date, + 'Content-Type': 'application/activity+json', + }, + }), 'Content-Type': 'application/activity+json', }, - }), - 'Content-Type': 'application/activity+json', - }, - method: 'POST', - body: JSON.stringify(parsedActivity), - }, - (error, response) => { - if (error) { - debug(`Error = ${JSON.stringify(error, null, 2)}`) - reject(error) - } else { - debug('Response Headers:', JSON.stringify(response.headers, null, 2)) - debug('Response Body:', JSON.stringify(response.body, null, 2)) - resolve() - } - }, - ) - } + method: 'POST', + body: JSON.stringify(parsedActivity), + }, + (error, response) => { + if (error) { + debug(`Error = ${JSON.stringify(error, null, 2)}`) + reject(error) + } else { + debug('Response Headers:', JSON.stringify(response.headers, null, 2)) + debug('Response Body:', JSON.stringify(response.body, null, 2)) + resolve() + } + }, + ) + } + }) }) } diff --git a/backend/src/middleware/permissionsMiddleware.js b/backend/src/middleware/permissionsMiddleware.js index afc38a65c..d972603a6 100644 --- a/backend/src/middleware/permissionsMiddleware.js +++ b/backend/src/middleware/permissionsMiddleware.js @@ -97,8 +97,6 @@ const invitationLimitReached = rule({ return record.get('limitReached') }) return limitReached - } catch (e) { - throw e } finally { session.close() } diff --git a/backend/src/middleware/slugify/uniqueSlug.js b/backend/src/middleware/slugify/uniqueSlug.js index 69aef2d1b..ca37cd562 100644 --- a/backend/src/middleware/slugify/uniqueSlug.js +++ b/backend/src/middleware/slugify/uniqueSlug.js @@ -1,6 +1,6 @@ import slugify from 'slug' export default async function uniqueSlug(string, isUnique) { - let slug = slugify(string || 'anonymous', { + const slug = slugify(string || 'anonymous', { lower: true, }) if (await isUnique(slug)) return slug diff --git a/backend/src/middleware/xssMiddleware.js b/backend/src/middleware/xssMiddleware.js index 06aa5b306..6894e8601 100644 --- a/backend/src/middleware/xssMiddleware.js +++ b/backend/src/middleware/xssMiddleware.js @@ -8,8 +8,8 @@ import linkifyHtml from 'linkifyjs/html' const embedToAnchor = content => { const $ = cheerio.load(content) $('div[data-url-embed]').each((i, el) => { - let url = el.attribs['data-url-embed'] - let aTag = $(`${url}`) + const url = el.attribs['data-url-embed'] + const aTag = $(`${url}`) $(el).replaceWith(aTag) }) return $('body').html() @@ -87,7 +87,7 @@ function clean(dirty) { b: 'strong', s: 'strike', img: function(tagName, attribs) { - let src = attribs.src + const src = attribs.src if (!src) { // remove broken images diff --git a/backend/src/schema/resolvers/comments.js b/backend/src/schema/resolvers/comments.js index 31219d6d9..89a2040f4 100644 --- a/backend/src/schema/resolvers/comments.js +++ b/backend/src/schema/resolvers/comments.js @@ -18,7 +18,7 @@ export default { false, ) - let transactionRes = await session.run( + const transactionRes = await session.run( ` MATCH (post:Post {id: $postId}), (comment:Comment {id: $commentId}), (author:User {id: $userId}) MERGE (post)<-[:COMMENTS]-(comment)<-[:WROTE]-(author) diff --git a/backend/src/schema/resolvers/comments.spec.js b/backend/src/schema/resolvers/comments.spec.js index 890ba5feb..e8280bd4b 100644 --- a/backend/src/schema/resolvers/comments.spec.js +++ b/backend/src/schema/resolvers/comments.spec.js @@ -5,7 +5,6 @@ import { host, login, gql } from '../../jest/helpers' const factory = Factory() let client let createCommentVariables -let createPostVariables let createCommentVariablesSansPostId let createCommentVariablesWithNonExistentPost let userParams @@ -26,7 +25,7 @@ const createCommentMutation = gql` } } ` -createPostVariables = { +const createPostVariables = { id: 'p1', title: 'post to comment on', content: 'please comment on me', @@ -325,7 +324,7 @@ describe('ManageComments', () => { } ` - let deleteCommentVariables = { + const deleteCommentVariables = { id: 'c456', } diff --git a/backend/src/schema/resolvers/follow.js b/backend/src/schema/resolvers/follow.js index 4e9a3b27d..730a66cfd 100644 --- a/backend/src/schema/resolvers/follow.js +++ b/backend/src/schema/resolvers/follow.js @@ -4,7 +4,7 @@ export default { const { id, type } = params const session = context.driver.session() - let transactionRes = await session.run( + const transactionRes = await session.run( `MATCH (node {id: $id}), (user:User {id: $userId}) WHERE $type IN labels(node) AND NOT $id = $userId MERGE (user)-[relation:FOLLOWS]->(node) @@ -29,7 +29,7 @@ export default { const { id, type } = params const session = context.driver.session() - let transactionRes = await session.run( + const transactionRes = await session.run( `MATCH (user:User {id: $userId})-[relation:FOLLOWS]->(node {id: $id}) WHERE $type IN labels(node) DELETE relation diff --git a/backend/src/schema/resolvers/follow.spec.js b/backend/src/schema/resolvers/follow.spec.js index d29e17938..66be20841 100644 --- a/backend/src/schema/resolvers/follow.spec.js +++ b/backend/src/schema/resolvers/follow.spec.js @@ -41,8 +41,7 @@ describe('follow', () => { describe('follow user', () => { describe('unauthenticated follow', () => { it('throws authorization error', async () => { - let client - client = new GraphQLClient(host) + const client = new GraphQLClient(host) await expect(client.request(mutationFollowUser('u2'))).rejects.toThrow('Not Authorised') }) }) @@ -93,8 +92,7 @@ describe('follow', () => { // follow await clientUser1.request(mutationFollowUser('u2')) // unfollow - let client - client = new GraphQLClient(host) + const client = new GraphQLClient(host) await expect(client.request(mutationUnfollowUser('u2'))).rejects.toThrow('Not Authorised') }) }) diff --git a/backend/src/schema/resolvers/notifications.spec.js b/backend/src/schema/resolvers/notifications.spec.js index 3876a4be3..8d51ebfbb 100644 --- a/backend/src/schema/resolvers/notifications.spec.js +++ b/backend/src/schema/resolvers/notifications.spec.js @@ -4,7 +4,7 @@ import { host, login } from '../../jest/helpers' const factory = Factory() let client -let userParams = { +const userParams = { id: 'you', email: 'test@example.org', password: '1234', @@ -34,7 +34,7 @@ describe('Notification', () => { }) describe('currentUser { notifications }', () => { - let variables = {} + const variables = {} describe('authenticated', () => { let headers @@ -79,7 +79,7 @@ describe('currentUser { notifications }', () => { } } }` - let variables = { read: false } + const variables = { read: false } it('returns only unread notifications of current user', async () => { const expected = { currentUser: { diff --git a/backend/src/schema/resolvers/passwordReset.js b/backend/src/schema/resolvers/passwordReset.js index 88d82846a..d2012c0fd 100644 --- a/backend/src/schema/resolvers/passwordReset.js +++ b/backend/src/schema/resolvers/passwordReset.js @@ -41,7 +41,7 @@ export default { SET u.encryptedPassword = $encryptedNewPassword RETURN pr ` - let transactionRes = await session.run(cypher, { + const transactionRes = await session.run(cypher, { stillValid, email, code, diff --git a/backend/src/schema/resolvers/passwordReset.spec.js b/backend/src/schema/resolvers/passwordReset.spec.js index 545945f51..b54b25a80 100644 --- a/backend/src/schema/resolvers/passwordReset.spec.js +++ b/backend/src/schema/resolvers/passwordReset.spec.js @@ -10,7 +10,7 @@ const driver = getDriver() const getAllPasswordResets = async () => { const session = driver.session() - let transactionRes = await session.run('MATCH (r:PasswordReset) RETURN r') + const transactionRes = await session.run('MATCH (r:PasswordReset) RETURN r') const resets = transactionRes.records.map(record => record.get('r')) session.close() return resets @@ -84,9 +84,9 @@ describe('passwordReset', () => { } const mutation = `mutation($code: String!, $email: String!, $newPassword: String!) { resetPassword(code: $code, email: $email, newPassword: $newPassword) }` - let email = 'user@example.org' - let code = 'abcdef' - let newPassword = 'supersecret' + const email = 'user@example.org' + const code = 'abcdef' + const newPassword = 'supersecret' let variables describe('invalid email', () => { diff --git a/backend/src/schema/resolvers/posts.spec.js b/backend/src/schema/resolvers/posts.spec.js index 233be450a..6714c93ad 100644 --- a/backend/src/schema/resolvers/posts.spec.js +++ b/backend/src/schema/resolvers/posts.spec.js @@ -337,7 +337,7 @@ describe('DeletePost', () => { } ` - let variables = { + const variables = { id: 'p1', } diff --git a/backend/src/schema/resolvers/registration.spec.js b/backend/src/schema/resolvers/registration.spec.js index dc2e96348..9f9a171f7 100644 --- a/backend/src/schema/resolvers/registration.spec.js +++ b/backend/src/schema/resolvers/registration.spec.js @@ -300,7 +300,7 @@ describe('SignupVerification', () => { } ` describe('given valid password and email', () => { - let variables = { + const variables = { nonce: '123456', name: 'John Doe', password: '123', diff --git a/backend/src/schema/resolvers/reports.js b/backend/src/schema/resolvers/reports.js index 67c896939..79cae032b 100644 --- a/backend/src/schema/resolvers/reports.js +++ b/backend/src/schema/resolvers/reports.js @@ -60,7 +60,7 @@ export default { if (!dbResponse) return null const { report, submitter, resource, type } = dbResponse - let response = { + const response = { ...report.properties, post: null, comment: null, diff --git a/backend/src/schema/resolvers/rewards.js b/backend/src/schema/resolvers/rewards.js index f7a759aa4..74c7860e4 100644 --- a/backend/src/schema/resolvers/rewards.js +++ b/backend/src/schema/resolvers/rewards.js @@ -4,7 +4,7 @@ import { UserInputError } from 'apollo-server' const instance = neode() const getUserAndBadge = async ({ badgeKey, userId }) => { - let user = await instance.first('User', 'id', userId) + const user = await instance.first('User', 'id', userId) const badge = await instance.first('Badge', 'id', badgeKey) if (!user) throw new UserInputError("Couldn't find a user with that id") if (!badge) throw new UserInputError("Couldn't find a badge with that id") @@ -36,8 +36,6 @@ export default { userId, }, ) - } catch (err) { - throw err } finally { session.close() } diff --git a/backend/src/schema/resolvers/shout.js b/backend/src/schema/resolvers/shout.js index d2d7f652e..398e43d77 100644 --- a/backend/src/schema/resolvers/shout.js +++ b/backend/src/schema/resolvers/shout.js @@ -4,7 +4,7 @@ export default { const { id, type } = params const session = context.driver.session() - let transactionRes = await session.run( + const transactionRes = await session.run( `MATCH (node {id: $id})<-[:WROTE]-(userWritten:User), (user:User {id: $userId}) WHERE $type IN labels(node) AND NOT userWritten.id = $userId MERGE (user)-[relation:SHOUTED]->(node) @@ -29,7 +29,7 @@ export default { const { id, type } = params const session = context.driver.session() - let transactionRes = await session.run( + const transactionRes = await session.run( `MATCH (user:User {id: $userId})-[relation:SHOUTED]->(node {id: $id}) WHERE $type IN labels(node) DELETE relation diff --git a/backend/src/schema/resolvers/shout.spec.js b/backend/src/schema/resolvers/shout.spec.js index a94f7ca0b..029e6998c 100644 --- a/backend/src/schema/resolvers/shout.spec.js +++ b/backend/src/schema/resolvers/shout.spec.js @@ -60,8 +60,7 @@ describe('shout', () => { describe('shout foreign post', () => { describe('unauthenticated shout', () => { it('throws authorization error', async () => { - let client - client = new GraphQLClient(host) + const client = new GraphQLClient(host) await expect(client.request(mutationShoutPost('p1'))).rejects.toThrow('Not Authorised') }) }) @@ -109,8 +108,7 @@ describe('shout', () => { // shout await clientUser1.request(mutationShoutPost('p2')) // unshout - let client - client = new GraphQLClient(host) + const client = new GraphQLClient(host) await expect(client.request(mutationUnshoutPost('p2'))).rejects.toThrow('Not Authorised') }) }) diff --git a/backend/src/schema/resolvers/statistics.js b/backend/src/schema/resolvers/statistics.js index f09b7219d..982c2acfa 100644 --- a/backend/src/schema/resolvers/statistics.js +++ b/backend/src/schema/resolvers/statistics.js @@ -1,9 +1,9 @@ export const query = (cypher, session) => { return new Promise((resolve, reject) => { - let data = [] + const data = [] session.run(cypher).subscribe({ onNext: function(record) { - let item = {} + const item = {} record.keys.forEach(key => { item[key] = record.get(key) }) @@ -34,7 +34,7 @@ const queryOne = (cypher, session) => { export default { Query: { statistics: async (parent, args, { driver, user }) => { - return new Promise(async resolve => { + return new Promise(resolve => { const session = driver.session() const queries = { countUsers: @@ -54,18 +54,24 @@ export default { countFollows: 'MATCH (:User)-[r:FOLLOWS]->(:User) RETURN COUNT(r) AS countFollows', countShouts: 'MATCH (:User)-[r:SHOUTED]->(:Post) RETURN COUNT(r) AS countShouts', } - let data = { - countUsers: (await queryOne(queries.countUsers, session)).countUsers.low, - countPosts: (await queryOne(queries.countPosts, session)).countPosts.low, - countComments: (await queryOne(queries.countComments, session)).countComments.low, - countNotifications: (await queryOne(queries.countNotifications, session)) - .countNotifications.low, - countOrganizations: (await queryOne(queries.countOrganizations, session)) - .countOrganizations.low, - countProjects: (await queryOne(queries.countProjects, session)).countProjects.low, - countInvites: (await queryOne(queries.countInvites, session)).countInvites.low, - countFollows: (await queryOne(queries.countFollows, session)).countFollows.low, - countShouts: (await queryOne(queries.countShouts, session)).countShouts.low, + const data = { + countUsers: queryOne(queries.countUsers, session).then(res => res.countUsers.low), + countPosts: queryOne(queries.countPosts, session).then(res => res.countPosts.low), + countComments: queryOne(queries.countComments, session).then( + res => res.countComments.low, + ), + countNotifications: queryOne(queries.countNotifications, session).then( + res => res.countNotifications.low, + ), + countOrganizations: queryOne(queries.countOrganizations, session).then( + res => res.countOrganizations.low, + ), + countProjects: queryOne(queries.countProjects, session).then( + res => res.countProjects.low, + ), + countInvites: queryOne(queries.countInvites, session).then(res => res.countInvites.low), + countFollows: queryOne(queries.countFollows, session).then(res => res.countFollows.low), + countShouts: queryOne(queries.countShouts, session).then(res => res.countShouts.low), } resolve(data) }) diff --git a/backend/src/schema/resolvers/user_management.js b/backend/src/schema/resolvers/user_management.js index 7ed84586b..be790ca3a 100644 --- a/backend/src/schema/resolvers/user_management.js +++ b/backend/src/schema/resolvers/user_management.js @@ -49,7 +49,7 @@ export default { } }, changePassword: async (_, { oldPassword, newPassword }, { driver, user }) => { - let currentUser = await instance.find('User', user.id) + const currentUser = await instance.find('User', user.id) const encryptedPassword = currentUser.get('encryptedPassword') if (!(await bcrypt.compareSync(oldPassword, encryptedPassword))) { diff --git a/backend/src/schema/resolvers/user_management.spec.js b/backend/src/schema/resolvers/user_management.spec.js index 50b5896b3..ff0c0db4e 100644 --- a/backend/src/schema/resolvers/user_management.spec.js +++ b/backend/src/schema/resolvers/user_management.spec.js @@ -296,7 +296,7 @@ describe('change password', () => { describe('correct password', () => { it('changes the password if given correct credentials "', async () => { - let response = await client.request( + const response = await client.request( mutation({ oldPassword: '1234', newPassword: '12345', diff --git a/backend/src/schema/resolvers/users.js b/backend/src/schema/resolvers/users.js index c0826c6c8..77e4ae2aa 100644 --- a/backend/src/schema/resolvers/users.js +++ b/backend/src/schema/resolvers/users.js @@ -23,7 +23,7 @@ export default { UpdateUser: async (object, args, context, resolveInfo) => { args = await fileUpload(args, { file: 'avatarUpload', url: 'avatar' }) try { - let user = await instance.find('User', args.id) + const user = await instance.find('User', args.id) if (!user) return null await user.update(args) return user.toJson() @@ -60,7 +60,7 @@ export default { const { id } = parent const statement = `MATCH(u:User {id: {id}})-[:PRIMARY_EMAIL]->(e:EmailAddress) RETURN e` const result = await instance.cypher(statement, { id }) - let [{ email }] = result.records.map(r => r.get('e').properties) + const [{ email }] = result.records.map(r => r.get('e').properties) return email }, ...Resolver('User', { diff --git a/backend/src/schema/types/index.js b/backend/src/schema/types/index.js index bcdceed44..068af64da 100644 --- a/backend/src/schema/types/index.js +++ b/backend/src/schema/types/index.js @@ -21,7 +21,7 @@ const findGqlFiles = dir => { return results } -let typeDefs = [] +const typeDefs = [] findGqlFiles(__dirname).forEach(file => { typeDefs.push(fs.readFileSync(file).toString('utf-8')) diff --git a/backend/src/seed/factories/index.js b/backend/src/seed/factories/index.js index e841b0beb..0efb2a886 100644 --- a/backend/src/seed/factories/index.js +++ b/backend/src/seed/factories/index.js @@ -40,15 +40,13 @@ export const cleanDatabase = async (options = {}) => { const cypher = 'MATCH (n) DETACH DELETE n' try { return await session.run(cypher) - } catch (error) { - throw error } finally { session.close() } } export default function Factory(options = {}) { - let { + const { seedServerHost = 'http://127.0.0.1:4001', neo4jDriver = getDriver(), neodeInstance = neode(), diff --git a/backend/src/seed/seed-helpers.js b/backend/src/seed/seed-helpers.js index 399d06670..913ca1d54 100644 --- a/backend/src/seed/seed-helpers.js +++ b/backend/src/seed/seed-helpers.js @@ -37,17 +37,17 @@ const difficulties = ['easy', 'medium', 'hard'] export default { randomItem: (items, filter) => { - let ids = filter + const ids = filter ? Object.keys(items).filter(id => { return filter(items[id]) }) : _.keys(items) - let randomIds = _.shuffle(ids) + const randomIds = _.shuffle(ids) return items[randomIds.pop()] }, randomItems: (items, key = 'id', min = 1, max = 1) => { - let randomIds = _.shuffle(_.keys(items)) - let res = [] + const randomIds = _.shuffle(_.keys(items)) + const res = [] const count = _.random(min, max) @@ -86,8 +86,8 @@ export default { if (allowEmpty === false && count === 0) { count = 1 } - let categorieIds = _.shuffle(_.keys(seederstore.categories)) - let ids = [] + const categorieIds = _.shuffle(_.keys(seederstore.categories)) + const ids = [] for (let i = 0; i < count; i++) { ids.push(categorieIds.pop()) } @@ -95,7 +95,7 @@ export default { }, randomAddresses: () => { const count = Math.round(Math.random() * 3) - let addresses = [] + const addresses = [] for (let i = 0; i < count; i++) { addresses.push({ city: faker.address.city(), @@ -116,7 +116,7 @@ export default { * @param key the field key that is represented in the values (slug, name, etc.) */ mapIdsByKey: (items, values, key) => { - let res = [] + const res = [] values.forEach(value => { res.push(_.find(items, [key, value]).id.toString()) }) From dcb97224711ee59eb407e6f9135a430ebd2149b0 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2019 04:21:10 +0000 Subject: [PATCH 03/13] Bump cypress-file-upload from 3.3.2 to 3.3.3 Bumps [cypress-file-upload](https://github.com/abramenal/cypress-file-upload) from 3.3.2 to 3.3.3. - [Release notes](https://github.com/abramenal/cypress-file-upload/releases) - [Commits](https://github.com/abramenal/cypress-file-upload/compare/v3.3.2...v3.3.3) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 6d5381424..0a0484126 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "cross-env": "^5.2.0", "cypress": "^3.4.1", "cypress-cucumber-preprocessor": "^1.13.0", - "cypress-file-upload": "^3.3.2", + "cypress-file-upload": "^3.3.3", "cypress-plugin-retries": "^1.2.2", "dotenv": "^8.0.0", "faker": "Marak/faker.js#master", diff --git a/yarn.lock b/yarn.lock index cbc232977..3e522d060 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1864,10 +1864,10 @@ cypress-cucumber-preprocessor@^1.13.0: glob "^7.1.2" through "^2.3.8" -cypress-file-upload@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-3.3.2.tgz#d9bb00cac756fd4b5f68079f19745fe40d97fdd4" - integrity sha512-39CW6/rTmn7AGa+ZrD37R+ANnnWAesbUj2RpBfbpRzV+KTAlF+m9Djbd2f325w0JGY0A2eO0w6TYYo+NvBTnoA== +cypress-file-upload@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-3.3.3.tgz#119188fa78e9cfc00904c52d76d4ca56d34950df" + integrity sha512-CmXGRMHonoyCa8EcF6jomxqMAe56HvKfnW7S69EmTga8ecYmvQUI6gYttcHO+5UTmFQOFl7xbABV3+AbnI4btA== cypress-plugin-retries@^1.2.2: version "1.2.2" From bcab40e914fd7bd7ebe97be2917ad8d149e87f78 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2019 04:22:11 +0000 Subject: [PATCH 04/13] Bump tippy.js from 4.3.4 to 4.3.5 in /webapp Bumps [tippy.js](https://github.com/atomiks/tippyjs) from 4.3.4 to 4.3.5. - [Release notes](https://github.com/atomiks/tippyjs/releases) - [Commits](https://github.com/atomiks/tippyjs/compare/v4.3.4...v4.3.5) Signed-off-by: dependabot-preview[bot] --- webapp/package.json | 2 +- webapp/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/webapp/package.json b/webapp/package.json index 6d9f5bc04..31a8b5f11 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -108,7 +108,7 @@ "nodemon": "~1.19.1", "prettier": "~1.18.2", "sass-loader": "~7.1.0", - "tippy.js": "^4.3.4", + "tippy.js": "^4.3.5", "vue-jest": "~3.0.4", "vue-svg-loader": "~0.12.0" } diff --git a/webapp/yarn.lock b/webapp/yarn.lock index c98f125a2..d9bc9ffc8 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -11940,10 +11940,10 @@ timsort@^0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= -tippy.js@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-4.3.4.tgz#9a91fd5ce8c401f181b7adaa6b2c27f3d105f3ba" - integrity sha512-O2ukxHOJTLVYZ/TfHjNd8WgAWoefX9uk5QiWRdHfX2PR2lBpUU4BJQLl7U2Ykc8K7o16gTeHEElpuRfgD5b0aA== +tippy.js@^4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-4.3.5.tgz#882bff8d92f09bb0546d2826d5668c0560006f54" + integrity sha512-NDq3efte8nGK6BOJ1dDN1/WelAwfmh3UtIYXXck6+SxLzbIQNZE/cmRSnwScZ/FyiKdIcvFHvYUgqmoGx8CcyA== dependencies: popper.js "^1.14.7" From 8da1d0b21bdfa21df78753d595ce2d287814bd09 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2019 04:22:35 +0000 Subject: [PATCH 05/13] Bump metascraper-description from 5.6.3 to 5.6.5 in /backend Bumps [metascraper-description](https://github.com/microlinkhq/metascraper) from 5.6.3 to 5.6.5. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v5.6.3...v5.6.5) Signed-off-by: dependabot-preview[bot] --- backend/package.json | 2 +- backend/yarn.lock | 38 ++++++-------------------------------- 2 files changed, 7 insertions(+), 33 deletions(-) diff --git a/backend/package.json b/backend/package.json index d9e534ded..b2848c261 100644 --- a/backend/package.json +++ b/backend/package.json @@ -76,7 +76,7 @@ "metascraper-author": "^5.6.3", "metascraper-clearbit-logo": "^5.3.0", "metascraper-date": "^5.6.3", - "metascraper-description": "^5.5.0", + "metascraper-description": "^5.6.5", "metascraper-image": "^5.6.3", "metascraper-lang": "^5.6.3", "metascraper-lang-detector": "^4.8.5", diff --git a/backend/yarn.lock b/backend/yarn.lock index 657998472..a45325101 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -972,33 +972,7 @@ url-regex "~4.1.1" video-extensions "~1.1.0" -"@metascraper/helpers@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.3.tgz#88d3d3a174f94ccb617145cb9f60c999b57d9b60" - integrity sha512-FWqQmh+sZI5JRxJHVPPzBjilgZCqKWDFSo/eqRIgLLW/5kB79uuX4aseSTep1JpXUAcD5F/Z0KZYQl4JTbTopA== - dependencies: - audio-extensions "0.0.0" - chrono-node "~1.3.11" - condense-whitespace "~2.0.0" - entities "~2.0.0" - file-extension "~4.0.5" - has-values "~2.0.1" - image-extensions "~1.1.0" - is-relative-url "~3.0.0" - is-uri "~1.2.0" - iso-639-3 "~1.2.0" - isostring "0.0.1" - lodash "~4.17.15" - mem "~5.1.1" - mime-types "~2.1.24" - normalize-url "~4.3.0" - smartquotes "~2.3.1" - title "~3.4.1" - truncate "~2.1.0" - url-regex "~5.0.0" - video-extensions "~1.1.0" - -"@metascraper/helpers@^5.6.5": +"@metascraper/helpers@^5.6.3", "@metascraper/helpers@^5.6.5": version "5.6.5" resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.5.tgz#6f42bd1a8e3243e051e7bb067145125cd6b37e09" integrity sha512-j9qxXqZ9k/uNkABlsVjNN2Z5pVtukDmZMZ0ACsob+m5o8/yo87GvRf/UJfTPtog9vZ/QwkLav5Hhl+10NC7QLw== @@ -5857,12 +5831,12 @@ metascraper-date@^5.6.3: dependencies: "@metascraper/helpers" "^5.6.3" -metascraper-description@^5.5.0: - version "5.6.3" - resolved "https://registry.yarnpkg.com/metascraper-description/-/metascraper-description-5.6.3.tgz#1abfde848e8002c606e5741b9523b61ca592bb34" - integrity sha512-ATfsUS6t912hSYKEOyVUX+GrwRMcUltOcvEXtD/5ER26z3h1ab83w4UvQ7imo9F6yueQX2dB6QfqTkWF92X6Vw== +metascraper-description@^5.6.5: + version "5.6.5" + resolved "https://registry.yarnpkg.com/metascraper-description/-/metascraper-description-5.6.5.tgz#b0e47bedf9aed151e085ff3a8a499be5f4779dc3" + integrity sha512-rYHMRrLnYPdt1ZCiObRtl7MP8i+2q9MfgeeiwACd65ElC+wgnfyQBIgxBp/gEnKuUsehWgpDXCZKFkjv+W4zNQ== dependencies: - "@metascraper/helpers" "^5.6.3" + "@metascraper/helpers" "^5.6.5" metascraper-image@^5.6.3: version "5.6.3" From 819dac552d375febddeacb1dc973897f9b5fb892 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2019 04:23:31 +0000 Subject: [PATCH 06/13] Bump metascraper-soundcloud from 5.6.3 to 5.6.5 in /backend Bumps [metascraper-soundcloud](https://github.com/microlinkhq/metascraper-soundcloud) from 5.6.3 to 5.6.5. - [Release notes](https://github.com/microlinkhq/metascraper-soundcloud/releases) - [Commits](https://github.com/microlinkhq/metascraper-soundcloud/commits) Signed-off-by: dependabot-preview[bot] --- backend/package.json | 2 +- backend/yarn.lock | 58 ++++++++++++-------------------------------- 2 files changed, 17 insertions(+), 43 deletions(-) diff --git a/backend/package.json b/backend/package.json index d9e534ded..6b70912a0 100644 --- a/backend/package.json +++ b/backend/package.json @@ -82,7 +82,7 @@ "metascraper-lang-detector": "^4.8.5", "metascraper-logo": "^5.5.0", "metascraper-publisher": "^5.6.3", - "metascraper-soundcloud": "^5.5.3", + "metascraper-soundcloud": "^5.6.5", "metascraper-title": "^5.6.3", "metascraper-url": "^5.5.0", "metascraper-video": "^5.6.3", diff --git a/backend/yarn.lock b/backend/yarn.lock index 657998472..962211821 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -972,33 +972,7 @@ url-regex "~4.1.1" video-extensions "~1.1.0" -"@metascraper/helpers@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.3.tgz#88d3d3a174f94ccb617145cb9f60c999b57d9b60" - integrity sha512-FWqQmh+sZI5JRxJHVPPzBjilgZCqKWDFSo/eqRIgLLW/5kB79uuX4aseSTep1JpXUAcD5F/Z0KZYQl4JTbTopA== - dependencies: - audio-extensions "0.0.0" - chrono-node "~1.3.11" - condense-whitespace "~2.0.0" - entities "~2.0.0" - file-extension "~4.0.5" - has-values "~2.0.1" - image-extensions "~1.1.0" - is-relative-url "~3.0.0" - is-uri "~1.2.0" - iso-639-3 "~1.2.0" - isostring "0.0.1" - lodash "~4.17.15" - mem "~5.1.1" - mime-types "~2.1.24" - normalize-url "~4.3.0" - smartquotes "~2.3.1" - title "~3.4.1" - truncate "~2.1.0" - url-regex "~5.0.0" - video-extensions "~1.1.0" - -"@metascraper/helpers@^5.6.5": +"@metascraper/helpers@^5.6.3", "@metascraper/helpers@^5.6.5": version "5.6.5" resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.5.tgz#6f42bd1a8e3243e051e7bb067145125cd6b37e09" integrity sha512-j9qxXqZ9k/uNkABlsVjNN2Z5pVtukDmZMZ0ACsob+m5o8/yo87GvRf/UJfTPtog9vZ/QwkLav5Hhl+10NC7QLw== @@ -5901,14 +5875,14 @@ metascraper-publisher@^5.6.3: dependencies: "@metascraper/helpers" "^5.6.3" -metascraper-soundcloud@^5.5.3: - version "5.6.3" - resolved "https://registry.yarnpkg.com/metascraper-soundcloud/-/metascraper-soundcloud-5.6.3.tgz#c2bb5904857d079a44c0d1e1511dfaf4d0f19945" - integrity sha512-v44pktX4I7pnUjThGs11YZLNpuQbuB6iY2RcYnODjasgor8t7ZHPwrJqy01b0mkTmHoRbQ84Vheq1SkAD0Vz8g== +metascraper-soundcloud@^5.6.5: + version "5.6.5" + resolved "https://registry.yarnpkg.com/metascraper-soundcloud/-/metascraper-soundcloud-5.6.5.tgz#4447e24f919a57551bc672f1aa1d86ff3d54f602" + integrity sha512-dSr7rUi0ag+siqfPbSNRxSnQG187NsT8vMplI//NXMtKE6WLxxoOxJMETnFn56IozhIwb3FfC0suyThr9ZaGCg== dependencies: - "@metascraper/helpers" "^5.6.3" + "@metascraper/helpers" "^5.6.5" memoize-one "~5.0.5" - tldts "~5.3.1" + tldts "~5.3.2" metascraper-title@^5.6.3: version "5.6.3" @@ -8182,17 +8156,17 @@ tlds@^1.187.0, tlds@^1.203.0: resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== -tldts-core@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.3.1.tgz#040450d7148107880ba9020e77b3b28a6cc5d9db" - integrity sha512-z8C2wcT2XvSgk5p0HWapXPkvvKG7E8Jei71N+9Mpp9Eoh2/wjtQPhDeENSuzHNmjTdRz6KFIcM7aWTB+7g0OyA== +tldts-core@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.3.2.tgz#3823653310c2dc6e51d00998098a72a3cc203ea9" + integrity sha512-bGI7MvrFXnbNhSkKEKAjiRo+eoIuIsuzF/hOtpI7HLMLWamIGtrLuNv2nlBOdN/h6iB6B32B4MxmwPWTZ70TaQ== -tldts@~5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-5.3.1.tgz#39b2164b71777e69b3d05e5db5a30b5e1a5df6b7" - integrity sha512-JHG3Gonv+17qi1gyskY0KwdpjVkQfQK4pMHm52vpdKXV3y9AzEhhinDT/GfLF8w7kRLpIHhcViZ0rEsFla81lA== +tldts@~5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-5.3.2.tgz#d7e9b31b70b7d7687a16fe31a18ec2ca8a33f852" + integrity sha512-R96Q0sJoD1vMYZ5YI0om32AZW2SYDxWfcg0111gnJYIvfyVgHOwyYj2dLFhpkPCSH7AwwUe0MmewmUrQhJXRjQ== dependencies: - tldts-core "^5.3.1" + tldts-core "^5.3.2" tmp@^0.0.33: version "0.0.33" From 4613569334e4826cd62f150c8efdd2c55a9d75cc Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2019 04:24:05 +0000 Subject: [PATCH 07/13] Bump metascraper-url from 5.6.3 to 5.6.5 in /backend Bumps [metascraper-url](https://github.com/microlinkhq/metascraper) from 5.6.3 to 5.6.5. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v5.6.3...v5.6.5) Signed-off-by: dependabot-preview[bot] --- backend/package.json | 2 +- backend/yarn.lock | 38 ++++++-------------------------------- 2 files changed, 7 insertions(+), 33 deletions(-) diff --git a/backend/package.json b/backend/package.json index d9e534ded..efc3a53f9 100644 --- a/backend/package.json +++ b/backend/package.json @@ -84,7 +84,7 @@ "metascraper-publisher": "^5.6.3", "metascraper-soundcloud": "^5.5.3", "metascraper-title": "^5.6.3", - "metascraper-url": "^5.5.0", + "metascraper-url": "^5.6.5", "metascraper-video": "^5.6.3", "metascraper-youtube": "^5.6.3", "neo4j-driver": "~1.7.5", diff --git a/backend/yarn.lock b/backend/yarn.lock index 657998472..4920389f3 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -972,33 +972,7 @@ url-regex "~4.1.1" video-extensions "~1.1.0" -"@metascraper/helpers@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.3.tgz#88d3d3a174f94ccb617145cb9f60c999b57d9b60" - integrity sha512-FWqQmh+sZI5JRxJHVPPzBjilgZCqKWDFSo/eqRIgLLW/5kB79uuX4aseSTep1JpXUAcD5F/Z0KZYQl4JTbTopA== - dependencies: - audio-extensions "0.0.0" - chrono-node "~1.3.11" - condense-whitespace "~2.0.0" - entities "~2.0.0" - file-extension "~4.0.5" - has-values "~2.0.1" - image-extensions "~1.1.0" - is-relative-url "~3.0.0" - is-uri "~1.2.0" - iso-639-3 "~1.2.0" - isostring "0.0.1" - lodash "~4.17.15" - mem "~5.1.1" - mime-types "~2.1.24" - normalize-url "~4.3.0" - smartquotes "~2.3.1" - title "~3.4.1" - truncate "~2.1.0" - url-regex "~5.0.0" - video-extensions "~1.1.0" - -"@metascraper/helpers@^5.6.5": +"@metascraper/helpers@^5.6.3", "@metascraper/helpers@^5.6.5": version "5.6.5" resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.5.tgz#6f42bd1a8e3243e051e7bb067145125cd6b37e09" integrity sha512-j9qxXqZ9k/uNkABlsVjNN2Z5pVtukDmZMZ0ACsob+m5o8/yo87GvRf/UJfTPtog9vZ/QwkLav5Hhl+10NC7QLw== @@ -5918,12 +5892,12 @@ metascraper-title@^5.6.3: "@metascraper/helpers" "^5.6.3" lodash "~4.17.15" -metascraper-url@^5.5.0: - version "5.6.3" - resolved "https://registry.yarnpkg.com/metascraper-url/-/metascraper-url-5.6.3.tgz#7e756f79ed2a5e1591682e29b665551855ddda5d" - integrity sha512-hFHff2AsWuW552CkktWR9ViVp2poZufP1YUAVJWRe7UaHC67vx2mE5hjNZkVBSi1rOoPIbNN+jPVvcKwT6tkAw== +metascraper-url@^5.6.5: + version "5.6.5" + resolved "https://registry.yarnpkg.com/metascraper-url/-/metascraper-url-5.6.5.tgz#1afaa8688c53e7b9d37d81f9302d06b4d42d8656" + integrity sha512-BjzWpLLezCAg4pexWB63OdN7sNcJXRGlw8Cv+k5JCMUH/JV+rA+8l5wwWJFISxgOUpHsnbGlAkFT45viVxuawg== dependencies: - "@metascraper/helpers" "^5.6.3" + "@metascraper/helpers" "^5.6.5" metascraper-video@^5.6.3: version "5.6.3" From be388c177a02bab8124e4f4a082086ff395b54ff Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2019 04:24:29 +0000 Subject: [PATCH 08/13] Bump metascraper-audio from 5.6.3 to 5.6.5 in /backend Bumps [metascraper-audio](https://github.com/microlinkhq/metascraper) from 5.6.3 to 5.6.5. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v5.6.3...v5.6.5) Signed-off-by: dependabot-preview[bot] --- backend/package.json | 2 +- backend/yarn.lock | 38 ++++++-------------------------------- 2 files changed, 7 insertions(+), 33 deletions(-) diff --git a/backend/package.json b/backend/package.json index d9e534ded..d11df7d5d 100644 --- a/backend/package.json +++ b/backend/package.json @@ -72,7 +72,7 @@ "lodash": "~4.17.14", "merge-graphql-schemas": "^1.7.0", "metascraper": "^4.10.3", - "metascraper-audio": "^5.5.0", + "metascraper-audio": "^5.6.5", "metascraper-author": "^5.6.3", "metascraper-clearbit-logo": "^5.3.0", "metascraper-date": "^5.6.3", diff --git a/backend/yarn.lock b/backend/yarn.lock index 657998472..a17857f0a 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -972,33 +972,7 @@ url-regex "~4.1.1" video-extensions "~1.1.0" -"@metascraper/helpers@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.3.tgz#88d3d3a174f94ccb617145cb9f60c999b57d9b60" - integrity sha512-FWqQmh+sZI5JRxJHVPPzBjilgZCqKWDFSo/eqRIgLLW/5kB79uuX4aseSTep1JpXUAcD5F/Z0KZYQl4JTbTopA== - dependencies: - audio-extensions "0.0.0" - chrono-node "~1.3.11" - condense-whitespace "~2.0.0" - entities "~2.0.0" - file-extension "~4.0.5" - has-values "~2.0.1" - image-extensions "~1.1.0" - is-relative-url "~3.0.0" - is-uri "~1.2.0" - iso-639-3 "~1.2.0" - isostring "0.0.1" - lodash "~4.17.15" - mem "~5.1.1" - mime-types "~2.1.24" - normalize-url "~4.3.0" - smartquotes "~2.3.1" - title "~3.4.1" - truncate "~2.1.0" - url-regex "~5.0.0" - video-extensions "~1.1.0" - -"@metascraper/helpers@^5.6.5": +"@metascraper/helpers@^5.6.3", "@metascraper/helpers@^5.6.5": version "5.6.5" resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.5.tgz#6f42bd1a8e3243e051e7bb067145125cd6b37e09" integrity sha512-j9qxXqZ9k/uNkABlsVjNN2Z5pVtukDmZMZ0ACsob+m5o8/yo87GvRf/UJfTPtog9vZ/QwkLav5Hhl+10NC7QLw== @@ -5828,12 +5802,12 @@ merge-stream@^1.0.1: dependencies: readable-stream "^2.0.1" -metascraper-audio@^5.5.0: - version "5.6.3" - resolved "https://registry.yarnpkg.com/metascraper-audio/-/metascraper-audio-5.6.3.tgz#f84f4e19960c698df2e14cd98212b004bac66bb9" - integrity sha512-XxO9iHVQzGa+Z7wzmnHl3dmFdBdmYfO/ozeMWH0fp/4YbU1GU3l+OlYzPaVhCEfArqzzuwf1iq8uGKdU/DOZnw== +metascraper-audio@^5.6.5: + version "5.6.5" + resolved "https://registry.yarnpkg.com/metascraper-audio/-/metascraper-audio-5.6.5.tgz#8937d369f37d43f8668eb87013ea4fe8309a9451" + integrity sha512-EF9IMscv9HLy3Mks8Vhv0ftzwjV36tvNpSwPnmibDGDy25ssf6nB7ldeP5YPij4TNjLeUsrdh6v10aYrh8Z5fQ== dependencies: - "@metascraper/helpers" "^5.6.3" + "@metascraper/helpers" "^5.6.5" metascraper-author@^5.6.3: version "5.6.3" From 55fafc4bc8e1a5253b228eca046567e327735e6d Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2019 04:25:09 +0000 Subject: [PATCH 09/13] Bump metascraper-logo from 5.6.3 to 5.6.5 in /backend Bumps [metascraper-logo](https://github.com/microlinkhq/metascraper) from 5.6.3 to 5.6.5. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v5.6.3...v5.6.5) Signed-off-by: dependabot-preview[bot] --- backend/package.json | 2 +- backend/yarn.lock | 38 ++++++-------------------------------- 2 files changed, 7 insertions(+), 33 deletions(-) diff --git a/backend/package.json b/backend/package.json index d9e534ded..50fa38f13 100644 --- a/backend/package.json +++ b/backend/package.json @@ -80,7 +80,7 @@ "metascraper-image": "^5.6.3", "metascraper-lang": "^5.6.3", "metascraper-lang-detector": "^4.8.5", - "metascraper-logo": "^5.5.0", + "metascraper-logo": "^5.6.5", "metascraper-publisher": "^5.6.3", "metascraper-soundcloud": "^5.5.3", "metascraper-title": "^5.6.3", diff --git a/backend/yarn.lock b/backend/yarn.lock index 657998472..ad1fcd361 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -972,33 +972,7 @@ url-regex "~4.1.1" video-extensions "~1.1.0" -"@metascraper/helpers@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.3.tgz#88d3d3a174f94ccb617145cb9f60c999b57d9b60" - integrity sha512-FWqQmh+sZI5JRxJHVPPzBjilgZCqKWDFSo/eqRIgLLW/5kB79uuX4aseSTep1JpXUAcD5F/Z0KZYQl4JTbTopA== - dependencies: - audio-extensions "0.0.0" - chrono-node "~1.3.11" - condense-whitespace "~2.0.0" - entities "~2.0.0" - file-extension "~4.0.5" - has-values "~2.0.1" - image-extensions "~1.1.0" - is-relative-url "~3.0.0" - is-uri "~1.2.0" - iso-639-3 "~1.2.0" - isostring "0.0.1" - lodash "~4.17.15" - mem "~5.1.1" - mime-types "~2.1.24" - normalize-url "~4.3.0" - smartquotes "~2.3.1" - title "~3.4.1" - truncate "~2.1.0" - url-regex "~5.0.0" - video-extensions "~1.1.0" - -"@metascraper/helpers@^5.6.5": +"@metascraper/helpers@^5.6.3", "@metascraper/helpers@^5.6.5": version "5.6.5" resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.6.5.tgz#6f42bd1a8e3243e051e7bb067145125cd6b37e09" integrity sha512-j9qxXqZ9k/uNkABlsVjNN2Z5pVtukDmZMZ0ACsob+m5o8/yo87GvRf/UJfTPtog9vZ/QwkLav5Hhl+10NC7QLw== @@ -5887,12 +5861,12 @@ metascraper-lang@^5.6.3: dependencies: "@metascraper/helpers" "^5.6.3" -metascraper-logo@^5.5.0: - version "5.6.3" - resolved "https://registry.yarnpkg.com/metascraper-logo/-/metascraper-logo-5.6.3.tgz#bb18449e872815ba6199e2aa78078259c2677b98" - integrity sha512-xeqjSuTAiudXiUczj7F0+VvXdgFvL5rqyW3D+BPXrNHOUqDyyYNlHTEhambj3HbMP6EjQyoMDEvqCF5qUezmXg== +metascraper-logo@^5.6.5: + version "5.6.5" + resolved "https://registry.yarnpkg.com/metascraper-logo/-/metascraper-logo-5.6.5.tgz#82a6e77da2df91fbbf233dfa49fd0a99475968ff" + integrity sha512-MKzunTRaD0HO7NdyzIhL/wpfpluCGLaBXFAYdvaY+FxiA9ZbpIV+9TdaoF3uzmoZAE09dKbQEmxeKOrbWHr4Zw== dependencies: - "@metascraper/helpers" "^5.6.3" + "@metascraper/helpers" "^5.6.5" metascraper-publisher@^5.6.3: version "5.6.3" From 87efc0ec566a5fc9bfe735b3a0e527bf344e9c55 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2019 08:26:00 +0000 Subject: [PATCH 10/13] Bump metascraper-publisher from 5.6.3 to 5.6.5 in /backend Bumps [metascraper-publisher](https://github.com/microlinkhq/metascraper) from 5.6.3 to 5.6.5. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v5.6.3...v5.6.5) Signed-off-by: dependabot-preview[bot] --- backend/package.json | 2 +- backend/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/package.json b/backend/package.json index 250e1706d..fbcf83f35 100644 --- a/backend/package.json +++ b/backend/package.json @@ -81,7 +81,7 @@ "metascraper-lang": "^5.6.3", "metascraper-lang-detector": "^4.8.5", "metascraper-logo": "^5.6.5", - "metascraper-publisher": "^5.6.3", + "metascraper-publisher": "^5.6.5", "metascraper-soundcloud": "^5.6.5", "metascraper-title": "^5.6.3", "metascraper-url": "^5.6.5", diff --git a/backend/yarn.lock b/backend/yarn.lock index fe82ffcec..b541294ca 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -5868,12 +5868,12 @@ metascraper-logo@^5.6.5: dependencies: "@metascraper/helpers" "^5.6.5" -metascraper-publisher@^5.6.3: - version "5.6.3" - resolved "https://registry.yarnpkg.com/metascraper-publisher/-/metascraper-publisher-5.6.3.tgz#3729cd7dac117c94f92020ff3a8397a1b965a27e" - integrity sha512-1Z+bwrTn6j4Tf85DatYL0zDmqBfoJCfYa0nNlZ9HWfjM+QWDxBeIu1v/85N3AYGYPwk5G38IdvEYBb4MpMEQvQ== +metascraper-publisher@^5.6.5: + version "5.6.5" + resolved "https://registry.yarnpkg.com/metascraper-publisher/-/metascraper-publisher-5.6.5.tgz#c23e93b766d3d0d64116422fa76a8da1145d2f98" + integrity sha512-XKaksI7gjPuuYNJyiowrE2DsrdhXeaoDEoK3/0vV3RfYBxXFgBtRUoFQiDiad+cUN/5lhMhYs0BKRiC+Q3XiZg== dependencies: - "@metascraper/helpers" "^5.6.3" + "@metascraper/helpers" "^5.6.5" metascraper-soundcloud@^5.6.5: version "5.6.5" From 6c3a9878c770abb3ceb3b81bc219dbbcef9cd76d Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2019 08:26:00 +0000 Subject: [PATCH 11/13] Bump metascraper-date from 5.6.3 to 5.6.5 in /backend Bumps [metascraper-date](https://github.com/microlinkhq/metascraper) from 5.6.3 to 5.6.5. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v5.6.3...v5.6.5) Signed-off-by: dependabot-preview[bot] --- backend/package.json | 2 +- backend/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/package.json b/backend/package.json index 250e1706d..2ce3a2a2d 100644 --- a/backend/package.json +++ b/backend/package.json @@ -75,7 +75,7 @@ "metascraper-audio": "^5.6.5", "metascraper-author": "^5.6.3", "metascraper-clearbit-logo": "^5.3.0", - "metascraper-date": "^5.6.3", + "metascraper-date": "^5.6.5", "metascraper-description": "^5.6.5", "metascraper-image": "^5.6.3", "metascraper-lang": "^5.6.3", diff --git a/backend/yarn.lock b/backend/yarn.lock index fe82ffcec..d32d94cd7 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -5824,12 +5824,12 @@ metascraper-clearbit-logo@^5.3.0: dependencies: got "~9.6.0" -metascraper-date@^5.6.3: - version "5.6.3" - resolved "https://registry.yarnpkg.com/metascraper-date/-/metascraper-date-5.6.3.tgz#516fad38391a45137a58430f639a57037eee96f2" - integrity sha512-sdbY0IOu1BcZHocwVIJ8/CPkguVR8oDho13apIGNsZjyItIdMMLrziDqzOSGcJI++AXGmS3MNHW8M+bdYHVj1g== +metascraper-date@^5.6.5: + version "5.6.5" + resolved "https://registry.yarnpkg.com/metascraper-date/-/metascraper-date-5.6.5.tgz#802a19eaf9dc2874352ec4401fa360347225197b" + integrity sha512-IuKpi5z3S1/qlLhfQbLVv5hitfly/UEGKBxD4dYbn+5xbcsPcNlM+AE7DeDEct390nuZs7+fbSqgPKFtt5fPRg== dependencies: - "@metascraper/helpers" "^5.6.3" + "@metascraper/helpers" "^5.6.5" metascraper-description@^5.6.5: version "5.6.5" From 0663aa59049b344a540cc10fdf62a58d63b84ddd Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2019 04:24:18 +0000 Subject: [PATCH 12/13] Bump tiptap from 1.21.0 to 1.24.0 in /webapp Bumps [tiptap](https://github.com/scrumpy/tiptap) from 1.21.0 to 1.24.0. - [Release notes](https://github.com/scrumpy/tiptap/releases) - [Commits](https://github.com/scrumpy/tiptap/compare/tiptap@1.21.0...tiptap@1.24.0) Signed-off-by: dependabot-preview[bot] --- webapp/package.json | 2 +- webapp/yarn.lock | 77 +++++++++++++++++++-------------------------- 2 files changed, 34 insertions(+), 45 deletions(-) diff --git a/webapp/package.json b/webapp/package.json index 31a8b5f11..c2ec400c6 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -70,7 +70,7 @@ "nuxt-env": "~0.1.0", "stack-utils": "^1.0.2", "string-hash": "^1.1.3", - "tiptap": "1.21.0", + "tiptap": "1.24.0", "tiptap-extensions": "1.22.2", "v-tooltip": "~2.0.2", "vue-count-to": "~1.0.13", diff --git a/webapp/yarn.lock b/webapp/yarn.lock index d9bc9ffc8..76ec9ff29 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -10237,10 +10237,10 @@ prosemirror-dropcursor@^1.1.1: prosemirror-transform "^1.1.0" prosemirror-view "^1.1.0" -prosemirror-gapcursor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.3.tgz#acc6537fc5a35e9b38966f91a199a382dfc715c4" - integrity sha512-X+hJhr42PcHWiSWL+lI5f/UeOhXCxlBFb8M6O8aG1hssmaRrW7sS2/Fjg5jFV+pTdS1REFkmm1occh01FMdDIQ== +prosemirror-gapcursor@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.4.tgz#4ba663fb8511616e18ad222c904403cfbf6866dc" + integrity sha512-k021MtJibWs3NaJI6S9tCXfTZ/kaugFZBndHkkWx3Zfk0QDUO6JfVATpflxADN6DUkRwJ7qWyHlLDWu71hxHFQ== dependencies: prosemirror-keymap "^1.0.0" prosemirror-model "^1.0.0" @@ -10272,7 +10272,7 @@ prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.0.1: prosemirror-state "^1.0.0" w3c-keyname "^1.1.8" -prosemirror-model@^1.0.0, prosemirror-model@^1.1.0, prosemirror-model@^1.7.0, prosemirror-model@^1.7.1: +prosemirror-model@^1.0.0, prosemirror-model@^1.1.0, prosemirror-model@^1.7.1: version "1.7.1" resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.7.1.tgz#f140a6e366e1e283aa7a94dbb8c2c7d13139689e" integrity sha512-hYrZPbJvdo2QWERmkCuS80BEf5Rcf3+S28ETr4xu8XKPYjmU6aeQn23G1Fu/2rwqUmk5ZyWYo2nyEsN+Cdv2Qg== @@ -10318,10 +10318,15 @@ prosemirror-utils@^0.9.0: resolved "https://registry.yarnpkg.com/prosemirror-utils/-/prosemirror-utils-0.9.0.tgz#3ab616c94ccd61fcb18968f0d5aa273a9f1f28e4" integrity sha512-YcvmHcq7phbn+OagJSvmne92qZG9dOVfb3zfuA1HuyWUif3hUDt2Yfu299BHqVkEkUCF6FN7Gi9folDQntMhxA== -prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.9.8: - version "1.9.8" - resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.9.8.tgz#47b961204a0b2e8ff87370c270d4f82598e81273" - integrity sha512-yS4yrqxydvi7ddz9VFLeJgbfVd5g3/bMcRxb1PbWtG0i9OrPSsiHaEBJHLVeTbraGqRlAu+tbNLakO7RhUhp1w== +prosemirror-utils@^0.9.4: + version "0.9.5" + resolved "https://registry.yarnpkg.com/prosemirror-utils/-/prosemirror-utils-0.9.5.tgz#34d7e5bc12f3e6774261cc664bac9499899663d4" + integrity sha512-JT3H//Cq2ljNhWadMYRMdlNj2gylFA7L4RC0zmUF9l0IgDpc/gTpPRCmfcDUomDgCrciz57C3MCnZ+058hSTaA== + +prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.9.12, prosemirror-view@^1.9.8: + version "1.9.13" + resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.9.13.tgz#8f146038e776fd0aa6d7811c8b9cb11813b9e319" + integrity sha512-afJxCZR4EH04u4thl7xYHSIgyQiGALstLi+5SW9t3868ghrgcFhpQvbJAN17Yb9nwtnltD64t15Msk2UlXkPeQ== dependencies: prosemirror-model "^1.1.0" prosemirror-state "^1.0.0" @@ -11947,10 +11952,10 @@ tippy.js@^4.3.5: dependencies: popper.js "^1.14.7" -tiptap-commands@^1.10.6, tiptap-commands@^1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/tiptap-commands/-/tiptap-commands-1.10.7.tgz#c177f875e8a90e05171fdd441190b4b7a769bd27" - integrity sha512-Ij62dHkYvOFUcaj+xlbahhoqcY8bFIEho6fXKrxcjjtGzS2DyJnvXmWN6Ow65uZWXkf5Zf8ae6XnYNaKqP3Pyg== +tiptap-commands@^1.10.11, tiptap-commands@^1.10.7: + version "1.10.11" + resolved "https://registry.yarnpkg.com/tiptap-commands/-/tiptap-commands-1.10.11.tgz#9df1ef7b553e601598892074f9faa6d836fd8238" + integrity sha512-SD1Ep18qKGiCOodUttQrJtOfEC4/sx1pQWfROc4t8xeuxS5FLcrXZ+u9mELRSHkBJ+nDAJsn/ewG+yo58T1+Xg== dependencies: prosemirror-commands "^1.0.8" prosemirror-inputrules "^1.0.4" @@ -11958,8 +11963,8 @@ tiptap-commands@^1.10.6, tiptap-commands@^1.10.7: prosemirror-schema-list "^1.0.3" prosemirror-state "^1.2.3" prosemirror-tables "^0.8.1" - prosemirror-utils "^0.9.0" - tiptap-utils "^1.5.5" + prosemirror-utils "^0.9.4" + tiptap-utils "^1.6.0" tiptap-extensions@1.22.2: version "1.22.2" @@ -11978,47 +11983,31 @@ tiptap-extensions@1.22.2: tiptap "^1.22.2" tiptap-commands "^1.10.7" -tiptap-utils@^1.5.4, tiptap-utils@^1.5.5: - version "1.5.5" - resolved "https://registry.yarnpkg.com/tiptap-utils/-/tiptap-utils-1.5.5.tgz#f06c70f0319d9215433b3466b6ece369a078de0f" - integrity sha512-lnaCmIIkyK050qfsPeMDjoTW0sTqBHxfw1h2GXaX5Nr6JF4VQe0izgf2MI6LCd3PKecJBoW4ce5lNkDpV99+WA== +tiptap-utils@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/tiptap-utils/-/tiptap-utils-1.6.0.tgz#6af0bf52f93b291b9be5f6adb92c9afc35dd8d62" + integrity sha512-8ehQyNCe1CJvgBBqS3rKM58MFqcwlJQXS6XtZyhOjJDGQbUKNVR/GbAXTPlHnuVBm0kKKTjTqnrEt/PS4d2aXg== dependencies: prosemirror-model "^1.7.1" prosemirror-state "^1.2.3" prosemirror-tables "^0.8.1" - prosemirror-utils "^0.9.0" + prosemirror-utils "^0.9.4" -tiptap@1.21.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/tiptap/-/tiptap-1.21.0.tgz#4d8c1365c611e41c8d4f3d7aa195ddaf891e605b" - integrity sha512-MoOj/8OPMlmoAotIZjAIlUZ59yMMR83xReOw2rGjqbFOooncoY1rLEBp0xz5oe5FLYqoe8dKb+kzOoFERqckVQ== +tiptap@1.24.0, tiptap@^1.22.2: + version "1.24.0" + resolved "https://registry.yarnpkg.com/tiptap/-/tiptap-1.24.0.tgz#f386c8fca71275a4794a0e95eca2ea37267d370d" + integrity sha512-izw0FM5bbOQRtNczqEgo9/EoUI7X/TAj1LEsteMuDqxaZKmYn6so482UnnQUv13+4DtXHYGj5U+60lVNuZlWJw== dependencies: prosemirror-commands "^1.0.8" prosemirror-dropcursor "^1.1.1" - prosemirror-gapcursor "^1.0.3" - prosemirror-inputrules "^1.0.4" - prosemirror-keymap "^1.0.1" - prosemirror-model "^1.7.0" - prosemirror-state "^1.2.3" - prosemirror-view "^1.9.8" - tiptap-commands "^1.10.6" - tiptap-utils "^1.5.4" - -tiptap@^1.22.2: - version "1.22.2" - resolved "https://registry.yarnpkg.com/tiptap/-/tiptap-1.22.2.tgz#f3f2b822d9ed087a853520c86593b2e6bd822bdd" - integrity sha512-qMFQJ358Ga8gXzUAMaHGrZDab/IqZf28N8BYYo4hyFIMoEYQVWmBGWuSBHOgpxiueXpC9zMuCoIgrNWN3VpoNQ== - dependencies: - prosemirror-commands "^1.0.8" - prosemirror-dropcursor "^1.1.1" - prosemirror-gapcursor "^1.0.3" + prosemirror-gapcursor "^1.0.4" prosemirror-inputrules "^1.0.4" prosemirror-keymap "^1.0.1" prosemirror-model "^1.7.1" prosemirror-state "^1.2.3" - prosemirror-view "^1.9.8" - tiptap-commands "^1.10.7" - tiptap-utils "^1.5.5" + prosemirror-view "^1.9.12" + tiptap-commands "^1.10.11" + tiptap-utils "^1.6.0" title-case@^2.1.0: version "2.1.1" From ffe6dc7736013f61336c8035b9ad30e0fdd2c487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=A4fer?= Date: Fri, 2 Aug 2019 13:33:09 +0200 Subject: [PATCH 13/13] Add MutationObserver to fix tests Our build server failed because of frontend tests. However, all our fullstack tests are passing... So maybe an issue in our test setup, not reproducible in a real browser? This commit: https://github.com/scrumpy/tiptap/commit/ee4f132b0f5a82575c1c7c2db093d0c3dd49a01b#diff-0806c5f3fdae5e139222967601c7faca adds MutationObserver to their test setup. Adding it to our test suites that touch the `editor` directly fixes our tests, too! From what I can tell is that prosemirror is calling `this.observer.takeRecords()`. Probably `tiptap` updated its dependencies at some point and that's where `this.observer` was introduced? Hard to tell. It really looks just like an issue only present in test environments, so I think it's safe not to investigate any further. --- .../ContributionForm/ContributionForm.spec.js | 3 ++ webapp/components/Editor/Editor.spec.js | 4 +- .../components/comments/CommentForm/spec.js | 3 ++ webapp/package.json | 5 ++- webapp/yarn.lock | 41 +++++++++++-------- 5 files changed, 37 insertions(+), 19 deletions(-) diff --git a/webapp/components/ContributionForm/ContributionForm.spec.js b/webapp/components/ContributionForm/ContributionForm.spec.js index 3f9384d27..199d6ab18 100644 --- a/webapp/components/ContributionForm/ContributionForm.spec.js +++ b/webapp/components/ContributionForm/ContributionForm.spec.js @@ -6,6 +6,9 @@ import PostMutations from '~/graphql/PostMutations.js' import CategoriesSelect from '~/components/CategoriesSelect/CategoriesSelect' import Filters from '~/plugins/vue-filters' import TeaserImage from '~/components/TeaserImage/TeaserImage' +import MutationObserver from 'mutation-observer' + +global.MutationObserver = MutationObserver const localVue = createLocalVue() diff --git a/webapp/components/Editor/Editor.spec.js b/webapp/components/Editor/Editor.spec.js index d457609bd..866b96aba 100644 --- a/webapp/components/Editor/Editor.spec.js +++ b/webapp/components/Editor/Editor.spec.js @@ -1,8 +1,10 @@ import { mount, createLocalVue } from '@vue/test-utils' import Editor from './Editor' import Vuex from 'vuex' - import Styleguide from '@human-connection/styleguide' +import MutationObserver from 'mutation-observer' + +global.MutationObserver = MutationObserver const localVue = createLocalVue() localVue.use(Vuex) diff --git a/webapp/components/comments/CommentForm/spec.js b/webapp/components/comments/CommentForm/spec.js index 8420c97ba..2d212c91d 100644 --- a/webapp/components/comments/CommentForm/spec.js +++ b/webapp/components/comments/CommentForm/spec.js @@ -2,6 +2,9 @@ import { mount, createLocalVue } from '@vue/test-utils' import CommentForm from './index.vue' import Styleguide from '@human-connection/styleguide' import Vuex from 'vuex' +import MutationObserver from 'mutation-observer' + +global.MutationObserver = MutationObserver const localVue = createLocalVue() localVue.use(Vuex) diff --git a/webapp/package.json b/webapp/package.json index c2ec400c6..a8fda5905 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -70,8 +70,8 @@ "nuxt-env": "~0.1.0", "stack-utils": "^1.0.2", "string-hash": "^1.1.3", - "tiptap": "1.24.0", - "tiptap-extensions": "1.22.2", + "tiptap": "~1.24.0", + "tiptap-extensions": "~1.26.0", "v-tooltip": "~2.0.2", "vue-count-to": "~1.0.13", "vue-izitoast": "1.1.2", @@ -104,6 +104,7 @@ "flush-promises": "^1.0.2", "fuse.js": "^3.4.5", "jest": "~24.8.0", + "mutation-observer": "^1.0.3", "node-sass": "~4.12.0", "nodemon": "~1.19.1", "prettier": "~1.18.2", diff --git a/webapp/yarn.lock b/webapp/yarn.lock index 76ec9ff29..596fdc05f 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -8472,6 +8472,11 @@ mustache@^2.3.0: resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5" integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ== +mutation-observer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/mutation-observer/-/mutation-observer-1.0.3.tgz#42e9222b101bca82e5ba9d5a7acf4a14c0f263d0" + integrity sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA== + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -10313,17 +10318,21 @@ prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transfor dependencies: prosemirror-model "^1.0.0" -prosemirror-utils@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/prosemirror-utils/-/prosemirror-utils-0.9.0.tgz#3ab616c94ccd61fcb18968f0d5aa273a9f1f28e4" - integrity sha512-YcvmHcq7phbn+OagJSvmne92qZG9dOVfb3zfuA1HuyWUif3hUDt2Yfu299BHqVkEkUCF6FN7Gi9folDQntMhxA== - prosemirror-utils@^0.9.4: version "0.9.5" resolved "https://registry.yarnpkg.com/prosemirror-utils/-/prosemirror-utils-0.9.5.tgz#34d7e5bc12f3e6774261cc664bac9499899663d4" integrity sha512-JT3H//Cq2ljNhWadMYRMdlNj2gylFA7L4RC0zmUF9l0IgDpc/gTpPRCmfcDUomDgCrciz57C3MCnZ+058hSTaA== -prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.9.12, prosemirror-view@^1.9.8: +prosemirror-view@^1.0.0, prosemirror-view@^1.1.0: + version "1.9.8" + resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.9.8.tgz#47b961204a0b2e8ff87370c270d4f82598e81273" + integrity sha512-yS4yrqxydvi7ddz9VFLeJgbfVd5g3/bMcRxb1PbWtG0i9OrPSsiHaEBJHLVeTbraGqRlAu+tbNLakO7RhUhp1w== + dependencies: + prosemirror-model "^1.1.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + +prosemirror-view@^1.9.12: version "1.9.13" resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.9.13.tgz#8f146038e776fd0aa6d7811c8b9cb11813b9e319" integrity sha512-afJxCZR4EH04u4thl7xYHSIgyQiGALstLi+5SW9t3868ghrgcFhpQvbJAN17Yb9nwtnltD64t15Msk2UlXkPeQ== @@ -11952,7 +11961,7 @@ tippy.js@^4.3.5: dependencies: popper.js "^1.14.7" -tiptap-commands@^1.10.11, tiptap-commands@^1.10.7: +tiptap-commands@^1.10.11: version "1.10.11" resolved "https://registry.yarnpkg.com/tiptap-commands/-/tiptap-commands-1.10.11.tgz#9df1ef7b553e601598892074f9faa6d836fd8238" integrity sha512-SD1Ep18qKGiCOodUttQrJtOfEC4/sx1pQWfROc4t8xeuxS5FLcrXZ+u9mELRSHkBJ+nDAJsn/ewG+yo58T1+Xg== @@ -11966,10 +11975,10 @@ tiptap-commands@^1.10.11, tiptap-commands@^1.10.7: prosemirror-utils "^0.9.4" tiptap-utils "^1.6.0" -tiptap-extensions@1.22.2: - version "1.22.2" - resolved "https://registry.yarnpkg.com/tiptap-extensions/-/tiptap-extensions-1.22.2.tgz#66b24ef63653481da16419efdf6459c7a9f518f7" - integrity sha512-JJe2yAnbaKBWO/16+lfFphePphG9UYhp3wAUkzhSefJx3dtIdDfCmp5jBzZ6NLahUHNT/Z9WeYdhQmngAeVhoA== +tiptap-extensions@~1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/tiptap-extensions/-/tiptap-extensions-1.26.0.tgz#d3ee033d121c7243a7e8648c69ec6343a2853ccc" + integrity sha512-icQYbfl6Cu3XkAoz9y+4x1URuB/EzryF2rZT6GsURghcelaxpjIPoMDBMyi00zlSIKJUvkS14NbnjJ2eT0CG6w== dependencies: lowlight "^1.12.1" prosemirror-collab "^1.1.2" @@ -11978,10 +11987,10 @@ tiptap-extensions@1.22.2: prosemirror-state "^1.2.3" prosemirror-tables "^0.8.1" prosemirror-transform "^1.1.3" - prosemirror-utils "^0.9.0" - prosemirror-view "^1.9.8" - tiptap "^1.22.2" - tiptap-commands "^1.10.7" + prosemirror-utils "^0.9.4" + prosemirror-view "^1.9.12" + tiptap "^1.24.0" + tiptap-commands "^1.10.11" tiptap-utils@^1.6.0: version "1.6.0" @@ -11993,7 +12002,7 @@ tiptap-utils@^1.6.0: prosemirror-tables "^0.8.1" prosemirror-utils "^0.9.4" -tiptap@1.24.0, tiptap@^1.22.2: +tiptap@^1.24.0, tiptap@~1.24.0: version "1.24.0" resolved "https://registry.yarnpkg.com/tiptap/-/tiptap-1.24.0.tgz#f386c8fca71275a4794a0e95eca2ea37267d370d" integrity sha512-izw0FM5bbOQRtNczqEgo9/EoUI7X/TAj1LEsteMuDqxaZKmYn6so482UnnQUv13+4DtXHYGj5U+60lVNuZlWJw==