diff --git a/SUMMARY.md b/SUMMARY.md
index c281e2fae..10d997a32 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -28,6 +28,7 @@
* [HTTPS](deployment/digital-ocean/https/README.md)
* [Human Connection](deployment/human-connection/README.md)
* [Mailserver](deployment/human-connection/mailserver/README.md)
+ * [Maintenance](deployment/human-connection/maintenance/README.md)
* [Volumes](deployment/volumes/README.md)
* [Neo4J Offline-Backups](deployment/volumes/neo4j-offline-backup/README.md)
* [Volume Snapshots](deployment/volumes/volume-snapshots/README.md)
diff --git a/backend/Dockerfile b/backend/Dockerfile
index 935077c98..0df78f727 100644
--- a/backend/Dockerfile
+++ b/backend/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:12.6-alpine as base
+FROM node:12.7-alpine as base
LABEL Description="Backend of the Social Network Human-Connection.org" Vendor="Human Connection gGmbH" Version="0.0.1" Maintainer="Human Connection gGmbH (developer@human-connection.org)"
EXPOSE 4000
diff --git a/backend/package.json b/backend/package.json
index f82d91dc0..3cc4936c8 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -9,6 +9,7 @@
"dev": "nodemon --exec babel-node src/ -e js,gql",
"dev:debug": "nodemon --exec babel-node --inspect=0.0.0.0:9229 src/index.js -e js,gql",
"lint": "eslint src --config .eslintrc.js",
+ "jest": "jest --forceExit --detectOpenHandles --runInBand",
"test": "run-s test:jest test:cucumber",
"test:before:server": "cross-env GRAPHQL_URI=http://localhost:4123 GRAPHQL_PORT=4123 yarn run dev 2> /dev/null",
"test:before:seeder": "cross-env GRAPHQL_URI=http://localhost:4001 GRAPHQL_PORT=4001 DISABLED_MIDDLEWARES=permissions,activityPub yarn run dev 2> /dev/null",
@@ -47,13 +48,13 @@
"apollo-client": "~2.6.3",
"apollo-link-context": "~1.0.18",
"apollo-link-http": "~1.5.15",
- "apollo-server": "~2.7.0",
- "apollo-server-express": "^2.6.9",
+ "apollo-server": "~2.8.0",
+ "apollo-server-express": "^2.7.2",
"bcryptjs": "~2.4.3",
"cheerio": "~1.0.0-rc.3",
"cors": "~2.8.5",
"cross-env": "~5.2.0",
- "date-fns": "2.0.0-beta.1",
+ "date-fns": "2.0.0-beta.3",
"debug": "~4.1.1",
"dotenv": "~8.0.0",
"express": "^4.17.1",
@@ -61,14 +62,30 @@
"graphql": "~14.4.2",
"graphql-custom-directives": "~0.2.14",
"graphql-iso-date": "~3.6.1",
- "graphql-middleware": "~3.0.2",
+ "graphql-middleware": "~3.0.3",
"graphql-shield": "~6.0.4",
"graphql-tag": "~2.10.1",
- "helmet": "~3.19.0",
+ "helmet": "~3.20.0",
"jsonwebtoken": "~8.5.1",
"linkifyjs": "~2.1.8",
"lodash": "~4.17.14",
- "merge-graphql-schemas": "^1.5.8",
+ "merge-graphql-schemas": "^1.6.1",
+ "metascraper": "^4.10.3",
+ "metascraper-audio": "^5.5.0",
+ "metascraper-author": "^5.6.3",
+ "metascraper-clearbit-logo": "^5.3.0",
+ "metascraper-date": "^5.6.3",
+ "metascraper-description": "^5.5.0",
+ "metascraper-image": "^5.6.3",
+ "metascraper-lang": "^5.6.3",
+ "metascraper-lang-detector": "^4.8.5",
+ "metascraper-logo": "^5.5.0",
+ "metascraper-publisher": "^5.6.3",
+ "metascraper-soundcloud": "^5.5.3",
+ "metascraper-title": "^5.6.3",
+ "metascraper-url": "^5.5.0",
+ "metascraper-video": "^5.6.3",
+ "metascraper-youtube": "^4.8.5",
"neo4j-driver": "~1.7.4",
"neo4j-graphql-js": "^2.6.3",
"neode": "^0.2.16",
@@ -83,23 +100,23 @@
"wait-on": "~3.3.0"
},
"devDependencies": {
- "@babel/cli": "~7.5.0",
- "@babel/core": "~7.5.4",
+ "@babel/cli": "~7.5.5",
+ "@babel/core": "~7.5.5",
"@babel/node": "~7.5.5",
"@babel/plugin-proposal-throw-expressions": "^7.2.0",
"@babel/preset-env": "~7.5.5",
"@babel/register": "~7.5.5",
- "apollo-server-testing": "~2.7.0",
+ "apollo-server-testing": "~2.8.0",
"babel-core": "~7.0.0-0",
"babel-eslint": "~10.0.2",
"babel-jest": "~24.8.0",
"chai": "~4.2.0",
"cucumber": "~5.1.0",
- "eslint": "~6.0.1",
+ "eslint": "~6.1.0",
"eslint-config-prettier": "~6.0.0",
"eslint-config-standard": "~12.0.0",
- "eslint-plugin-import": "~2.18.0",
- "eslint-plugin-jest": "~22.11.1",
+ "eslint-plugin-import": "~2.18.2",
+ "eslint-plugin-jest": "~22.14.0",
"eslint-plugin-node": "~9.1.0",
"eslint-plugin-prettier": "~3.1.0",
"eslint-plugin-promise": "~4.2.1",
@@ -110,4 +127,4 @@
"prettier": "~1.18.2",
"supertest": "~4.0.2"
}
-}
+}
\ No newline at end of file
diff --git a/backend/src/jest/snapshots/embeds/HumanConnectionOrg.html b/backend/src/jest/snapshots/embeds/HumanConnectionOrg.html
new file mode 100644
index 000000000..ed3f96cda
--- /dev/null
+++ b/backend/src/jest/snapshots/embeds/HumanConnectionOrg.html
@@ -0,0 +1,38 @@
+
+
+
Human Connection - Startseite | Facebook
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mehr von Human Connection auf Facebook anzeigen
Willkommen bei Human Connection
Human Connection ist ein gemeinnütziges soziales Wissens- und Aktionsnetzwerk mit Sitz in Weilheim-T...
Mehr anzeigen 24.407 Personen gefällt das
25.652 Personen haben das abonniert
Bahnhofstraße 11 (512,71 km) 73235 Weilheim an der Teck
Facebook liefert Informationen, mit denen du die Intention von Seiten besser verstehst. Hier erfährst du mehr zu den Personen, die die Seiten verwalten und Beiträge darin posten.
Seite erstellt – 21. Oktober 2015
Seiten, die dieser Seite gefallen
Human Connection soll mehr als nur ein einfacher Facebookersatz werden – nämlich vor allem lösungsorientiert und zukunftsfähig. Wir möchten mit unserem Netzwerk dazu beitragen, dass mehr Menschen aktiv werden und selbst etwas verändern. Vor allem möchten wir, dass sie nicht jede negative Neuigkeit in einem sozialen Netzwerk “schlucken” müssen. Der Gedanke man könne doch eh nichts ändern, stimmt nur dann, wenn andere Leser genauso denken. Gemeinsam ist so viel mehr möglich und... dafür braucht es zunächst erst einmal jeden Einzelnen.
Wie kann Human Connection dabei helfen?
Das erfahrt ihr im ganzen Beitrag: https://human-connection.org/human-connection-loesungsorie…/
Mehr anzeigen
Human Connection ist unser Herzensprojekt, welches allerdings uns und auch euch sehr viel Geduld abfordert. Warum dauert das eigentlich so lange?
Hier erfahrt ihr die Antwort:
Human Connection ist unser Herzensprojekt, welches allerdings uns und auch euch sehr viel Geduld abfordert. Warum dauert das eigentlich so lange?
Schau es an und Du weißt, was zu tun ist
Messe Fair Handeln: Human Connection beim Hackathon (Stuttgart 26.-28.04.2019)
In Nerds We Trust - Open Source - Wir lieben freie Software!
+
+
+
+
\ No newline at end of file
diff --git a/backend/src/jest/snapshots/embeds/babyLovesCat.html b/backend/src/jest/snapshots/embeds/babyLovesCat.html
new file mode 100644
index 000000000..88ce2a327
--- /dev/null
+++ b/backend/src/jest/snapshots/embeds/babyLovesCat.html
@@ -0,0 +1,1545 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Baby Loves Cat - YouTube
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wähle deine Sprache aus.
+
+
+
Schließen
+
+
+
+
+
+
+
+
+
+
+ Dieses Video ist nicht verfügbar.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Wiedergabeliste
+
+
+
Wiedergabeliste
+
+
+__count__/__total__
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Mehr ansehen
+
Weniger anzeigen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Wird geladen...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wird verarbeitet...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Melde dich an , um dieses Video zur Playlist "Später ansehen" hinzuzufügen.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/src/jest/snapshots/embeds/pr960.html b/backend/src/jest/snapshots/embeds/pr960.html
new file mode 100644
index 000000000..9b564f09a
--- /dev/null
+++ b/backend/src/jest/snapshots/embeds/pr960.html
@@ -0,0 +1,10042 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Editor embeds merge in nitro embed by mattwr18 · Pull Request #960 · Human-Connection/Human-Connection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Conversation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Closed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Merge state
+
+
Add more commits by pushing to the 256-editor-embeds-merge-in-nitro-embed branch on Human-Connection/Human-Connection .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hide all checks
+ Show all checks
+
+
+
All checks have passed
+ 4 successful checks
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Travis CI - Branch
+
+
+ Successful in 18m
+
+ —
+ Build Passed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Travis CI - Pull Request
+
+
+ Successful in 17m
+
+ —
+ Build Passed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ codecov/project/backend
+
+
+
+
+ —
+ 25.29% (+1.97%) compared to d901432
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ codecov/project/webapp
+
+
+
+
+ —
+ 45.23% remains the same compared to d901432
+
+
+
+
+
+
+
+
+
+
+
+
+
Merging is blocked
+
Merging can be performed automatically with 1 approving review.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ or view command line instructions .
+
+
+
+
+
Merging via command line
+
+ If you do not want to use the merge button or an automatic merge cannot be
+ performed, you can perform a manual merge on the command line.
+
+
+
+
+
Step 1: From your project repository, bring in the changes and test.
+
+
+
git fetch origin
+git checkout -b 256-editor-embeds-merge-in-nitro-embed origin/256-editor-embeds-merge-in-nitro-embed
+git merge master
+
+
+
Step 2: Merge the changes and update on GitHub.
+
+
+
git checkout master
+git merge --no-ff 256-editor-embeds-merge-in-nitro-embed
+git push origin master
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Try again
+
+
Couldn’t update branch
+
Oops, something went wrong.
+
+
+
+
+
Connect this pull request with an existing issue
+
+
+
+
+
+
+
+
+
+
+
Add this suggestion to a batch that can be applied as a single commit.
+
This suggestion is invalid because no changes were made to the code.
+
Suggestions cannot be applied while the pull request is closed.
+
Suggestions cannot be applied while viewing a subset of changes.
+
Only one suggestion per line can be applied in a batch.
+
Add this suggestion to a batch that can be applied as a single commit.
+
Applying suggestions on deleted lines is not supported.
+
You must change the existing code in this line in order to create a valid suggestion.
+
+
This suggestion has been applied or marked resolved.
+
Suggestions cannot be applied from pending reviews.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You can’t perform that action at this time.
+
+
+
+
+
+
+
+
+
+
+
+
+
You signed in with another tab or window. Reload to refresh your session.
+
You signed out in another tab or window. Reload to refresh your session.
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/src/middleware/index.js b/backend/src/middleware/index.js
index 19c72c19f..ba5b9d324 100644
--- a/backend/src/middleware/index.js
+++ b/backend/src/middleware/index.js
@@ -52,10 +52,12 @@ export default schema => {
if (CONFIG.DISABLED_MIDDLEWARES) {
const disabledMiddlewares = CONFIG.DISABLED_MIDDLEWARES.split(',')
order = order.filter(key => {
+ if (disabledMiddlewares.includes(key)) {
+ /* eslint-disable-next-line no-console */
+ console.log(`Warning: Disabled "${disabledMiddlewares}" middleware.`)
+ }
return !disabledMiddlewares.includes(key)
})
- /* eslint-disable-next-line no-console */
- console.log(`Warning: "${disabledMiddlewares}" middlewares have been disabled.`)
}
const appliedMiddlewares = order.map(key => middlewares[key])
diff --git a/backend/src/middleware/permissionsMiddleware.js b/backend/src/middleware/permissionsMiddleware.js
index 7958e610d..a803adb64 100644
--- a/backend/src/middleware/permissionsMiddleware.js
+++ b/backend/src/middleware/permissionsMiddleware.js
@@ -136,6 +136,7 @@ const permissions = shield(
Query: {
'*': deny,
findPosts: allow,
+ embed: allow,
Category: allow,
Tag: allow,
Report: isModerator,
@@ -162,6 +163,7 @@ const permissions = shield(
DeletePost: isAuthor,
report: isAuthenticated,
CreateSocialMedia: isAuthenticated,
+ UpdateSocialMedia: isAuthenticated,
DeleteSocialMedia: isAuthenticated,
// AddBadgeRewarded: isAdmin,
// RemoveBadgeRewarded: isAdmin,
diff --git a/backend/src/schema/helpers.js b/backend/src/schema/helpers.js
new file mode 100644
index 000000000..fe61ccf57
--- /dev/null
+++ b/backend/src/schema/helpers.js
@@ -0,0 +1,9 @@
+export const undefinedToNull = list => {
+ const resolvers = {}
+ list.forEach(key => {
+ resolvers[key] = async (parent, params, context, resolveInfo) => {
+ return typeof parent[key] === 'undefined' ? null : parent[key]
+ }
+ })
+ return resolvers
+}
diff --git a/backend/src/schema/resolvers/embeds.js b/backend/src/schema/resolvers/embeds.js
new file mode 100644
index 000000000..ba27f77b2
--- /dev/null
+++ b/backend/src/schema/resolvers/embeds.js
@@ -0,0 +1,29 @@
+import scrape from './embeds/scraper.js'
+import { undefinedToNull } from '../helpers'
+
+export default {
+ Query: {
+ embed: async (object, { url }, context, resolveInfo) => {
+ return scrape(url)
+ },
+ },
+ Embed: {
+ ...undefinedToNull([
+ 'type',
+ 'title',
+ 'author',
+ 'publisher',
+ 'date',
+ 'description',
+ 'url',
+ 'image',
+ 'audio',
+ 'video',
+ 'lang',
+ 'html',
+ ]),
+ sources: async (parent, params, context, resolveInfo) => {
+ return typeof parent.sources === 'undefined' ? [] : parent.sources
+ },
+ },
+}
diff --git a/backend/src/schema/resolvers/embeds.spec.js b/backend/src/schema/resolvers/embeds.spec.js
new file mode 100644
index 000000000..348fb50b0
--- /dev/null
+++ b/backend/src/schema/resolvers/embeds.spec.js
@@ -0,0 +1,216 @@
+import fetch from 'node-fetch'
+import fs from 'fs'
+import path from 'path'
+import { createTestClient } from 'apollo-server-testing'
+import createServer from '../../server'
+import { gql } from '../../jest/helpers'
+
+jest.mock('node-fetch')
+const { Response } = jest.requireActual('node-fetch')
+
+afterEach(() => {
+ fetch.mockRestore()
+})
+
+let variables = {}
+
+const HumanConnectionOrg = fs.readFileSync(
+ path.join(__dirname, '../../jest/snapshots/embeds/HumanConnectionOrg.html'),
+ 'utf8',
+)
+const pr960 = fs.readFileSync(
+ path.join(__dirname, '../../jest/snapshots/embeds/pr960.html'),
+ 'utf8',
+)
+const babyLovesCat = fs.readFileSync(
+ path.join(__dirname, '../../jest/snapshots/embeds/babyLovesCat.html'),
+ 'utf8',
+)
+
+const babyLovesCatEmbedResponse = new Response(
+ JSON.stringify({
+ height: 270,
+ provider_name: 'YouTube',
+ title: 'Baby Loves Cat',
+ type: 'video',
+ width: 480,
+ thumbnail_height: 360,
+ provider_url: 'https://www.youtube.com/',
+ thumbnail_width: 480,
+ html:
+ 'VIDEO ',
+ thumbnail_url: 'https://i.ytimg.com/vi/qkdXAtO40Fo/hqdefault.jpg',
+ version: '1.0',
+ author_name: 'Merkley Family',
+ author_url: 'https://www.youtube.com/channel/UC5P8yei950tif7UmdPpkJLQ',
+ }),
+)
+
+describe('Query', () => {
+ describe('embed', () => {
+ let embedAction
+
+ beforeEach(() => {
+ embedAction = async variables => {
+ const { server } = createServer({
+ context: () => {},
+ })
+ const { query } = createTestClient(server)
+ const embed = gql`
+ query($url: String!) {
+ embed(url: $url) {
+ type
+ title
+ author
+ publisher
+ date
+ description
+ url
+ image
+ audio
+ video
+ lang
+ sources
+ html
+ }
+ }
+ `
+ return query({ query: embed, variables })
+ }
+ })
+
+ describe('given a video link', () => {
+ beforeEach(() => {
+ fetch
+ .mockReturnValueOnce(Promise.resolve(new Response('')))
+ .mockReturnValueOnce(Promise.resolve(JSON.stringify({})))
+ variables = { url: 'https://www.w3schools.com/html/mov_bbb.mp4' }
+ })
+
+ it('shows some default data', async () => {
+ const expected = expect.objectContaining({
+ data: {
+ embed: {
+ audio: null,
+ author: null,
+ date: null,
+ description: null,
+ html: null,
+ image: null,
+ lang: null,
+ publisher: null,
+ sources: ['resource'],
+ title: null,
+ type: 'link',
+ url: 'https://www.w3schools.com/html/mov_bbb.mp4',
+ video: null,
+ },
+ },
+ })
+ await expect(embedAction(variables)).resolves.toEqual(expected)
+ })
+ })
+
+ describe('given a Facebook link', () => {
+ beforeEach(() => {
+ fetch
+ .mockReturnValueOnce(Promise.resolve(new Response(HumanConnectionOrg)))
+ .mockReturnValueOnce(Promise.resolve('invalid json'))
+ variables = { url: 'https://www.facebook.com/HumanConnectionOrg/' }
+ })
+
+ it('does not crash if embed provider returns invalid JSON', async () => {
+ const expected = expect.objectContaining({
+ data: {
+ embed: {
+ audio: null,
+ author: null,
+ date: expect.any(String),
+ description:
+ 'Human Connection, Weilheim an der Teck. Gefällt 24.407 Mal. An upcoming non-profit social network focused on local and global positive change. Twitter accounts : @hc_world (EN), @hc_deutschland (GE),...',
+ html: null,
+ image:
+ 'https://scontent.ftxl3-1.fna.fbcdn.net/v/t1.0-1/c5.0.200.200a/p200x200/12108307_997373093648222_70057205881020137_n.jpg?_nc_cat=110&_nc_oc=AQnPPYQlR0dU556gOfl4xkXr7IPZdRIAUfQeXl3fpUv4DAsFN8T4PfgOjPwuq85GPKGZ5S5E5mWQ8IVV1UiRBAIZ&_nc_ht=scontent.ftxl3-1.fna&oh=90309adddaab38839782f16e7d4b7bcf&oe=5DEEDFE5',
+ lang: 'de',
+ publisher: 'Facebook',
+ sources: ['resource'],
+ title: 'Human Connection',
+ type: 'link',
+ url: 'https://www.facebook.com/HumanConnectionOrg/',
+ video: null,
+ },
+ },
+ })
+ await expect(embedAction(variables)).resolves.toEqual(expected)
+ })
+ })
+
+ describe('given a Github link', () => {
+ beforeEach(() => {
+ fetch
+ .mockReturnValueOnce(Promise.resolve(new Response(pr960)))
+ .mockReturnValueOnce(Promise.resolve(JSON.stringify({})))
+ variables = { url: 'https://github.com/Human-Connection/Human-Connection/pull/960' }
+ })
+
+ it('returns meta data even if no embed html can be retrieved', async () => {
+ const expected = expect.objectContaining({
+ data: {
+ embed: {
+ type: 'link',
+ title:
+ 'Editor embeds merge in nitro embed by mattwr18 · Pull Request #960 · Human-Connection/Human-Connection',
+ author: 'Human-Connection',
+ publisher: 'GitHub',
+ date: expect.any(String),
+ description: '🍰 Pullrequest Issues fixes #256',
+ url: 'https://github.com/Human-Connection/Human-Connection/pull/960',
+ image:
+ 'https://repository-images.githubusercontent.com/112590397/52c9a000-7e11-11e9-899d-aaa55f3a3d72',
+ audio: null,
+ video: null,
+ lang: 'en',
+ sources: ['resource'],
+ html: null,
+ },
+ },
+ })
+ await expect(embedAction(variables)).resolves.toEqual(expected)
+ })
+ })
+
+ describe('given a youtube link', () => {
+ beforeEach(() => {
+ fetch
+ .mockReturnValueOnce(Promise.resolve(new Response(babyLovesCat)))
+ .mockReturnValueOnce(Promise.resolve(babyLovesCatEmbedResponse))
+ variables = { url: 'https://www.youtube.com/watch?v=qkdXAtO40Fo&t=18s' }
+ })
+
+ it('returns meta data plus youtube iframe html', async () => {
+ const expected = expect.objectContaining({
+ data: {
+ embed: {
+ type: 'video',
+ title: 'Baby Loves Cat',
+ author: 'Merkley Family',
+ publisher: 'YouTube',
+ date: expect.any(String),
+ description:
+ 'She’s incapable of controlling her limbs when her kitty is around. The obsession grows every day. Ps. That’s a sleep sack she’s in. Not a starfish outfit. Al...',
+ url: 'https://www.youtube.com/watch?v=qkdXAtO40Fo',
+ image: 'https://i.ytimg.com/vi/qkdXAtO40Fo/maxresdefault.jpg',
+ audio: null,
+ video: null,
+ lang: 'de',
+ sources: ['resource', 'oembed'],
+ html:
+ 'VIDEO ',
+ },
+ },
+ })
+ await expect(embedAction(variables)).resolves.toEqual(expected)
+ })
+ })
+ })
+})
diff --git a/backend/src/schema/resolvers/embeds/providers.json b/backend/src/schema/resolvers/embeds/providers.json
new file mode 100644
index 000000000..873ac2bf8
--- /dev/null
+++ b/backend/src/schema/resolvers/embeds/providers.json
@@ -0,0 +1,3014 @@
+[
+ {
+ "provider_name": "23HQ",
+ "provider_url": "http:\/\/www.23hq.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.23hq.com\/*\/photo\/*"
+ ],
+ "url": "http:\/\/www.23hq.com\/23\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Adways",
+ "provider_url": "http:\/\/www.adways.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/play.adpaths.com\/experience\/*"
+ ],
+ "url": "http:\/\/play.adpaths.com\/oembed\/*"
+ }
+ ]
+ },
+ {
+ "provider_name": "Alpha App Net",
+ "provider_url": "https:\/\/alpha.app.net\/browse\/posts\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/alpha.app.net\/*\/post\/*",
+ "https:\/\/photos.app.net\/*\/*"
+ ],
+ "url": "https:\/\/alpha-api.app.net\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Altru",
+ "provider_url": "https:\/\/www.altrulabs.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/app.altrulabs.com\/*\/*?answer_id=*"
+ ],
+ "url": "https:\/\/api.altrulabs.com\/social\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "amCharts Live Editor",
+ "provider_url": "https:\/\/live.amcharts.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/live.amcharts.com\/*",
+ "https:\/\/live.amcharts.com\/*"
+ ],
+ "url": "https:\/\/live.amcharts.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Animatron",
+ "provider_url": "https:\/\/www.animatron.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.animatron.com\/project\/*",
+ "https:\/\/animatron.com\/project\/*"
+ ],
+ "url": "https:\/\/animatron.com\/oembed\/json",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Animoto",
+ "provider_url": "http:\/\/animoto.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/animoto.com\/play\/*"
+ ],
+ "url": "http:\/\/animoto.com\/oembeds\/create"
+ }
+ ]
+ },
+ {
+ "provider_name": "Apester",
+ "provider_url": "https:\/\/www.apester.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/renderer.apester.com\/v2\/*?preview=true&iframe_preview=true"
+ ],
+ "url": "https:\/\/display.apester.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Archivos",
+ "provider_url": "https:\/\/app.archivos.digital",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/app.archivos.digital\/app\/view\/*"
+ ],
+ "url": "https:\/\/app.archivos.digital\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "AudioClip",
+ "provider_url": "https:\/\/audioclip.naver.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/audioclip.naver.com\/channels\/*\/clips\/*",
+ "https:\/\/audioclip.naver.com\/audiobooks\/*"
+ ],
+ "url": "https:\/\/audioclip.naver.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Audiomack",
+ "provider_url": "https:\/\/www.audiomack.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.audiomack.com\/song\/*",
+ "https:\/\/www.audiomack.com\/album\/*",
+ "https:\/\/www.audiomack.com\/playlist\/*"
+ ],
+ "url": "https:\/\/www.audiomack.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "AudioSnaps",
+ "provider_url": "http:\/\/audiosnaps.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/audiosnaps.com\/k\/*"
+ ],
+ "url": "http:\/\/audiosnaps.com\/service\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Backtracks",
+ "provider_url": "https:\/\/backtracks.fm",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/backtracks.fm\/*\/*\/e\/*",
+ "https:\/\/backtracks.fm\/*",
+ "http:\/\/backtracks.fm\/*"
+ ],
+ "url": "https:\/\/backtracks.fm\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Beautiful.AI",
+ "provider_url": "https:\/\/www.beautiful.ai\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/www.beautiful.ai\/api\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Blackfire.io",
+ "provider_url": "https:\/\/blackfire.io",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/blackfire.io\/profiles\/*\/graph",
+ "https:\/\/blackfire.io\/profiles\/compare\/*\/graph"
+ ],
+ "url": "https:\/\/blackfire.io\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Box Office Buz",
+ "provider_url": "http:\/\/boxofficebuz.com",
+ "endpoints": [
+ {
+ "url": "http:\/\/boxofficebuz.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "BrioVR",
+ "provider_url": "https:\/\/view.briovr.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/view.briovr.com\/api\/v1\/worlds\/oembed\/*"
+ ],
+ "url": "https:\/\/view.briovr.com\/api\/v1\/worlds\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Buttondown",
+ "provider_url": "https:\/\/buttondown.email\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/buttondown.email\/*"
+ ],
+ "url": "https:\/\/buttondown.email\/embed",
+ "formats": [
+ "json"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Byzart Project",
+ "provider_url": "https:\/\/cmc.byzart.eu",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/cmc.byzart.eu\/files\/*"
+ ],
+ "url": "https:\/\/cmc.byzart.eu\/oembed\/",
+ "discovery": false
+ }
+ ]
+ },
+ {
+ "provider_name": "Cacoo",
+ "provider_url": "https:\/\/cacoo.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/cacoo.com\/diagrams\/*"
+ ],
+ "url": "http:\/\/cacoo.com\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "Carbon Health",
+ "provider_url": "https:\/\/carbonhealth.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/carbonhealth.com\/practice\/*"
+ ],
+ "url": "http:\/\/carbonhealth.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "CatBoat",
+ "provider_url": "http:\/\/img.catbo.at\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/img.catbo.at\/*"
+ ],
+ "url": "http:\/\/img.catbo.at\/oembed.json",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Ceros",
+ "provider_url": "http:\/\/www.ceros.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/view.ceros.com\/*"
+ ],
+ "url": "http:\/\/view.ceros.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "ChartBlocks",
+ "provider_url": "http:\/\/www.chartblocks.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/public.chartblocks.com\/c\/*"
+ ],
+ "url": "http:\/\/embed.chartblocks.com\/1.0\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "chirbit.com",
+ "provider_url": "http:\/\/www.chirbit.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/chirb.it\/*"
+ ],
+ "url": "http:\/\/chirb.it\/oembed.{format}",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "CircuitLab",
+ "provider_url": "https:\/\/www.circuitlab.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.circuitlab.com\/circuit\/*"
+ ],
+ "url": "https:\/\/www.circuitlab.com\/circuit\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Clipland",
+ "provider_url": "http:\/\/www.clipland.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.clipland.com\/v\/*",
+ "https:\/\/www.clipland.com\/v\/*"
+ ],
+ "url": "https:\/\/www.clipland.com\/api\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Clyp",
+ "provider_url": "http:\/\/clyp.it\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/clyp.it\/*",
+ "http:\/\/clyp.it\/playlist\/*"
+ ],
+ "url": "http:\/\/api.clyp.it\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "CodeHS",
+ "provider_url": "http:\/\/www.codehs.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/codehs.com\/editor\/share_abacus\/*"
+ ],
+ "url": "https:\/\/codehs.com\/api\/sharedprogram\/*\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Codepen",
+ "provider_url": "https:\/\/codepen.io",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/codepen.io\/*",
+ "https:\/\/codepen.io\/*"
+ ],
+ "url": "http:\/\/codepen.io\/api\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Codepoints",
+ "provider_url": "https:\/\/codepoints.net",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/codepoints.net\/*",
+ "https:\/\/codepoints.net\/*",
+ "http:\/\/www.codepoints.net\/*",
+ "https:\/\/www.codepoints.net\/*"
+ ],
+ "url": "https:\/\/codepoints.net\/api\/v1\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "CodeSandbox",
+ "provider_url": "https:\/\/codesandbox.io",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/codesandbox.io\/s\/*",
+ "https:\/\/codesandbox.io\/embed\/*"
+ ],
+ "url": "https:\/\/codesandbox.io\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "CollegeHumor",
+ "provider_url": "http:\/\/www.collegehumor.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.collegehumor.com\/video\/*"
+ ],
+ "url": "http:\/\/www.collegehumor.com\/oembed.{format}",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Commaful",
+ "provider_url": "https:\/\/commaful.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/commaful.com\/play\/*"
+ ],
+ "url": "https:\/\/commaful.com\/api\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Coub",
+ "provider_url": "http:\/\/coub.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/coub.com\/view\/*",
+ "http:\/\/coub.com\/embed\/*"
+ ],
+ "url": "http:\/\/coub.com\/api\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "Crowd Ranking",
+ "provider_url": "http:\/\/crowdranking.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/crowdranking.com\/*\/*"
+ ],
+ "url": "http:\/\/crowdranking.com\/api\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "Cyrano Systems",
+ "provider_url": "http:\/\/www.cyranosystems.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/staging.cyranosystems.com\/msg\/*",
+ "https:\/\/app.cyranosystems.com\/msg\/*"
+ ],
+ "url": "https:\/\/staging.cyranosystems.com\/oembed",
+ "formats": [
+ "json"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Daily Mile",
+ "provider_url": "http:\/\/www.dailymile.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.dailymile.com\/people\/*\/entries\/*"
+ ],
+ "url": "http:\/\/api.dailymile.com\/oembed?format=json",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Dailymotion",
+ "provider_url": "https:\/\/www.dailymotion.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.dailymotion.com\/video\/*"
+ ],
+ "url": "https:\/\/www.dailymotion.com\/services\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Deseretnews.com",
+ "provider_url": "https:\/\/www.deseretnews.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.deseretnews.com\/*"
+ ],
+ "url": "https:\/\/embed.deseretnews.com\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Deviantart.com",
+ "provider_url": "http:\/\/www.deviantart.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.deviantart.com\/art\/*",
+ "http:\/\/*.deviantart.com\/*#\/d*",
+ "http:\/\/fav.me\/*",
+ "http:\/\/sta.sh\/*",
+ "https:\/\/*.deviantart.com\/art\/*",
+ "https:\/\/*.deviantart.com\/*\/art\/*",
+ "https:\/\/sta.sh\/*\",",
+ "https:\/\/*.deviantart.com\/*#\/d*\""
+ ],
+ "url": "http:\/\/backend.deviantart.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Didacte",
+ "provider_url": "https:\/\/www.didacte.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.didacte.com\/a\/course\/*"
+ ],
+ "url": "https:\/\/*.didacte.com\/cards\/oembed'",
+ "discovery": true,
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Digiteka",
+ "provider_url": "https:\/\/www.ultimedia.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.ultimedia.com\/central\/video\/edit\/id\/*\/topic_id\/*\/",
+ "https:\/\/www.ultimedia.com\/default\/index\/videogeneric\/id\/*\/showtitle\/1\/viewnc\/1",
+ "https:\/\/www.ultimedia.com\/default\/index\/videogeneric\/id\/*"
+ ],
+ "url": "https:\/\/www.ultimedia.com\/api\/search\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Dipity",
+ "provider_url": "http:\/\/www.dipity.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.dipity.com\/*\/*\/"
+ ],
+ "url": "http:\/\/www.dipity.com\/oembed\/timeline\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "DocDroid",
+ "provider_url": "https:\/\/www.docdroid.net\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.docdroid.net\/*",
+ "http:\/\/*.docdroid.net\/*",
+ "https:\/\/docdro.id\/*",
+ "http:\/\/docdro.id\/*"
+ ],
+ "url": "https:\/\/www.docdroid.net\/api\/oembed",
+ "formats": [
+ "json"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Dotsub",
+ "provider_url": "http:\/\/dotsub.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/dotsub.com\/view\/*"
+ ],
+ "url": "http:\/\/dotsub.com\/services\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "DTube",
+ "provider_url": "https:\/\/d.tube\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/d.tube\/v\/*"
+ ],
+ "url": "https:\/\/api.d.tube\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "edocr",
+ "provider_url": "http:\/\/www.edocr.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/edocr.com\/docs\/*"
+ ],
+ "url": "http:\/\/edocr.com\/api\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "eduMedia",
+ "provider_url": "https:\/\/www.edumedia-sciences.com\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/www.edumedia-sciences.com\/oembed.json",
+ "discovery": true
+ },
+ {
+ "url": "https:\/\/www.edumedia-sciences.com\/oembed.xml",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "EgliseInfo",
+ "provider_url": "http:\/\/egliseinfo.catholique.fr\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/egliseinfo.catholique.fr\/*"
+ ],
+ "url": "http:\/\/egliseinfo.catholique.fr\/api\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Embed Articles",
+ "provider_url": "http:\/\/embedarticles.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/embedarticles.com\/*"
+ ],
+ "url": "http:\/\/embedarticles.com\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Embedly",
+ "provider_url": "http:\/\/api.embed.ly\/",
+ "endpoints": [
+ {
+ "url": "http:\/\/api.embed.ly\/1\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Ethfiddle",
+ "provider_url": "https:\/\/www.ethfiddle.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/ethfiddle.com\/*"
+ ],
+ "url": "https:\/\/ethfiddle.com\/services\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Eyrie",
+ "provider_url": "https:\/\/eyrie.io\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/eyrie.io\/board\/*",
+ "https:\/\/eyrie.io\/sparkfun\/*"
+ ],
+ "url": "https:\/\/eyrie.io\/v1\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Facebook (Post)",
+ "provider_url": "https:\/\/www.facebook.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.facebook.com\/*\/posts\/*",
+ "https:\/\/www.facebook.com\/photos\/*",
+ "https:\/\/www.facebook.com\/*\/photos\/*",
+ "https:\/\/www.facebook.com\/photo.php*",
+ "https:\/\/www.facebook.com\/photo.php",
+ "https:\/\/www.facebook.com\/*\/activity\/*",
+ "https:\/\/www.facebook.com\/permalink.php",
+ "https:\/\/www.facebook.com\/media\/set?set=*",
+ "https:\/\/www.facebook.com\/questions\/*",
+ "https:\/\/www.facebook.com\/notes\/*\/*\/*"
+ ],
+ "url": "https:\/\/www.facebook.com\/plugins\/post\/oembed.json",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Facebook (Video)",
+ "provider_url": "https:\/\/www.facebook.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.facebook.com\/*\/videos\/*",
+ "https:\/\/www.facebook.com\/video.php"
+ ],
+ "url": "https:\/\/www.facebook.com\/plugins\/video\/oembed.json",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Fader",
+ "provider_url": "https:\/\/app.getfader.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/app.getfader.com\/projects\/*\/publish"
+ ],
+ "url": "https:\/\/app.getfader.com\/api\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Faithlife TV",
+ "provider_url": "https:\/\/faithlifetv.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/faithlifetv.com\/items\/*",
+ "https:\/\/faithlifetv.com\/items\/resource\/*\/*",
+ "https:\/\/faithlifetv.com\/media\/*",
+ "https:\/\/faithlifetv.com\/media\/assets\/*",
+ "https:\/\/faithlifetv.com\/media\/resource\/*\/*"
+ ],
+ "url": "https:\/\/faithlifetv.com\/api\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "FITE",
+ "provider_url": "https:\/\/www.fite.tv\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.fite.tv\/watch\/*"
+ ],
+ "url": "https:\/\/www.fite.tv\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Flat",
+ "provider_url": "https:\/\/flat.io",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/flat.io\/score\/*",
+ "https:\/\/*.flat.io\/score\/*"
+ ],
+ "url": "https:\/\/flat.io\/services\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Flickr",
+ "provider_url": "https:\/\/www.flickr.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.flickr.com\/photos\/*",
+ "http:\/\/flic.kr\/p\/*",
+ "https:\/\/*.flickr.com\/photos\/*",
+ "https:\/\/flic.kr\/p\/*"
+ ],
+ "url": "https:\/\/www.flickr.com\/services\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Flourish",
+ "provider_url": "https:\/\/flourish.studio\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/public.flourish.studio\/visualisation\/*",
+ "https:\/\/public.flourish.studio\/story\/*"
+ ],
+ "url": "https:\/\/app.flourish.studio\/api\/v1\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Fontself",
+ "provider_url": "https:\/\/www.fontself.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/catapult.fontself.com\/*"
+ ],
+ "url": "https:\/\/oembed.fontself.com\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "FOX SPORTS Australia",
+ "provider_url": "http:\/\/www.foxsports.com.au",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/fiso.foxsports.com.au\/isomorphic-widget\/*",
+ "https:\/\/fiso.foxsports.com.au\/isomorphic-widget\/*"
+ ],
+ "url": "https:\/\/fiso.foxsports.com.au\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "FrameBuzz",
+ "provider_url": "https:\/\/framebuzz.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/framebuzz.com\/v\/*",
+ "https:\/\/framebuzz.com\/v\/*"
+ ],
+ "url": "https:\/\/framebuzz.com\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "FunnyOrDie",
+ "provider_url": "http:\/\/www.funnyordie.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.funnyordie.com\/videos\/*"
+ ],
+ "url": "http:\/\/www.funnyordie.com\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "Geograph Britain and Ireland",
+ "provider_url": "https:\/\/www.geograph.org.uk\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.geograph.org.uk\/*",
+ "http:\/\/*.geograph.co.uk\/*",
+ "http:\/\/*.geograph.ie\/*",
+ "http:\/\/*.wikimedia.org\/*_geograph.org.uk_*"
+ ],
+ "url": "http:\/\/api.geograph.org.uk\/api\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Geograph Channel Islands",
+ "provider_url": "http:\/\/channel-islands.geograph.org\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.geograph.org.gg\/*",
+ "http:\/\/*.geograph.org.je\/*",
+ "http:\/\/channel-islands.geograph.org\/*",
+ "http:\/\/channel-islands.geographs.org\/*",
+ "http:\/\/*.channel.geographs.org\/*"
+ ],
+ "url": "http:\/\/www.geograph.org.gg\/api\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Geograph Germany",
+ "provider_url": "http:\/\/geo-en.hlipp.de\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/geo-en.hlipp.de\/*",
+ "http:\/\/geo.hlipp.de\/*",
+ "http:\/\/germany.geograph.org\/*"
+ ],
+ "url": "http:\/\/geo.hlipp.de\/restapi.php\/api\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Getty Images",
+ "provider_url": "http:\/\/www.gettyimages.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/gty.im\/*"
+ ],
+ "url": "http:\/\/embed.gettyimages.com\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Gfycat",
+ "provider_url": "https:\/\/gfycat.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/gfycat.com\/*",
+ "http:\/\/www.gfycat.com\/*",
+ "https:\/\/gfycat.com\/*",
+ "https:\/\/www.gfycat.com\/*"
+ ],
+ "url": "https:\/\/api.gfycat.com\/v1\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Gifnote",
+ "provider_url": "https:\/\/www.gifnote.com\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/www.gifnote.com\/services\/oembed",
+ "schemes": [
+ "https:\/\/www.gifnote.com\/play\/*"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "GIPHY",
+ "provider_url": "https:\/\/giphy.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/giphy.com\/gifs\/*",
+ "http:\/\/gph.is\/*",
+ "https:\/\/media.giphy.com\/media\/*\/giphy.gif"
+ ],
+ "url": "https:\/\/giphy.com\/services\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "GloriaTV",
+ "provider_url": "https:\/\/gloria.tv\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/gloria.tv\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "GT Channel",
+ "provider_url": "https:\/\/gtchannel.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/gtchannel.com\/watch\/*"
+ ],
+ "url": "https:\/\/api.luminery.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Gyazo",
+ "provider_url": "https:\/\/gyazo.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/gyazo.com\/*"
+ ],
+ "url": "https:\/\/api.gyazo.com\/api\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "hearthis.at",
+ "provider_url": "https:\/\/hearthis.at\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/hearthis.at\/*\/*\/"
+ ],
+ "url": "https:\/\/hearthis.at\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "HuffDuffer",
+ "provider_url": "http:\/\/huffduffer.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/huffduffer.com\/*\/*"
+ ],
+ "url": "http:\/\/huffduffer.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Hulu",
+ "provider_url": "http:\/\/www.hulu.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.hulu.com\/watch\/*"
+ ],
+ "url": "http:\/\/www.hulu.com\/api\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "iFixit",
+ "provider_url": "http:\/\/www.iFixit.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.ifixit.com\/Guide\/View\/*"
+ ],
+ "url": "http:\/\/www.ifixit.com\/Embed"
+ }
+ ]
+ },
+ {
+ "provider_name": "IFTTT",
+ "provider_url": "http:\/\/www.ifttt.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/ifttt.com\/recipes\/*"
+ ],
+ "url": "http:\/\/www.ifttt.com\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Indaco",
+ "provider_url": "https:\/\/player.indacolive.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/player.indacolive.com\/player\/jwp\/clients\/*"
+ ],
+ "url": "https:\/\/player.indacolive.com\/services\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Infogram",
+ "provider_url": "https:\/\/infogr.am\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/infogr.am\/*"
+ ],
+ "url": "https:\/\/infogr.am\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Infoveave",
+ "provider_url": "https:\/\/infoveave.net\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.infoveave.net\/E\/*",
+ "https:\/\/*.infoveave.net\/P\/*"
+ ],
+ "url": "https:\/\/infoveave.net\/services\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Injurymap",
+ "provider_url": "https:\/\/www.injurymap.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.injurymap.com\/exercises\/*"
+ ],
+ "url": "https:\/\/www.injurymap.com\/services\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Inoreader",
+ "provider_url": "https:\/\/www.inoreader.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.inoreader.com\/oembed\/"
+ ],
+ "url": "https:\/\/www.inoreader.com\/oembed\/api\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "inphood",
+ "provider_url": "http:\/\/inphood.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.inphood.com\/*"
+ ],
+ "url": "http:\/\/api.inphood.com\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Instagram",
+ "provider_url": "https:\/\/instagram.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/instagram.com\/p\/*",
+ "http:\/\/instagr.am\/p\/*",
+ "http:\/\/www.instagram.com\/p\/*",
+ "http:\/\/www.instagr.am\/p\/*",
+ "https:\/\/instagram.com\/p\/*",
+ "https:\/\/instagr.am\/p\/*",
+ "https:\/\/www.instagram.com\/p\/*",
+ "https:\/\/www.instagr.am\/p\/*"
+ ],
+ "url": "https:\/\/api.instagram.com\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "iSnare Articles",
+ "provider_url": "https:\/\/www.isnare.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.isnare.com\/*"
+ ],
+ "url": "https:\/\/www.isnare.com\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Issuu",
+ "provider_url": "https:\/\/issuu.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/issuu.com\/*\/docs\/*"
+ ],
+ "url": "https:\/\/issuu.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "ivlismusic",
+ "provider_url": "https:\/\/music.ivlis.kr\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/music.ivlis.kr\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "KakaoTv",
+ "provider_url": "https:\/\/tv.kakao.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/tv.kakao.com\/channel\/*\/cliplink\/*",
+ "https:\/\/tv.kakao.com\/channel\/v\/*",
+ "https:\/\/tv.kakao.com\/channel\/*\/livelink\/*",
+ "https:\/\/tv.kakao.com\/channel\/l\/*"
+ ],
+ "url": "https:\/\/tv.kakao.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Kickstarter",
+ "provider_url": "http:\/\/www.kickstarter.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.kickstarter.com\/projects\/*"
+ ],
+ "url": "http:\/\/www.kickstarter.com\/services\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Kidoju",
+ "provider_url": "https:\/\/www.kidoju.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.kidoju.com\/en\/x\/*\/*",
+ "https:\/\/www.kidoju.com\/fr\/x\/*\/*"
+ ],
+ "url": "https:\/\/www.kidoju.com\/api\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Kit",
+ "provider_url": "https:\/\/kit.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/kit.com\/*\/*",
+ "https:\/\/kit.com\/*\/*"
+ ],
+ "url": "https:\/\/embed.kit.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Kitchenbowl",
+ "provider_url": "http:\/\/www.kitchenbowl.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.kitchenbowl.com\/recipe\/*"
+ ],
+ "url": "http:\/\/www.kitchenbowl.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Knacki",
+ "provider_url": "http:\/\/jdr.knacki.info",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/jdr.knacki.info\/meuh\/*",
+ "https:\/\/jdr.knacki.info\/meuh\/*"
+ ],
+ "url": "https:\/\/jdr.knacki.info\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "LearningApps.org",
+ "provider_url": "http:\/\/learningapps.org\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/learningapps.org\/*"
+ ],
+ "url": "http:\/\/learningapps.org\/oembed.php",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Lille.Pod",
+ "provider_url": "https:\/\/pod.univ-lille.fr\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/pod.univ-lille.fr\/video\/*"
+ ],
+ "url": "https:\/\/pod.univ-lille.fr\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Livestream",
+ "provider_url": "https:\/\/livestream.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/livestream.com\/accounts\/*\/events\/*",
+ "https:\/\/livestream.com\/accounts\/*\/events\/*\/videos\/*",
+ "https:\/\/livestream.com\/*\/events\/*",
+ "https:\/\/livestream.com\/*\/events\/*\/videos\/*",
+ "https:\/\/livestream.com\/*\/*",
+ "https:\/\/livestream.com\/*\/*\/videos\/*"
+ ],
+ "url": "https:\/\/livestream.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Ludus",
+ "provider_url": "https:\/\/ludus.one",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/app.ludus.one\/*"
+ ],
+ "url": "https:\/\/app.ludus.one\/oembed",
+ "discovery": true,
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "MathEmbed",
+ "provider_url": "http:\/\/mathembed.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/mathembed.com\/latex?inputText=*",
+ "http:\/\/mathembed.com\/latex?inputText=*"
+ ],
+ "url": "http:\/\/mathembed.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Matterport",
+ "provider_url": "https:\/\/matterport.com\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/my.matterport.com\/api\/v1\/models\/oembed\/",
+ "discovery": true,
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "me.me",
+ "provider_url": "https:\/\/me.me\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/me.me\/i\/*"
+ ],
+ "url": "https:\/\/me.me\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Medienarchiv der K\u00fcnste - Z\u00fcrcher Hochschule der K\u00fcnste",
+ "provider_url": "https:\/\/medienarchiv.zhdk.ch\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/medienarchiv.zhdk.ch\/entries\/*"
+ ],
+ "url": "https:\/\/medienarchiv.zhdk.ch\/oembed.{format}",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Meetup",
+ "provider_url": "http:\/\/www.meetup.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/meetup.com\/*",
+ "https:\/\/www.meetup.com\/*",
+ "https:\/\/meetup.com\/*",
+ "http:\/\/meetu.ps\/*"
+ ],
+ "url": "https:\/\/api.meetup.com\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "MixCloud",
+ "provider_url": "https:\/\/mixcloud.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.mixcloud.com\/*\/*\/",
+ "https:\/\/www.mixcloud.com\/*\/*\/"
+ ],
+ "url": "https:\/\/www.mixcloud.com\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Moby Picture",
+ "provider_url": "http:\/\/www.mobypicture.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.mobypicture.com\/user\/*\/view\/*",
+ "http:\/\/moby.to\/*"
+ ],
+ "url": "http:\/\/api.mobypicture.com\/oEmbed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Modelo",
+ "provider_url": "http:\/\/modelo.io\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/beta.modelo.io\/embedded\/*"
+ ],
+ "url": "https:\/\/portal.modelo.io\/oembed",
+ "discovery": false
+ }
+ ]
+ },
+ {
+ "provider_name": "MorphCast",
+ "provider_url": "https:\/\/www.morphcast.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/m-roll.morphcast.com\/mroll\/*"
+ ],
+ "url": "https:\/\/m-roll.morphcast.com\/service\/oembed",
+ "discovery": true,
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Music Box Maniacs",
+ "provider_url": "https:\/\/musicboxmaniacs.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/musicboxmaniacs.com\/explore\/melody\/*"
+ ],
+ "url": "https:\/\/musicboxmaniacs.com\/embed\/",
+ "formats": [
+ "json"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "myBeweeg",
+ "provider_url": "https:\/\/mybeweeg.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/mybeweeg.com\/w\/*"
+ ],
+ "url": "https:\/\/mybeweeg.com\/services\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Namchey",
+ "provider_url": "https:\/\/namchey.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/namchey.com\/embeds\/*"
+ ],
+ "url": "https:\/\/namchey.com\/api\/oembed",
+ "formats": [
+ "json",
+ "xml"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "nanoo.tv",
+ "provider_url": "https:\/\/www.nanoo.tv\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.nanoo.tv\/link\/*",
+ "http:\/\/nanoo.tv\/link\/*",
+ "http:\/\/*.nanoo.pro\/link\/*",
+ "http:\/\/nanoo.pro\/link\/*",
+ "https:\/\/*.nanoo.tv\/link\/*",
+ "https:\/\/nanoo.tv\/link\/*",
+ "https:\/\/*.nanoo.pro\/link\/*",
+ "https:\/\/nanoo.pro\/link\/*",
+ "http:\/\/media.zhdk.ch\/signatur\/*",
+ "http:\/\/new.media.zhdk.ch\/signatur\/*",
+ "https:\/\/media.zhdk.ch\/signatur\/*",
+ "https:\/\/new.media.zhdk.ch\/signatur\/*"
+ ],
+ "url": "https:\/\/www.nanoo.tv\/services\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Nasjonalbiblioteket",
+ "provider_url": "https:\/\/www.nb.no\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.nb.no\/items\/*"
+ ],
+ "url": "https:\/\/api.nb.no\/catalog\/v1\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Natural Atlas",
+ "provider_url": "https:\/\/naturalatlas.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/naturalatlas.com\/*",
+ "https:\/\/naturalatlas.com\/*\/*",
+ "https:\/\/naturalatlas.com\/*\/*\/*",
+ "https:\/\/naturalatlas.com\/*\/*\/*\/*"
+ ],
+ "url": "https:\/\/naturalatlas.com\/oembed.{format}",
+ "discovery": true,
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "nfb.ca",
+ "provider_url": "http:\/\/www.nfb.ca\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.nfb.ca\/film\/*"
+ ],
+ "url": "http:\/\/www.nfb.ca\/remote\/services\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Odds.com.au",
+ "provider_url": "https:\/\/www.odds.com.au",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.odds.com.au\/*",
+ "https:\/\/odds.com.au\/*"
+ ],
+ "url": "https:\/\/www.odds.com.au\/api\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Official FM",
+ "provider_url": "http:\/\/official.fm",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/official.fm\/tracks\/*",
+ "http:\/\/official.fm\/playlists\/*"
+ ],
+ "url": "http:\/\/official.fm\/services\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "Omniscope",
+ "provider_url": "https:\/\/omniscope.me\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/omniscope.me\/*"
+ ],
+ "url": "https:\/\/omniscope.me\/_global_\/oembed\/json",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "On Aol",
+ "provider_url": "http:\/\/on.aol.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/on.aol.com\/video\/*"
+ ],
+ "url": "http:\/\/on.aol.com\/api"
+ }
+ ]
+ },
+ {
+ "provider_name": "Ora TV",
+ "provider_url": "http:\/\/www.ora.tv\/",
+ "endpoints": [
+ {
+ "discovery": true,
+ "url": "https:\/\/www.ora.tv\/oembed\/*?format={format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "Orbitvu",
+ "provider_url": "https:\/\/orbitvu.co",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/orbitvu.co\/001\/*\/ov3601\/view",
+ "https:\/\/orbitvu.co\/001\/*\/ov3601\/*\/view",
+ "https:\/\/orbitvu.co\/001\/*\/ov3602\/*\/view",
+ "https:\/\/orbitvu.co\/001\/*\/2\/orbittour\/*\/view",
+ "https:\/\/orbitvu.co\/001\/*\/1\/2\/orbittour\/*\/view",
+ "http:\/\/orbitvu.co\/001\/*\/ov3601\/view",
+ "http:\/\/orbitvu.co\/001\/*\/ov3601\/*\/view",
+ "http:\/\/orbitvu.co\/001\/*\/ov3602\/*\/view",
+ "http:\/\/orbitvu.co\/001\/*\/2\/orbittour\/*\/view",
+ "http:\/\/orbitvu.co\/001\/*\/1\/2\/orbittour\/*\/view"
+ ],
+ "url": "http:\/\/orbitvu.co\/service\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Oumy",
+ "provider_url": "https:\/\/www.oumy.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.oumy.com\/v\/*"
+ ],
+ "url": "https:\/\/www.oumy.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Outplayed.tv",
+ "provider_url": "https:\/\/outplayed.tv\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/outplayed.tv\/media\/*"
+ ],
+ "url": "https:\/\/outplayed.tv\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Overflow",
+ "provider_url": "https:\/\/overflow.io",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/overflow.io\/s\/*",
+ "https:\/\/overflow.io\/embed\/*"
+ ],
+ "url": "https:\/\/overflow.io\/services\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Pastery",
+ "provider_url": "https:\/\/www.pastery.net",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/pastery.net\/*",
+ "https:\/\/pastery.net\/*",
+ "http:\/\/www.pastery.net\/*",
+ "https:\/\/www.pastery.net\/*"
+ ],
+ "url": "https:\/\/www.pastery.net\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "PingVP",
+ "provider_url": "https:\/\/www.pingvp.com\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/beta.pingvp.com.kpnis.nl\/p\/oembed.php",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Pixdor",
+ "provider_url": "http:\/\/www.pixdor.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/store.pixdor.com\/place-marker-widget\/*\/show",
+ "https:\/\/store.pixdor.com\/map\/*\/show"
+ ],
+ "url": "https:\/\/store.pixdor.com\/oembed",
+ "formats": [
+ "json",
+ "xml"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Podbean",
+ "provider_url": "http:\/\/podbean.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.podbean.com\/e\/*",
+ "http:\/\/*.podbean.com\/e\/*"
+ ],
+ "url": "https:\/\/api.podbean.com\/v1\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Poll Daddy",
+ "provider_url": "http:\/\/polldaddy.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.polldaddy.com\/s\/*",
+ "http:\/\/*.polldaddy.com\/poll\/*",
+ "http:\/\/*.polldaddy.com\/ratings\/*"
+ ],
+ "url": "http:\/\/polldaddy.com\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Port",
+ "provider_url": "http:\/\/www.sellwithport.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/app.sellwithport.com\/#\/buyer\/*"
+ ],
+ "url": "https:\/\/api.sellwithport.com\/v1.0\/buyer\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Portfolium",
+ "provider_url": "https:\/\/portfolium.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/portfolium.com\/entry\/*"
+ ],
+ "url": "https:\/\/api.portfolium.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "posiXion",
+ "provider_url": "https:\/\/posixion.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/posixion.com\/question\/*",
+ "https:\/\/posixion.com\/*\/question\/*"
+ ],
+ "url": "http:\/\/posixion.com\/services\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Quiz.biz",
+ "provider_url": "http:\/\/www.quiz.biz\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.quiz.biz\/quizz-*.html"
+ ],
+ "url": "http:\/\/www.quiz.biz\/api\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Quizz.biz",
+ "provider_url": "http:\/\/www.quizz.biz\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.quizz.biz\/quizz-*.html"
+ ],
+ "url": "http:\/\/www.quizz.biz\/api\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "RapidEngage",
+ "provider_url": "https:\/\/rapidengage.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/rapidengage.com\/s\/*"
+ ],
+ "url": "https:\/\/rapidengage.com\/api\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Reddit",
+ "provider_url": "https:\/\/reddit.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/reddit.com\/r\/*\/comments\/*\/*",
+ "https:\/\/www.reddit.com\/r\/*\/comments\/*\/*"
+ ],
+ "url": "https:\/\/www.reddit.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "ReleaseWire",
+ "provider_url": "http:\/\/www.releasewire.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/rwire.com\/*"
+ ],
+ "url": "http:\/\/publisher.releasewire.com\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Replit",
+ "provider_url": "https:\/\/repl.it\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/repl.it\/@*\/*"
+ ],
+ "url": "https:\/\/repl.it\/data\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "RepubHub",
+ "provider_url": "http:\/\/repubhub.icopyright.net\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/repubhub.icopyright.net\/freePost.act?*"
+ ],
+ "url": "http:\/\/repubhub.icopyright.net\/oembed.act",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "ReverbNation",
+ "provider_url": "https:\/\/www.reverbnation.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.reverbnation.com\/*",
+ "https:\/\/www.reverbnation.com\/*\/songs\/*"
+ ],
+ "url": "https:\/\/www.reverbnation.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "RiffReporter",
+ "provider_url": "https:\/\/www.riffreporter.de\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/www.riffreporter.de\/service\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Roomshare",
+ "provider_url": "http:\/\/roomshare.jp",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/roomshare.jp\/post\/*",
+ "http:\/\/roomshare.jp\/en\/post\/*"
+ ],
+ "url": "http:\/\/roomshare.jp\/en\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "RoosterTeeth",
+ "provider_url": "https:\/\/roosterteeth.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/roosterteeth.com\/*"
+ ],
+ "url": "https:\/\/roosterteeth.com\/oembed",
+ "formats": [
+ "json"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Rumble",
+ "provider_url": "https:\/\/rumble.com\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/rumble.com\/api\/Media\/oembed.{format}",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Sapo Videos",
+ "provider_url": "http:\/\/videos.sapo.pt",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/videos.sapo.pt\/*"
+ ],
+ "url": "http:\/\/videos.sapo.pt\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Screen9",
+ "provider_url": "http:\/\/www.screen9.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/console.screen9.com\/*",
+ "https:\/\/*.screen9.tv\/*"
+ ],
+ "url": "https:\/\/api.screen9.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Screencast.com",
+ "provider_url": "http:\/\/www.screencast.com\/",
+ "endpoints": [
+ {
+ "url": "https:\/\/api.screencast.com\/external\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Screenr",
+ "provider_url": "http:\/\/www.screenr.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.screenr.com\/*\/"
+ ],
+ "url": "http:\/\/www.screenr.com\/api\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "ScribbleMaps",
+ "provider_url": "https:\/\/scribblemaps.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.scribblemaps.com\/maps\/view\/*",
+ "https:\/\/www.scribblemaps.com\/maps\/view\/*",
+ "http:\/\/scribblemaps.com\/maps\/view\/*",
+ "https:\/\/scribblemaps.com\/maps\/view\/*"
+ ],
+ "url": "https:\/\/scribblemaps.com\/api\/services\/oembed.{format}",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Scribd",
+ "provider_url": "http:\/\/www.scribd.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.scribd.com\/doc\/*"
+ ],
+ "url": "http:\/\/www.scribd.com\/services\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "SendtoNews",
+ "provider_url": "http:\/\/www.sendtonews.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/embed.sendtonews.com\/oembed\/*"
+ ],
+ "url": "https:\/\/embed.sendtonews.com\/services\/oembed",
+ "discovery": true,
+ "formats": [
+ "json",
+ "xml"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "ShortNote",
+ "provider_url": "https:\/\/www.shortnote.jp\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.shortnote.jp\/view\/notes\/*"
+ ],
+ "url": "https:\/\/www.shortnote.jp\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Shoudio",
+ "provider_url": "http:\/\/shoudio.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/shoudio.com\/*",
+ "http:\/\/shoud.io\/*"
+ ],
+ "url": "http:\/\/shoudio.com\/api\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Show the Way, actionable location info",
+ "provider_url": "https:\/\/showtheway.io",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/showtheway.io\/to\/*"
+ ],
+ "url": "https:\/\/showtheway.io\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Simplecast",
+ "provider_url": "https:\/\/simplecast.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/simplecast.com\/s\/*"
+ ],
+ "url": "https:\/\/simplecast.com\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Sizzle",
+ "provider_url": "https:\/\/onsizzle.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/onsizzle.com\/i\/*"
+ ],
+ "url": "https:\/\/onsizzle.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Sketchfab",
+ "provider_url": "http:\/\/sketchfab.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/sketchfab.com\/models\/*",
+ "https:\/\/sketchfab.com\/models\/*",
+ "https:\/\/sketchfab.com\/*\/folders\/*"
+ ],
+ "url": "http:\/\/sketchfab.com\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "SlideShare",
+ "provider_url": "http:\/\/www.slideshare.net\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.slideshare.net\/*\/*",
+ "http:\/\/fr.slideshare.net\/*\/*",
+ "http:\/\/de.slideshare.net\/*\/*",
+ "http:\/\/es.slideshare.net\/*\/*",
+ "http:\/\/pt.slideshare.net\/*\/*"
+ ],
+ "url": "http:\/\/www.slideshare.net\/api\/oembed\/2",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "SmashNotes",
+ "provider_url": "https:\/\/smashnotes.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/smashnotes.com\/p\/*",
+ "https:\/\/smashnotes.com\/p\/*\/e\/* - https:\/\/smashnotes.com\/p\/*\/e\/*\/s\/*"
+ ],
+ "url": "https:\/\/smashnotes.com\/services\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "SmugMug",
+ "provider_url": "http:\/\/www.smugmug.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.smugmug.com\/*"
+ ],
+ "url": "http:\/\/api.smugmug.com\/services\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "SocialExplorer",
+ "provider_url": "https:\/\/www.socialexplorer.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.socialexplorer.com\/*\/explore",
+ "https:\/\/www.socialexplorer.com\/*\/view",
+ "https:\/\/www.socialexplorer.com\/*\/edit",
+ "https:\/\/www.socialexplorer.com\/*\/embed"
+ ],
+ "url": "https:\/\/www.socialexplorer.com\/services\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Songlink",
+ "provider_url": "https:\/\/song.link",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/song.link\/*"
+ ],
+ "url": "https:\/\/song.link\/oembed",
+ "formats": [
+ "json"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "SoundCloud",
+ "provider_url": "http:\/\/soundcloud.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/soundcloud.com\/*",
+ "https:\/\/soundcloud.com\/*"
+ ],
+ "url": "https:\/\/soundcloud.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Soundsgood",
+ "provider_url": "https:\/\/soundsgood.co",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/play.soundsgood.co\/playlist\/*",
+ "https:\/\/soundsgood.co\/playlist\/*"
+ ],
+ "url": "https:\/\/play.soundsgood.co\/oembed",
+ "discovery": true,
+ "formats": [
+ "json",
+ "xml"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "SpeakerDeck",
+ "provider_url": "https:\/\/speakerdeck.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/speakerdeck.com\/*\/*",
+ "https:\/\/speakerdeck.com\/*\/*"
+ ],
+ "url": "https:\/\/speakerdeck.com\/oembed.json",
+ "discovery": true,
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Spotful",
+ "provider_url": "https:\/\/bespotful.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/play.bespotful.com\/*"
+ ],
+ "url": "https:\/\/api.bespotful.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Spotify",
+ "provider_url": "https:\/\/spotify.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.spotify.com\/*",
+ "spotify:*"
+ ],
+ "url": "https:\/\/embed.spotify.com\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "Spreaker",
+ "provider_url": "https:\/\/www.spreaker.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.spreaker.com\/*",
+ "https:\/\/*.spreaker.com\/*"
+ ],
+ "url": "https:\/\/api.spreaker.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Stanford Digital Repository",
+ "provider_url": "https:\/\/purl.stanford.edu\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/purl.stanford.edu\/*"
+ ],
+ "url": "https:\/\/purl.stanford.edu\/embed.{format}",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Streamable",
+ "provider_url": "https:\/\/streamable.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/streamable.com\/*",
+ "https:\/\/streamable.com\/*"
+ ],
+ "url": "https:\/\/api.streamable.com\/oembed.json",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "StreamOneCloud",
+ "provider_url": "https:\/\/www.streamone.nl",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/content.streamonecloud.net\/embed\/*"
+ ],
+ "url": "https:\/\/content.streamonecloud.net\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Sutori",
+ "provider_url": "https:\/\/www.sutori.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.sutori.com\/story\/*"
+ ],
+ "url": "https:\/\/www.sutori.com\/api\/oembed",
+ "discovery": true,
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Sway",
+ "provider_url": "https:\/\/www.sway.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/sway.com\/*",
+ "https:\/\/www.sway.com\/*"
+ ],
+ "url": "https:\/\/sway.com\/api\/v1.0\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Ted",
+ "provider_url": "https:\/\/ted.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/ted.com\/talks\/*",
+ "https:\/\/ted.com\/talks\/*",
+ "https:\/\/www.ted.com\/talks\/*"
+ ],
+ "url": "https:\/\/www.ted.com\/talks\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "The New York Times",
+ "provider_url": "https:\/\/www.nytimes.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.nytimes.com\/svc\/oembed",
+ "https:\/\/nytimes.com\/*",
+ "https:\/\/*.nytimes.com\/*"
+ ],
+ "url": "https:\/\/www.nytimes.com\/svc\/oembed\/json\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "They Said So",
+ "provider_url": "https:\/\/theysaidso.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/theysaidso.com\/image\/*"
+ ],
+ "url": "https:\/\/theysaidso.com\/extensions\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "TickCounter",
+ "provider_url": "https:\/\/www.tickcounter.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.tickcounter.com\/countdown\/*",
+ "http:\/\/www.tickcounter.com\/countup\/*",
+ "http:\/\/www.tickcounter.com\/ticker\/*",
+ "http:\/\/www.tickcounter.com\/worldclock\/*",
+ "https:\/\/www.tickcounter.com\/countdown\/*",
+ "https:\/\/www.tickcounter.com\/countup\/*",
+ "https:\/\/www.tickcounter.com\/ticker\/*",
+ "https:\/\/www.tickcounter.com\/worldclock\/*"
+ ],
+ "url": "https:\/\/www.tickcounter.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Toornament",
+ "provider_url": "https:\/\/www.toornament.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.toornament.com\/tournaments\/*\/information",
+ "https:\/\/www.toornament.com\/tournaments\/*\/registration\/",
+ "https:\/\/www.toornament.com\/tournaments\/*\/matches\/schedule",
+ "https:\/\/www.toornament.com\/tournaments\/*\/stages\/*\/"
+ ],
+ "url": "https:\/\/widget.toornament.com\/oembed",
+ "discovery": true,
+ "formats": [
+ "json",
+ "xml"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Topy",
+ "provider_url": "http:\/\/www.topy.se\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.topy.se\/image\/*"
+ ],
+ "url": "http:\/\/www.topy.se\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Tuxx",
+ "provider_url": "https:\/\/www.tuxx.be\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.tuxx.be\/*"
+ ],
+ "url": "https:\/\/www.tuxx.be\/services\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "tvcf",
+ "provider_url": "http:\/\/tvcf.co.kr",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.tvcf.co.kr\/v\/*"
+ ],
+ "url": "http:\/\/www.tvcf.co.kr\/services\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Twitch",
+ "provider_url": "https:\/\/www.twitch.tv",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/clips.twitch.tv\/*",
+ "https:\/\/clips.twitch.tv\/*",
+ "http:\/\/www.twitch.tv\/*",
+ "https:\/\/www.twitch.tv\/*",
+ "http:\/\/twitch.tv\/*",
+ "https:\/\/twitch.tv\/*"
+ ],
+ "url": "https:\/\/api.twitch.tv\/v4\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Twitter",
+ "provider_url": "http:\/\/www.twitter.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/twitter.com\/*\/status\/*",
+ "https:\/\/*.twitter.com\/*\/status\/*"
+ ],
+ "url": "https:\/\/publish.twitter.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "TypeCast",
+ "provider_url": "https:\/\/typecast.ai",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/play.typecast.ai\/s\/*",
+ "https:\/\/play.typecast.ai\/e\/*",
+ "https:\/\/play.typecast.ai\/*"
+ ],
+ "url": "https:\/\/play.typecast.ai\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "Ubideo",
+ "provider_url": "https:\/\/player.ubideo.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/player.ubideo.com\/*"
+ ],
+ "url": "https:\/\/player.ubideo.com\/api\/oembed.json",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "University of Cambridge Map",
+ "provider_url": "https:\/\/map.cam.ac.uk",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/map.cam.ac.uk\/*"
+ ],
+ "url": "https:\/\/map.cam.ac.uk\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "UOL",
+ "provider_url": "https:\/\/mais.uol.com.br\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.uol.com.br\/view\/*",
+ "https:\/\/*.uol.com.br\/video\/*"
+ ],
+ "url": "https:\/\/mais.uol.com.br\/apiuol\/v3\/oembed\/view",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Ustream",
+ "provider_url": "http:\/\/www.ustream.tv",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.ustream.tv\/*",
+ "http:\/\/*.ustream.com\/*"
+ ],
+ "url": "http:\/\/www.ustream.tv\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Utposts",
+ "provider_url": "https:\/\/www.utposts.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/www.utposts.com\/products\/*",
+ "http:\/\/www.utposts.com\/products\/*",
+ "https:\/\/utposts.com\/products\/*",
+ "http:\/\/utposts.com\/products\/*"
+ ],
+ "url": "https:\/\/www.utposts.com\/api\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Uttles",
+ "provider_url": "http:\/\/uttles.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/uttles.com\/uttle\/*"
+ ],
+ "url": "http:\/\/uttles.com\/api\/reply\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "VeeR VR",
+ "provider_url": "http:\/\/veer.tv\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/veer.tv\/videos\/*"
+ ],
+ "url": "https:\/\/api.veer.tv\/oembed",
+ "discovery": true
+ },
+ {
+ "schemes": [
+ "http:\/\/veervr.tv\/videos\/*"
+ ],
+ "url": "https:\/\/api.veervr.tv\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Verse",
+ "provider_url": "http:\/\/verse.com\/",
+ "endpoints": [
+ {
+ "url": "http:\/\/verse.com\/services\/oembed\/"
+ }
+ ]
+ },
+ {
+ "provider_name": "VEVO",
+ "provider_url": "http:\/\/www.vevo.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.vevo.com\/*",
+ "https:\/\/www.vevo.com\/*"
+ ],
+ "url": "https:\/\/www.vevo.com\/oembed",
+ "discovery": false
+ }
+ ]
+ },
+ {
+ "provider_name": "VideoJug",
+ "provider_url": "http:\/\/www.videojug.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/www.videojug.com\/film\/*",
+ "http:\/\/www.videojug.com\/interview\/*"
+ ],
+ "url": "http:\/\/www.videojug.com\/oembed.{format}"
+ }
+ ]
+ },
+ {
+ "provider_name": "Vidlit",
+ "provider_url": "https:\/\/vidl.it\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/vidl.it\/*"
+ ],
+ "url": "https:\/\/api.vidl.it\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Vidmizer",
+ "provider_url": "https:\/\/www.vidmizer.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/players.vidmizer.com\/*"
+ ],
+ "url": "https:\/\/app-v2.vidmizer.com\/api\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Vidyard",
+ "provider_url": "http:\/\/www.vidyard.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/embed.vidyard.com\/*",
+ "http:\/\/play.vidyard.com\/*",
+ "http:\/\/share.vidyard.com\/*",
+ "http:\/\/*.hubs.vidyard.com\/*"
+ ],
+ "url": "https:\/\/api.vidyard.com\/dashboard\/v1.1\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Vimeo",
+ "provider_url": "https:\/\/vimeo.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/vimeo.com\/*",
+ "https:\/\/vimeo.com\/album\/*\/video\/*",
+ "https:\/\/vimeo.com\/channels\/*\/*",
+ "https:\/\/vimeo.com\/groups\/*\/videos\/*",
+ "https:\/\/vimeo.com\/ondemand\/*\/*",
+ "https:\/\/player.vimeo.com\/video\/*"
+ ],
+ "url": "https:\/\/vimeo.com\/api\/oembed.{format}",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Viziosphere",
+ "provider_url": "http:\/\/www.viziosphere.com",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/viziosphere.com\/3dphoto*"
+ ],
+ "url": "http:\/\/viziosphere.com\/services\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Vlipsy",
+ "provider_url": "https:\/\/vlipsy.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/vlipsy.com\/*"
+ ],
+ "url": "https:\/\/vlipsy.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "VLIVE",
+ "provider_url": "https:\/\/www.vlive.tv",
+ "endpoints": [
+ {
+ "url": "https:\/\/www.vlive.tv\/oembed",
+ "schemes": [
+ "https:\/\/www.vlive.tv\/video\/*"
+ ],
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "Vlurb",
+ "provider_url": "https:\/\/www.vlurb.co\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/vlurb.co\/video\/*",
+ "https:\/\/vlurb.co\/video\/*"
+ ],
+ "url": "https:\/\/vlurb.co\/oembed.json",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "VoxSnap",
+ "provider_url": "https:\/\/voxsnap.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/article.voxsnap.com\/*\/*"
+ ],
+ "url": "https:\/\/data.voxsnap.com\/oembed",
+ "discovery": true,
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "wecandeo",
+ "provider_url": "http:\/\/www.wecandeo.com\/",
+ "endpoints": [
+ {
+ "url": "http:\/\/play.wecandeo.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Wiredrive",
+ "provider_url": "https:\/\/www.wiredrive.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.wiredrive.com\/*"
+ ],
+ "url": "http:\/\/*.wiredrive.com\/present-oembed\/",
+ "formats": [
+ "json"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Wistia, Inc.",
+ "provider_url": "https:\/\/wistia.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/fast.wistia.com\/embed\/iframe\/*",
+ "https:\/\/fast.wistia.com\/embed\/playlists\/*",
+ "https:\/\/*.wistia.com\/medias\/*"
+ ],
+ "url": "https:\/\/fast.wistia.com\/oembed.{format}",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "wizer.me",
+ "provider_url": "http:\/\/www.wizer.me\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.wizer.me\/learn\/*",
+ "https:\/\/*.wizer.me\/learn\/*",
+ "http:\/\/*.wizer.me\/preview\/*",
+ "https:\/\/*.wizer.me\/preview\/*"
+ ],
+ "url": "http:\/\/app.wizer.me\/api\/oembed.{format}",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Wootled",
+ "provider_url": "http:\/\/www.wootled.com\/",
+ "endpoints": [
+ {
+ "url": "http:\/\/www.wootled.com\/oembed"
+ }
+ ]
+ },
+ {
+ "provider_name": "WordPress.com",
+ "provider_url": "http:\/\/wordpress.com\/",
+ "endpoints": [
+ {
+ "url": "http:\/\/public-api.wordpress.com\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "Yes, I Know IT!",
+ "provider_url": "http:\/\/yesik.it",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/yesik.it\/*",
+ "http:\/\/www.yesik.it\/*"
+ ],
+ "url": "http:\/\/yesik.it\/s\/oembed",
+ "formats": [
+ "json"
+ ],
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "YFrog",
+ "provider_url": "http:\/\/yfrog.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "http:\/\/*.yfrog.com\/*",
+ "http:\/\/yfrog.us\/*"
+ ],
+ "url": "http:\/\/www.yfrog.com\/api\/oembed",
+ "formats": [
+ "json"
+ ]
+ }
+ ]
+ },
+ {
+ "provider_name": "YouTube",
+ "provider_url": "https:\/\/www.youtube.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.youtube.com\/watch*",
+ "https:\/\/*.youtube.com\/v\/*",
+ "https:\/\/youtu.be\/*"
+ ],
+ "url": "https:\/\/www.youtube.com\/oembed",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "ZnipeTV",
+ "provider_url": "https:\/\/www.znipe.tv\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/*.znipe.tv\/*"
+ ],
+ "url": "https:\/\/api.znipe.tv\/v3\/oembed\/",
+ "discovery": true
+ }
+ ]
+ },
+ {
+ "provider_name": "ZProvider",
+ "provider_url": "https:\/\/reports.zoho.com\/",
+ "endpoints": [
+ {
+ "schemes": [
+ "https:\/\/reports.zoho.com\/ZDBDataSheetView.cc?OBJID=1432535000000003002&STANDALONE=true&INTERVAL=120&DATATYPESYMBOL=false&REMTOOLBAR=false&SEARCHBOX=true&INCLUDETITLE=true&INCLUDEDESC=true&SHOWHIDEOPT=true"
+ ],
+ "url": "http:\/\/api.provider.com\/oembed.json",
+ "discovery": true
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/backend/src/schema/resolvers/embeds/scraper.js b/backend/src/schema/resolvers/embeds/scraper.js
new file mode 100644
index 000000000..607f7aeb9
--- /dev/null
+++ b/backend/src/schema/resolvers/embeds/scraper.js
@@ -0,0 +1,102 @@
+import Metascraper from 'metascraper'
+import fetch from 'node-fetch'
+import fs from 'fs'
+import path from 'path'
+
+import { ApolloError } from 'apollo-server'
+import isEmpty from 'lodash/isEmpty'
+import isArray from 'lodash/isArray'
+import mergeWith from 'lodash/mergeWith'
+
+const error = require('debug')('embed:error')
+
+const metascraper = Metascraper([
+ require('metascraper-author')(),
+ require('metascraper-date')(),
+ require('metascraper-description')(),
+ require('metascraper-image')(),
+ require('metascraper-lang')(),
+ require('metascraper-lang-detector')(),
+ require('metascraper-logo')(),
+ // require('metascraper-clearbit-logo')(),
+ require('metascraper-publisher')(),
+ require('metascraper-title')(),
+ require('metascraper-url')(),
+ require('metascraper-audio')(),
+ require('metascraper-soundcloud')(),
+ require('metascraper-video')(),
+ require('metascraper-youtube')(),
+
+ // require('./rules/metascraper-embed')()
+])
+
+let oEmbedProvidersFile = fs.readFileSync(path.join(__dirname, './providers.json'), 'utf8')
+
+// some providers allow a format parameter
+// we need JSON
+oEmbedProvidersFile = oEmbedProvidersFile.replace('{format}', 'json')
+
+const oEmbedProviders = JSON.parse(oEmbedProvidersFile)
+
+const fetchEmbed = async url => {
+ const provider = oEmbedProviders.find(provider => {
+ return provider.provider_url.includes(url.hostname)
+ })
+ if (!provider) return {}
+ const {
+ endpoints: [endpoint],
+ } = provider
+ const endpointUrl = new URL(endpoint.url)
+ endpointUrl.searchParams.append('url', url.href)
+ endpointUrl.searchParams.append('format', 'json')
+ let json
+ try {
+ const response = await fetch(endpointUrl)
+ json = await response.json()
+ } catch (err) {
+ error(`Error fetching embed data: ${err.message}`)
+ return {}
+ }
+
+ return {
+ type: json.type,
+ html: json.html,
+ author: json.author_name,
+ date: json.upload_date,
+ sources: ['oembed'],
+ }
+}
+
+const fetchResource = async url => {
+ const response = await fetch(url)
+ const html = await response.text()
+ const resource = await metascraper({ html, url: url.href })
+ return {
+ sources: ['resource'],
+ ...resource,
+ }
+}
+
+export default async function scrape(url) {
+ url = new URL(url)
+ if (url.hostname === 'youtu.be') {
+ // replace youtu.be to get proper results
+ url.hostname = 'youtube.com'
+ }
+
+ const [meta, embed] = await Promise.all([fetchResource(url), fetchEmbed(url)])
+ const output = mergeWith(meta, embed, (objValue, srcValue) => {
+ if (isArray(objValue)) {
+ return objValue.concat(srcValue)
+ }
+ })
+
+ if (isEmpty(output)) {
+ throw new ApolloError('Not found', 'NOT_FOUND')
+ }
+
+ return {
+ type: 'link',
+ ...output,
+ }
+}
diff --git a/backend/src/schema/resolvers/socialMedia.js b/backend/src/schema/resolvers/socialMedia.js
index 0bc03ea74..d28bc3fe1 100644
--- a/backend/src/schema/resolvers/socialMedia.js
+++ b/backend/src/schema/resolvers/socialMedia.js
@@ -3,14 +3,11 @@ import { neo4jgraphql } from 'neo4j-graphql-js'
export default {
Mutation: {
CreateSocialMedia: async (object, params, context, resolveInfo) => {
- /**
- * TODO?: Creates double Nodes!
- */
const socialMedia = await neo4jgraphql(object, params, context, resolveInfo, false)
const session = context.driver.session()
await session.run(
`MATCH (owner:User {id: $userId}), (socialMedia:SocialMedia {id: $socialMediaId})
- MERGE (socialMedia)<-[:OWNED]-(owner)
+ MERGE (socialMedia)<-[:OWNED]-(owner)
RETURN owner`,
{
userId: context.user.id,
@@ -26,5 +23,21 @@ export default {
return socialMedia
},
+ UpdateSocialMedia: async (object, params, context, resolveInfo) => {
+ const session = context.driver.session()
+ await session.run(
+ `MATCH (owner: User { id: $userId })-[:OWNED]->(socialMedia: SocialMedia { id: $socialMediaId })
+ SET socialMedia.url = $socialMediaUrl
+ RETURN owner`,
+ {
+ userId: context.user.id,
+ socialMediaId: params.id,
+ socialMediaUrl: params.url,
+ },
+ )
+ session.close()
+
+ return params
+ },
},
}
diff --git a/backend/src/schema/resolvers/socialMedia.spec.js b/backend/src/schema/resolvers/socialMedia.spec.js
index 7ec35a08f..af17dbb43 100644
--- a/backend/src/schema/resolvers/socialMedia.spec.js
+++ b/backend/src/schema/resolvers/socialMedia.spec.js
@@ -5,9 +5,26 @@ import { host, login, gql } from '../../jest/helpers'
const factory = Factory()
describe('SocialMedia', () => {
- let client
- let headers
- const mutationC = gql`
+ let client, headers, variables, mutation
+
+ const ownerParams = {
+ email: 'owner@example.com',
+ password: '1234',
+ id: '1234',
+ name: 'Pippi Langstrumpf',
+ }
+
+ const userParams = {
+ email: 'someuser@example.com',
+ password: 'abcd',
+ id: 'abcd',
+ name: 'Kalle Blomqvist',
+ }
+
+ const url = 'https://twitter.com/pippi-langstrumpf'
+ const newUrl = 'https://twitter.com/bullerby'
+
+ const createSocialMediaMutation = gql`
mutation($url: String!) {
CreateSocialMedia(url: $url) {
id
@@ -15,7 +32,15 @@ describe('SocialMedia', () => {
}
}
`
- const mutationD = gql`
+ const updateSocialMediaMutation = gql`
+ mutation($id: ID!, $url: String!) {
+ UpdateSocialMedia(id: $id, url: $url) {
+ id
+ url
+ }
+ }
+ `
+ const deleteSocialMediaMutation = gql`
mutation($id: ID!) {
DeleteSocialMedia(id: $id) {
id
@@ -24,92 +49,139 @@ describe('SocialMedia', () => {
}
`
beforeEach(async () => {
- await factory.create('User', {
- avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/jimmuirhead/128.jpg',
- id: 'acb2d923-f3af-479e-9f00-61b12e864666',
- name: 'Matilde Hermiston',
- slug: 'matilde-hermiston',
- role: 'user',
- email: 'test@example.org',
- password: '1234',
- })
+ await factory.create('User', userParams)
+ await factory.create('User', ownerParams)
})
afterEach(async () => {
await factory.cleanDatabase()
})
- describe('unauthenticated', () => {
- it('throws authorization error', async () => {
- client = new GraphQLClient(host)
- const variables = {
- url: 'http://nsosp.org',
- }
- await expect(client.request(mutationC, variables)).rejects.toThrow('Not Authorised')
+ describe('create social media', () => {
+ beforeEach(() => {
+ variables = { url }
+ mutation = createSocialMediaMutation
+ })
+
+ describe('unauthenticated', () => {
+ it('throws authorization error', async () => {
+ client = new GraphQLClient(host)
+ await expect(client.request(mutation, variables)).rejects.toThrow('Not Authorised')
+ })
+ })
+
+ describe('authenticated', () => {
+ beforeEach(async () => {
+ headers = await login(userParams)
+ client = new GraphQLClient(host, { headers })
+ })
+
+ it('creates social media with correct URL', async () => {
+ await expect(client.request(mutation, variables)).resolves.toEqual(
+ expect.objectContaining({
+ CreateSocialMedia: {
+ id: expect.any(String),
+ url: url,
+ },
+ }),
+ )
+ })
+
+ it('rejects empty string', async () => {
+ variables = { url: '' }
+
+ await expect(client.request(mutation, variables)).rejects.toThrow(
+ '"url" is not allowed to be empty',
+ )
+ })
+
+ it('rejects invalid URLs', async () => {
+ variables = { url: 'not-a-url' }
+
+ await expect(client.request(createSocialMediaMutation, variables)).rejects.toThrow(
+ '"url" must be a valid uri',
+ )
+ })
})
})
- describe('authenticated', () => {
+ describe('update social media', () => {
beforeEach(async () => {
- headers = await login({
- email: 'test@example.org',
- password: '1234',
- })
- client = new GraphQLClient(host, {
- headers,
- })
- })
+ headers = await login(ownerParams)
+ client = new GraphQLClient(host, { headers })
- it('creates social media with correct URL', async () => {
- const variables = {
- url: 'http://nsosp.org',
- }
- await expect(client.request(mutationC, variables)).resolves.toEqual(
- expect.objectContaining({
- CreateSocialMedia: {
- id: expect.any(String),
- url: 'http://nsosp.org',
- },
- }),
- )
- })
-
- it('deletes social media', async () => {
- const creationVariables = {
- url: 'http://nsosp.org',
- }
- const { CreateSocialMedia } = await client.request(mutationC, creationVariables)
+ const { CreateSocialMedia } = await client.request(createSocialMediaMutation, { url })
const { id } = CreateSocialMedia
- const deletionVariables = {
- id,
- }
- const expected = {
- DeleteSocialMedia: {
- id: id,
- url: 'http://nsosp.org',
- },
- }
- await expect(client.request(mutationD, deletionVariables)).resolves.toEqual(expected)
+ variables = { url: newUrl, id }
+ mutation = updateSocialMediaMutation
})
- it('rejects empty string', async () => {
- const variables = {
- url: '',
- }
- await expect(client.request(mutationC, variables)).rejects.toThrow(
- '"url" is not allowed to be empty',
- )
+ describe('unauthenticated', () => {
+ it('throws authorization error', async () => {
+ client = new GraphQLClient(host)
+ await expect(client.request(mutation, variables)).rejects.toThrow('Not Authorised')
+ })
})
- it('validates URLs', async () => {
- const variables = {
- url: 'not-a-url',
- }
+ describe('authenticated as other user', () => {
+ // TODO: make sure it throws an authorization error
+ })
- await expect(client.request(mutationC, variables)).rejects.toThrow(
- '"url" must be a valid uri',
- )
+ describe('authenticated as owner', () => {
+ it('updates social media', async () => {
+ const expected = { UpdateSocialMedia: { ...variables } }
+
+ await expect(client.request(mutation, variables)).resolves.toEqual(
+ expect.objectContaining(expected),
+ )
+ })
+
+ describe('given a non-existent id', () => {
+ // TODO: make sure it throws an error
+ })
+ })
+ })
+
+ describe('delete social media', () => {
+ beforeEach(async () => {
+ headers = await login(ownerParams)
+ client = new GraphQLClient(host, { headers })
+
+ const { CreateSocialMedia } = await client.request(createSocialMediaMutation, { url })
+ const { id } = CreateSocialMedia
+
+ variables = { id }
+ mutation = deleteSocialMediaMutation
+ })
+
+ describe('unauthenticated', () => {
+ it('throws authorization error', async () => {
+ client = new GraphQLClient(host)
+
+ await expect(client.request(mutation, variables)).rejects.toThrow('Not Authorised')
+ })
+ })
+
+ describe('authenticated as other user', () => {
+ // TODO: make sure it throws an authorization error
+ })
+
+ describe('authenticated as owner', () => {
+ beforeEach(async () => {
+ headers = await login(ownerParams)
+ client = new GraphQLClient(host, { headers })
+ })
+
+ it('deletes social media', async () => {
+ const expected = {
+ DeleteSocialMedia: {
+ id: variables.id,
+ url: url,
+ },
+ }
+ await expect(client.request(mutation, variables)).resolves.toEqual(expected)
+ })
})
})
})
diff --git a/backend/src/schema/resolvers/users.js b/backend/src/schema/resolvers/users.js
index 820688a1a..610f84ae1 100644
--- a/backend/src/schema/resolvers/users.js
+++ b/backend/src/schema/resolvers/users.js
@@ -2,6 +2,7 @@ import { neo4jgraphql } from 'neo4j-graphql-js'
import fileUpload from './fileUpload'
import { neode } from '../../bootstrap/neo4j'
import { UserInputError } from 'apollo-server'
+import { undefinedToNull } from '../helpers'
const instance = neode()
@@ -36,16 +37,6 @@ const count = obj => {
return resolvers
}
-const undefinedToNull = list => {
- const resolvers = {}
- list.forEach(key => {
- resolvers[key] = async (parent, params, context, resolveInfo) => {
- return typeof parent[key] === 'undefined' ? null : parent[key]
- }
- })
- return resolvers
-}
-
export const hasMany = obj => {
const resolvers = {}
for (const [key, connection] of Object.entries(obj)) {
diff --git a/backend/src/schema/types/embed.gql b/backend/src/schema/types/embed.gql
new file mode 100644
index 000000000..d59f696b2
--- /dev/null
+++ b/backend/src/schema/types/embed.gql
@@ -0,0 +1,19 @@
+type Embed {
+ type: String
+ title: String
+ author: String
+ publisher: String
+ date: String
+ description: String
+ url: String
+ image: String
+ audio: String
+ video: String
+ lang: String
+ html: String
+ sources: [String]
+}
+
+type Query {
+ embed(url: String!): Embed
+}
diff --git a/backend/yarn.lock b/backend/yarn.lock
index ac4de5313..1059095d7 100644
--- a/backend/yarn.lock
+++ b/backend/yarn.lock
@@ -2,10 +2,10 @@
# yarn lockfile v1
-"@apollographql/apollo-tools@^0.3.6":
- version "0.3.7"
- resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.3.7.tgz#3bc9c35b9fff65febd4ddc0c1fc04677693a3d40"
- integrity sha512-+ertvzAwzkYmuUtT8zH3Zi6jPdyxZwOgnYaZHY7iLnMVJDhQKWlkyjLMF8wyzlPiEdDImVUMm5lOIBZo7LkGlg==
+"@apollographql/apollo-tools@^0.4.0":
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.4.0.tgz#8a1a0ab7a0bb12ccc03b72e4a104cfa5d969fd5f"
+ integrity sha512-7wEO+S+zgz/wVe3ilFQqICufRBYYDSNUkd1V03JWvXuSydbYq2SM5EgvWmFF+04iadt+aQ0XCCsRzCzRPQODfQ==
dependencies:
apollo-env "0.5.1"
@@ -14,16 +14,16 @@
resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.24.tgz#3ce939cb127fb8aaa3ffc1e90dff9b8af9f2e3dc"
integrity sha512-8GqG48m1XqyXh4mIZrtB5xOhUwSsh1WsrrsaZQOEYYql3YN9DEu9OOSg0ILzXHZo/h2Q74777YE4YzlArQzQEQ==
-"@babel/cli@~7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.5.0.tgz#f403c930692e28ecfa3bf02a9e7562b474f38271"
- integrity sha512-qNH55fWbKrEsCwID+Qc/3JDPnsSGpIIiMDbppnR8Z6PxLAqMQCFNqBctkIkBrMH49Nx+qqVTrHRWUR+ho2k+qQ==
+"@babel/cli@~7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.5.5.tgz#bdb6d9169e93e241a08f5f7b0265195bf38ef5ec"
+ integrity sha512-UHI+7pHv/tk9g6WXQKYz+kmXTI77YtuY3vqC59KIqcoWEjsJJSG6rAxKaLsgj3LDyadsPrCB929gVOKM6Hui0w==
dependencies:
commander "^2.8.1"
convert-source-map "^1.1.0"
fs-readdir-recursive "^1.1.0"
glob "^7.0.0"
- lodash "^4.17.11"
+ lodash "^4.17.13"
mkdirp "^0.5.1"
output-file-sync "^2.0.0"
slash "^2.0.0"
@@ -31,52 +31,34 @@
optionalDependencies:
chokidar "^2.0.4"
-"@babel/code-frame@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
- integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
- dependencies:
- "@babel/highlight" "^7.0.0"
-
-"@babel/code-frame@^7.5.5":
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
dependencies:
"@babel/highlight" "^7.0.0"
-"@babel/core@^7.1.0", "@babel/core@~7.5.4":
- version "7.5.4"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.4.tgz#4c32df7ad5a58e9ea27ad025c11276324e0b4ddd"
- integrity sha512-+DaeBEpYq6b2+ZmHx3tHspC+ZRflrvLqwfv8E3hNr5LVQoyBnL8RPKSBCg+rK2W2My9PWlujBiqd0ZPsR9Q6zQ==
+"@babel/core@^7.1.0", "@babel/core@~7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30"
+ integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==
dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.5.0"
- "@babel/helpers" "^7.5.4"
- "@babel/parser" "^7.5.0"
+ "@babel/code-frame" "^7.5.5"
+ "@babel/generator" "^7.5.5"
+ "@babel/helpers" "^7.5.5"
+ "@babel/parser" "^7.5.5"
"@babel/template" "^7.4.4"
- "@babel/traverse" "^7.5.0"
- "@babel/types" "^7.5.0"
+ "@babel/traverse" "^7.5.5"
+ "@babel/types" "^7.5.5"
convert-source-map "^1.1.0"
debug "^4.1.0"
json5 "^2.1.0"
- lodash "^4.17.11"
+ lodash "^4.17.13"
resolve "^1.3.2"
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.0.0", "@babel/generator@^7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a"
- integrity sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA==
- dependencies:
- "@babel/types" "^7.5.0"
- jsesc "^2.5.1"
- lodash "^4.17.11"
- source-map "^0.5.0"
- trim-right "^1.0.1"
-
-"@babel/generator@^7.5.5":
+"@babel/generator@^7.0.0", "@babel/generator@^7.5.5":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf"
integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==
@@ -268,14 +250,14 @@
"@babel/traverse" "^7.1.0"
"@babel/types" "^7.2.0"
-"@babel/helpers@^7.5.4":
- version "7.5.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.4.tgz#2f00608aa10d460bde0ccf665d6dcf8477357cf0"
- integrity sha512-6LJ6xwUEJP51w0sIgKyfvFMJvIb9mWAfohJp0+m6eHJigkFdcH8duZ1sfhn0ltJRzwUIT/yqqhdSfRpCpL7oow==
+"@babel/helpers@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e"
+ integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==
dependencies:
"@babel/template" "^7.4.4"
- "@babel/traverse" "^7.5.0"
- "@babel/types" "^7.5.0"
+ "@babel/traverse" "^7.5.5"
+ "@babel/types" "^7.5.5"
"@babel/highlight@^7.0.0":
version "7.0.0"
@@ -298,12 +280,7 @@
node-environment-flags "^1.0.5"
v8flags "^3.1.1"
-"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.4", "@babel/parser@^7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7"
- integrity sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA==
-
-"@babel/parser@^7.5.5":
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b"
integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==
@@ -753,22 +730,7 @@
"@babel/parser" "^7.4.4"
"@babel/types" "^7.4.4"
-"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485"
- integrity sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.5.0"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.4.4"
- "@babel/parser" "^7.5.0"
- "@babel/types" "^7.5.0"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.11"
-
-"@babel/traverse@^7.5.5":
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb"
integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==
@@ -783,7 +745,7 @@
globals "^11.1.0"
lodash "^4.17.13"
-"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0", "@babel/types@^7.5.5":
+"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a"
integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==
@@ -983,6 +945,66 @@
"@types/istanbul-reports" "^1.1.1"
"@types/yargs" "^12.0.9"
+"@kamilkisiela/graphql-tools@4.0.6":
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/@kamilkisiela/graphql-tools/-/graphql-tools-4.0.6.tgz#6dcf4d18bedaf34f6ab1d5bad2414e530d0875d1"
+ integrity sha512-IPWa+dOFCE4zaCsrJrAMp7yWXnfOZLNhqoMEOmn958WkLM0mmsDc/W/Rh7/7xopIT6P0oizb6/N1iH5HnNXOUA==
+ dependencies:
+ apollo-link "^1.2.3"
+ apollo-utilities "^1.0.1"
+ deprecated-decorator "^0.1.6"
+ iterall "^1.1.3"
+ uuid "^3.1.0"
+
+"@metascraper/helpers@^4.10.2":
+ version "4.10.2"
+ resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-4.10.2.tgz#864e49c71468548441f3a1ab68fdb2913855821b"
+ integrity sha512-l2IyF2X4ytz5Mj/TaVenmjEhEZCCj+Qb1PnIbW10Kas/qg0O58x5hBAHsszkSWQSx/OvnDvT2Mpft77qcBa77g==
+ dependencies:
+ audio-extensions "0.0.0"
+ chrono-node "~1.3.11"
+ condense-whitespace "~1.0.0"
+ file-extension "~4.0.5"
+ image-extensions "~1.1.0"
+ is-relative-url "~2.0.0"
+ is-uri "~1.2.0"
+ iso-639-3 "~1.1.0"
+ isostring "0.0.1"
+ lodash "~4.17.11"
+ mime-types "~2.1.22"
+ normalize-url "~4.2.0"
+ smartquotes "~2.3.1"
+ title "~3.4.1"
+ truncate "~2.0.1"
+ 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"
+
"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
@@ -1036,6 +1058,18 @@
resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
+"@sindresorhus/is@^0.14.0":
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
+ integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
+
+"@szmarczak/http-timer@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
+ integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
+ dependencies:
+ defer-to-connect "^1.0.1"
+
"@types/accepts@^1.3.5":
version "1.3.5"
resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575"
@@ -1121,6 +1155,15 @@
"@types/express-serve-static-core" "*"
"@types/serve-static" "*"
+"@types/glob@7.1.1":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
+ integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
+ dependencies:
+ "@types/events" "*"
+ "@types/minimatch" "*"
+ "@types/node" "*"
+
"@types/istanbul-lib-coverage@*":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff"
@@ -1146,6 +1189,11 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
+"@types/json-schema@^7.0.3":
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636"
+ integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==
+
"@types/long@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef"
@@ -1156,6 +1204,11 @@
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b"
integrity sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==
+"@types/minimatch@*":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
+ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
+
"@types/node@*", "@types/node@^10.1.0":
version "10.12.18"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67"
@@ -1202,6 +1255,23 @@
resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d"
integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==
+"@typescript-eslint/experimental-utils@^1.13.0":
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e"
+ integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/typescript-estree" "1.13.0"
+ eslint-scope "^4.0.0"
+
+"@typescript-eslint/typescript-estree@1.13.0":
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e"
+ integrity sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==
+ dependencies:
+ lodash.unescape "4.0.1"
+ semver "5.5.0"
+
"@wry/context@^0.4.0":
version "0.4.0"
resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.4.0.tgz#8a8718408e4dd0514a0f8f4231bb4b87130b34e3"
@@ -1294,6 +1364,22 @@ activitystreams-context@>=3.0.0, activitystreams-context@^3.0.0:
resolved "https://registry.yarnpkg.com/activitystreams-context/-/activitystreams-context-3.1.0.tgz#28334e129f17cfb937e8c702c52c1bcb1d2830c7"
integrity sha512-KBQ+igwf1tezMXGVw5MvRSEm0gp97JI1hTZ45I6MEkWv25lEgNoA9L6wqfaOiCX8wnMRWw9pwRsPZKypdtxAtg==
+aggregate-error@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.0.tgz#5b5a3c95e9095f311c9ab16c19fb4f3527cd3f79"
+ integrity sha512-yKD9kEoJIR+2IFqhMwayIBgheLYbB3PS2OBhWae1L/ODTd/JF/30cW0bc9TqzRL3k4U41Dieu3BF4I29p8xesA==
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^3.2.0"
+
+aggregate-error@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-1.0.0.tgz#888344dad0220a72e3af50906117f48771925fac"
+ integrity sha1-iINE2tAiCnLjr1CQYRf0h3GSX6w=
+ dependencies:
+ clean-stack "^1.0.0"
+ indent-string "^3.0.0"
+
ajv@^6.10.0, ajv@^6.5.5, ajv@^6.9.1:
version "6.10.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
@@ -1336,7 +1422,12 @@ ansi-regex@^4.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9"
integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==
-ansi-styles@^3.2.0, ansi-styles@^3.2.1:
+ansi-regex@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
+ integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+
+ansi-styles@^3.1.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
@@ -1356,13 +1447,13 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-apollo-cache-control@0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.8.0.tgz#08b157e5f8cd86f63608b05d45222de0725ebd5a"
- integrity sha512-BBnfUmSWRws5dRSDD+R56RLJCE9v6xQuob+i/1Ju9EX4LZszU5JKVmxEvnkJ1bk/BkihjoQXTnP6fJCnt6fCmA==
+apollo-cache-control@0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.8.1.tgz#707c0b958c02c5b47ddf49a02f60ea88a64783fb"
+ integrity sha512-yQy5KB/OuX90PsdztWc4vfc4R//ZmW/AxNgXKWga0xW5OzEsysdJWHAsTzb40/rkJ9VNeQ+0N5wGikiS+jSCzg==
dependencies:
- apollo-server-env "2.4.0"
- graphql-extensions "0.8.0"
+ apollo-server-env "2.4.1"
+ graphql-extensions "0.8.1"
apollo-cache-inmemory@~1.6.2:
version "1.6.2"
@@ -1397,13 +1488,13 @@ apollo-client@~2.6.3:
tslib "^1.9.3"
zen-observable "^0.8.0"
-apollo-datasource@0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.6.0.tgz#823d6be8a3804613b5c56d2972c07db662293fc6"
- integrity sha512-DOzzYWEOReYRu2vWPKEulqlTb9Xjg67sjVCzve5MXa7GUXjfr8IKioljvfoBMlqm/PpbJVk2ci4n5NIFqoYsrQ==
+apollo-datasource@0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.6.1.tgz#697870f564da90bee53fa30d07875cb46c4d6b06"
+ integrity sha512-oy7c+9Up8PSZwJ1qTK9Idh1acDpIocvw+C0zcHg14ycvNz7qWHSwLUSaAjuQMd9SYFzB3sxfyEhyfyhIogT2+Q==
dependencies:
apollo-server-caching "0.5.0"
- apollo-server-env "2.4.0"
+ apollo-server-env "2.4.1"
apollo-engine-reporting-protobuf@0.4.0:
version "0.4.0"
@@ -1412,17 +1503,17 @@ apollo-engine-reporting-protobuf@0.4.0:
dependencies:
protobufjs "^6.8.6"
-apollo-engine-reporting@1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.4.0.tgz#3a9bd011b271593e16d7057044898d0a817b197d"
- integrity sha512-NMiO3h1cuEBt6QZNGHxivwuyZQnoU/2MMx0gUA8Gyy1ERBhK6P235qoMnvoi34rLmqJuyGPX6tXcab8MpMIzYQ==
+apollo-engine-reporting@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.4.2.tgz#f6c1e964c3c2c09bdb25c449f6b7ab05952ff459"
+ integrity sha512-Srw6Roqx38P82c5If6NmWdM/HVETLwcCGIl4x6a+DDcuPJl6n6ef+Sluoz4QAGrqQDJhMYk3jL9xOnEysgtonA==
dependencies:
apollo-engine-reporting-protobuf "0.4.0"
apollo-graphql "^0.3.3"
- apollo-server-env "2.4.0"
- apollo-server-types "0.2.0"
+ apollo-server-env "2.4.1"
+ apollo-server-types "0.2.1"
async-retry "^1.2.1"
- graphql-extensions "0.8.0"
+ graphql-extensions "0.8.2"
apollo-env@0.5.1:
version "0.5.1"
@@ -1492,27 +1583,25 @@ apollo-server-caching@0.5.0:
dependencies:
lru-cache "^5.0.0"
-apollo-server-core@2.7.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.7.0.tgz#c444347dea11149b5b453890506e43dc7e711257"
- integrity sha512-CXjXAkgcMBCJZpsZgfAY5W7f5thdxUhn75UgzeH28RTUZ2aKi/LjoCixPWRSF1lU4vuEWneAnM8Vg/KCD+29lQ==
+apollo-server-core@2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.8.0.tgz#0bfba3d5eb557c6ffa68ad60e77f69e2634e211d"
+ integrity sha512-Bilaaaol8c4mpF+8DatsAm+leKd0lbz1jS7M+WIuu8GscAXFzzfT6311dNC7zx0wT5FUNNdHdvQOry/lyCn5GA==
dependencies:
- "@apollographql/apollo-tools" "^0.3.6"
+ "@apollographql/apollo-tools" "^0.4.0"
"@apollographql/graphql-playground-html" "1.6.24"
"@types/ws" "^6.0.0"
- apollo-cache-control "0.8.0"
- apollo-datasource "0.6.0"
- apollo-engine-reporting "1.4.0"
- apollo-engine-reporting-protobuf "0.4.0"
+ apollo-cache-control "0.8.1"
+ apollo-datasource "0.6.1"
+ apollo-engine-reporting "1.4.2"
apollo-server-caching "0.5.0"
- apollo-server-env "2.4.0"
+ apollo-server-env "2.4.1"
apollo-server-errors "2.3.1"
- apollo-server-plugin-base "0.6.0"
- apollo-server-types "0.2.0"
- apollo-tracing "0.8.0"
+ apollo-server-plugin-base "0.6.1"
+ apollo-server-types "0.2.1"
+ apollo-tracing "0.8.1"
fast-json-stable-stringify "^2.0.0"
- graphql-extensions "0.8.0"
- graphql-subscriptions "^1.0.0"
+ graphql-extensions "0.9.0"
graphql-tag "^2.9.2"
graphql-tools "^4.0.0"
graphql-upload "^8.0.2"
@@ -1520,10 +1609,10 @@ apollo-server-core@2.7.0:
subscriptions-transport-ws "^0.9.11"
ws "^6.0.0"
-apollo-server-env@2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.4.0.tgz#6611556c6b627a1636eed31317d4f7ea30705872"
- integrity sha512-7ispR68lv92viFeu5zsRUVGP+oxsVI3WeeBNniM22Cx619maBUwcYTIC3+Y3LpXILhLZCzA1FASZwusgSlyN9w==
+apollo-server-env@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.4.1.tgz#58264ecfeb151919e0f480320b4e3769be9f18f3"
+ integrity sha512-J4G1Q6qyb7KjjqvQdVM5HUH3QDb52VK1Rv+MWL0rHcstJx9Fh/NK0sS+nujrMfKw57NVUs2d4KuYtl/EnW/txg==
dependencies:
node-fetch "^2.1.2"
util.promisify "^1.0.0"
@@ -1533,10 +1622,10 @@ apollo-server-errors@2.3.1:
resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.3.1.tgz#033cf331463ebb99a563f8354180b41ac6714eb6"
integrity sha512-errZvnh0vUQChecT7M4A/h94dnBSRL213dNxpM5ueMypaLYgnp4hiCTWIEaooo9E4yMGd1qA6WaNbLDG2+bjcg==
-apollo-server-express@2.7.0, apollo-server-express@^2.6.9:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.7.0.tgz#c19bf56c32473a76b1eb87237d713018984f838e"
- integrity sha512-TIOaLyuxD8xIECXjbPfS9HUWgHCKsG3rR4WuTpTreVEB08EsGeg+VcNGn0hmUnch18fPXTciBHWCv/fFV/YhMg==
+apollo-server-express@2.8.0, apollo-server-express@^2.7.2:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.8.0.tgz#3815eee2fccfc9cba6d232420fa7411cda062647"
+ integrity sha512-7dj4CVyOMz1HeVoF8nw3aKw7QV/5D6PACiweu6k9xPRHurYf0bj3ncYkAMPNnxIAwu1I8FzMn4/84BWoKJ7ZFg==
dependencies:
"@apollographql/graphql-playground-html" "1.6.24"
"@types/accepts" "^1.3.5"
@@ -1544,55 +1633,56 @@ apollo-server-express@2.7.0, apollo-server-express@^2.6.9:
"@types/cors" "^2.8.4"
"@types/express" "4.17.0"
accepts "^1.3.5"
- apollo-server-core "2.7.0"
- apollo-server-types "0.2.0"
+ apollo-server-core "2.8.0"
+ apollo-server-types "0.2.1"
body-parser "^1.18.3"
cors "^2.8.4"
graphql-subscriptions "^1.0.0"
graphql-tools "^4.0.0"
+ subscriptions-transport-ws "^0.9.16"
type-is "^1.6.16"
-apollo-server-plugin-base@0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.0.tgz#4186296ea5d52cfe613961d252a8a2f9e13e6ba6"
- integrity sha512-BjfyWpHyKwHOe819gk3wEFwbnVp9Xvos03lkkYTTcXS/8G7xO78aUcE65mmyAC56/ZQ0aodNFkFrhwNtWBQWUQ==
+apollo-server-plugin-base@0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.1.tgz#b9c209aa2102a26c6134f51bfa1e4a8307b63b11"
+ integrity sha512-gLLF0kz4QOOyczDGWuR2ZNDfa1nHfyFNG76ue8Es0/0ujnMT9KoSokXkx1hDh0X7FFTMj/MelYYoNEqgTH88zw==
dependencies:
- apollo-server-types "0.2.0"
+ apollo-server-types "0.2.1"
-apollo-server-testing@~2.7.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/apollo-server-testing/-/apollo-server-testing-2.7.0.tgz#df8f8fb0df85f9781b6822fc92ee36fdc039b024"
- integrity sha512-geBTK5T8mqZ2UOscC3oHQ/QoKMINLK+Mmq5ZfZe9UhmdXi+WqQ3/6B+3HMoQ7eQ7D6bNILe8b7N2EKuyUkePdg==
+apollo-server-testing@~2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-testing/-/apollo-server-testing-2.8.0.tgz#57c31575d51d13f09b5a14709c482b9d5986cf58"
+ integrity sha512-a+9OZcqNeeUkOGVDOfuSmrXsTu3LnG9NvfM/4H2XJBJWHzghiuU6xZV2yHetZSTLXsAvWw3To2j1g8+/A8Yqsg==
dependencies:
- apollo-server-core "2.7.0"
+ apollo-server-core "2.8.0"
-apollo-server-types@0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.2.0.tgz#270d7298f709fd8237ebfa48753249e5286df5f2"
- integrity sha512-5dgiyXsM90vnfmdXO1ixHvsLn0d9NP4tWufmr3ZmjKv00r4JAQNUaUdgOSGbRIKoHELQGwxUuTySTZ/tYfGaNQ==
+apollo-server-types@0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.2.1.tgz#553da40ea1ad779ef0390c250ddad7eb782fdf64"
+ integrity sha512-ls26d6jjY7x91ctLWtbpQHGW0lcFR1LcOpDvBQUC2aCwQzuW/6yV7F3hfcEdLR9pjIxcA4yAtFQcKf5olDWVkA==
dependencies:
apollo-engine-reporting-protobuf "0.4.0"
apollo-server-caching "0.5.0"
- apollo-server-env "2.4.0"
+ apollo-server-env "2.4.1"
-apollo-server@~2.7.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.7.0.tgz#6a326f06ed1c5cc4e57e1731b74ec92c79237889"
- integrity sha512-UKYROQqcwSgIjUEjaxAllRJQFTa3flPY+fV5Q0Kz2e3XE5QomEkuNBmO54IefIOr8LllhRU9246WmMHRuwun+w==
+apollo-server@~2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.8.0.tgz#c57261f02f9f2865778ad8e0cdb3c6a80307beb5"
+ integrity sha512-WtHbP8/C7WkFBCA44V2uTiyuefgqlVSAb6di4XcCPLyopcg9XGKHYRPyp5uOOKlMDTfryNqV59DWHn5/oXkZmQ==
dependencies:
- apollo-server-core "2.7.0"
- apollo-server-express "2.7.0"
+ apollo-server-core "2.8.0"
+ apollo-server-express "2.8.0"
express "^4.0.0"
graphql-subscriptions "^1.0.0"
graphql-tools "^4.0.0"
-apollo-tracing@0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.8.0.tgz#28cd9c61a4db12b2c24dad67fdedd309806c1650"
- integrity sha512-cNOtOlyZ56iJRsCjnxjM1V0SnQ2ZZttuyoeOejdat6llPfk5bfYTVOKMjdbSfDvU33LS9g9sqNJCT0MwrEPFKQ==
+apollo-tracing@0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.8.1.tgz#220aeac6ad598c67f9333739155b7a56bd63ccab"
+ integrity sha512-zhVNC7N6hg9IJEeSEXFDxcnXD5GJQAbHxaoKVBKEolcIIsz6EGd700ORdagJgFKLReVp9O65HPrZJCg66sVx7g==
dependencies:
- apollo-server-env "2.4.0"
- graphql-extensions "0.8.0"
+ apollo-server-env "2.4.1"
+ graphql-extensions "0.8.1"
apollo-utilities@1.3.2, apollo-utilities@^1.0.1, apollo-utilities@^1.3.0, apollo-utilities@^1.3.2:
version "1.3.2"
@@ -1609,6 +1699,11 @@ aproba@^1.0.3:
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+arch@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.1.tgz#8f5c2731aa35a30929221bb0640eed65175ec84e"
+ integrity sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==
+
are-we-there-yet@~1.1.2:
version "1.1.5"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
@@ -1617,6 +1712,11 @@ are-we-there-yet@~1.1.2:
delegates "^1.0.0"
readable-stream "^2.0.6"
+arg@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/arg/-/arg-1.0.0.tgz#444d885a4e25b121640b55155ef7cd03975d6050"
+ integrity sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==
+
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
@@ -1774,11 +1874,21 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+asyncro@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e"
+ integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==
+
atob@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+audio-extensions@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/audio-extensions/-/audio-extensions-0.0.0.tgz#d0eefe077fb9eb625898eed9985890548cf1f8d2"
+ integrity sha1-0O7+B3+562JYmO7ZmFiQVIzx+NI=
+
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
@@ -2079,6 +2189,19 @@ cache-base@^1.0.1:
union-value "^1.0.0"
unset-value "^1.0.0"
+cacheable-request@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
+ integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
+ dependencies:
+ clone-response "^1.0.2"
+ get-stream "^5.1.0"
+ http-cache-semantics "^4.0.0"
+ keyv "^3.0.0"
+ lowercase-keys "^2.0.0"
+ normalize-url "^4.1.0"
+ responselike "^1.0.2"
+
callsites@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3"
@@ -2132,6 +2255,15 @@ chai@~4.2.0:
pathval "^1.1.0"
type-detect "^4.0.5"
+chalk@2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
+ integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==
+ dependencies:
+ ansi-styles "^3.1.0"
+ escape-string-regexp "^1.0.5"
+ supports-color "^4.0.0"
+
chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -2151,7 +2283,12 @@ check-error@^1.0.2:
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
-cheerio@~1.0.0-rc.3:
+cheerio-advanced-selectors@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/cheerio-advanced-selectors/-/cheerio-advanced-selectors-2.0.1.tgz#fb5ec70a4599e8cec1cf669c6d9b90a3fa969c48"
+ integrity sha512-5wHR8bpiD5pdUtaS81A6hnJezzoDzL1TLWfK6bxnLkIgEKPV26BlOdMCcvuj3fTE7JSalsTUeNU7AOD/u6bYhw==
+
+cheerio@~1.0.0-rc.2, cheerio@~1.0.0-rc.3:
version "1.0.0-rc.3"
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6"
integrity sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==
@@ -2187,6 +2324,13 @@ chownr@^1.1.1:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
+chrono-node@~1.3.11:
+ version "1.3.11"
+ resolved "https://registry.yarnpkg.com/chrono-node/-/chrono-node-1.3.11.tgz#b86a26b7e3157edcc4fe3374e1b6f90caedc8e39"
+ integrity sha512-jDWRnY6nYvzfV3HPYBqo+tot7tcsUs9i3arGbMdI0TouPSXP2C2y/Ctp27rxKTQDi6yuTxAB2cw+Q6igGhOhdQ==
+ dependencies:
+ moment "2.21.0"
+
ci-info@^1.5.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
@@ -2207,6 +2351,21 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
+clean-stack@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31"
+ integrity sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=
+
+clean-stack@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.1.0.tgz#9e7fec7f3f8340a2ab4f127c80273085e8fbbdd0"
+ integrity sha512-uQWrpRm+iZZUCAp7ZZJQbd4Za9I3AjR/3YTjmcnAtkauaIm/T5CT6U8zVI6e60T6OANqBFAzuR9/HB3NzuZCRA==
+
+clean-stack@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.0.0.tgz#301bfa9e8dd2d3d984c0e542f7aa67b996f63e0a"
+ integrity sha512-VEoL9Qh7I8s8iHnV53DaeWSt8NJ0g3khMfK6NiCPB7H657juhro+cSw2O88uo3bo0c0X5usamtXk0/Of0wXa5A==
+
cli-boxes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
@@ -2234,6 +2393,14 @@ cli-width@^2.0.0:
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
+clipboardy@1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.2.2.tgz#2ce320b9ed9be1514f79878b53ff9765420903e2"
+ integrity sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==
+ dependencies:
+ arch "^2.1.0"
+ execa "^0.8.0"
+
cliui@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
@@ -2243,6 +2410,13 @@ cliui@^4.0.0:
strip-ansi "^4.0.0"
wrap-ansi "^2.0.0"
+clone-response@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
+ integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
+ dependencies:
+ mimic-response "^1.0.0"
+
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
@@ -2253,6 +2427,11 @@ code-point-at@^1.0.0:
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+collapse-white-space@^1.0.3:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a"
+ integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==
+
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
@@ -2317,6 +2496,16 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+condense-whitespace@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-1.0.0.tgz#8376d98ef028e6cb2cd2468e28ce42c5c65ab1a9"
+ integrity sha1-g3bZjvAo5sss0kaOKM5CxcZasak=
+
+condense-whitespace@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-2.0.0.tgz#94e9644938f66aa7be4b8849f8f0b3cec97d6b3a"
+ integrity sha512-Ath9o58/0rxZXbyoy3zZgrVMoIemi30sukG/btuMKCLyqfQt3dNOWc9N3EHEMa2Q3i0tXQPDJluYFLwy7pJuQw==
+
configstore@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
@@ -2346,10 +2535,10 @@ content-disposition@0.5.3:
dependencies:
safe-buffer "5.1.2"
-content-security-policy-builder@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/content-security-policy-builder/-/content-security-policy-builder-2.0.0.tgz#8749a1d542fcbe82237281ea9f716ce68b394dd2"
- integrity sha512-j+Nhmj1yfZAikJLImCvPJFE29x/UuBi+/MWqggGGc515JKaZrjuei2RhULJmy0MsstW3E3htl002bwmBNMKr7w==
+content-security-policy-builder@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/content-security-policy-builder/-/content-security-policy-builder-2.1.0.tgz#0a2364d769a3d7014eec79ff7699804deb8cfcbb"
+ integrity sha512-/MtLWhJVvJNkA9dVLAp6fg9LxD2gfI6R2Fi1hPmfjYXSahJJzcfvoeDOxSyp4NvxMuwWv3WMssE9o31DoULHrQ==
content-type@~1.0.4:
version "1.0.4"
@@ -2443,6 +2632,14 @@ cross-fetch@2.2.2:
node-fetch "2.1.2"
whatwg-fetch "2.0.4"
+cross-fetch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.4.tgz#7bef7020207e684a7638ef5f2f698e24d9eb283c"
+ integrity sha512-MSHgpjQqgbT/94D4CyADeNoYh52zMkCX4pcJvPP5WqPsLFMKjr2TCMg381ox5qI0ii2dPwaLx/00477knXqXVw==
+ dependencies:
+ node-fetch "2.6.0"
+ whatwg-fetch "3.0.0"
+
cross-spawn@^5.0.1:
version "5.1.0"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
@@ -2570,10 +2767,10 @@ data-urls@^1.0.0:
whatwg-mimetype "^2.2.0"
whatwg-url "^7.0.0"
-date-fns@2.0.0-beta.1:
- version "2.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.0-beta.1.tgz#6f3209ea8be559211be5160e0a6379a7eade227b"
- integrity sha512-ls5W/PUZmrtck53HD3Sd0564NlnNoQtcxNCwWcIzULJMNNgAPVKHoylVXPau7vdyu5/JTd25ljtan+iWnnUKkw==
+date-fns@2.0.0-beta.3:
+ version "2.0.0-beta.3"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.0-beta.3.tgz#2e28f5af945930f774ddd778e184d68227101d55"
+ integrity sha512-z5O262BvHPhwUvA1weXH+AZodygnZUcORERw8hjwBUrRPGrAo2e/rjXfC8Ykf1OGJZGDuLnK/WXbEZBIc0exGQ==
debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
@@ -2606,6 +2803,13 @@ decode-uri-component@^0.2.0:
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+decompress-response@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
+ integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
+ dependencies:
+ mimic-response "^1.0.0"
+
deep-eql@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
@@ -2623,12 +2827,17 @@ deep-is@~0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-deepmerge@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170"
- integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==
+deepmerge@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz#3e3110ca29205f120d7cb064960a39c3d2087c09"
+ integrity sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww==
-define-properties@^1.1.2:
+defer-to-connect@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e"
+ integrity sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==
+
+define-properties@^1.1.2, define-properties@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
@@ -2869,6 +3078,11 @@ entities@^1.1.1, entities@~1.1.1:
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
+entities@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4"
+ integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==
+
error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -2883,18 +3097,7 @@ error-stack-parser@^2.0.1:
dependencies:
stackframe "^1.0.4"
-es-abstract@^1.4.3:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
- integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==
- dependencies:
- es-to-primitive "^1.1.1"
- function-bind "^1.1.1"
- has "^1.0.1"
- is-callable "^1.1.3"
- is-regex "^1.0.4"
-
-es-abstract@^1.5.1, es-abstract@^1.7.0:
+es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
@@ -2906,6 +3109,17 @@ es-abstract@^1.5.1, es-abstract@^1.7.0:
is-regex "^1.0.4"
object-keys "^1.0.12"
+es-abstract@^1.4.3:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
+ integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==
+ dependencies:
+ es-to-primitive "^1.1.1"
+ function-bind "^1.1.1"
+ has "^1.0.1"
+ is-callable "^1.1.3"
+ is-regex "^1.0.4"
+
es-to-primitive@^1.1.1, es-to-primitive@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
@@ -3014,10 +3228,10 @@ eslint-plugin-es@^1.4.0:
eslint-utils "^1.3.0"
regexpp "^2.0.1"
-eslint-plugin-import@~2.18.0:
- version "2.18.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.0.tgz#7a5ba8d32622fb35eb9c8db195c2090bd18a3678"
- integrity sha512-PZpAEC4gj/6DEMMoU2Df01C5c50r7zdGIN52Yfi7CvvWaYssG7Jt5R9nFG5gmqodxNOz9vQS87xk6Izdtpdrig==
+eslint-plugin-import@~2.18.2:
+ version "2.18.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6"
+ integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==
dependencies:
array-includes "^3.0.3"
contains-path "^0.1.0"
@@ -3026,15 +3240,17 @@ eslint-plugin-import@~2.18.0:
eslint-import-resolver-node "^0.3.2"
eslint-module-utils "^2.4.0"
has "^1.0.3"
- lodash "^4.17.11"
minimatch "^3.0.4"
+ object.values "^1.1.0"
read-pkg-up "^2.0.0"
resolve "^1.11.0"
-eslint-plugin-jest@~22.11.1:
- version "22.11.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.11.1.tgz#04b586e2fddd07e55900a381255d6b3d9242ae87"
- integrity sha512-kPF1Nmr5xMLz6DT7qEttz0TTeyx1x6SozIkNO9y4F2yxuWjHMp/e70fo742pR3y0MewgXQQMIIXeSKLB66iO7Q==
+eslint-plugin-jest@~22.14.0:
+ version "22.14.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.14.0.tgz#f9b09837f665cfe360b55c08866904255294cc16"
+ integrity sha512-Xtc9ZTtxdYFC7vu0PHxDeQ9lOMQ8gjwMmSQq/ni83TdflgL3eVh/qg3t99I7gcDxpeXfcp+lHu9C0vN3QAhATw==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "^1.13.0"
eslint-plugin-node@~9.1.0:
version "9.1.0"
@@ -3073,7 +3289,7 @@ eslint-scope@3.7.1:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-scope@^4.0.3:
+eslint-scope@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
@@ -3081,6 +3297,14 @@ eslint-scope@^4.0.3:
esrecurse "^4.1.0"
estraverse "^4.1.1"
+eslint-scope@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
+ integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
eslint-utils@^1.3.0, eslint-utils@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
@@ -3091,10 +3315,10 @@ eslint-visitor-keys@^1.0.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
-eslint@~6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.0.1.tgz#4a32181d72cb999d6f54151df7d337131f81cda7"
- integrity sha512-DyQRaMmORQ+JsWShYsSg4OPTjY56u1nCjAmICrE8vLWqyLKxhFXOthwMj1SA8xwfrv0CofLNVnqbfyhwCkaO0w==
+eslint@~6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.1.0.tgz#06438a4a278b1d84fb107d24eaaa35471986e646"
+ integrity sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ==
dependencies:
"@babel/code-frame" "^7.0.0"
ajv "^6.10.0"
@@ -3102,7 +3326,7 @@ eslint@~6.0.1:
cross-spawn "^6.0.5"
debug "^4.0.1"
doctrine "^3.0.0"
- eslint-scope "^4.0.3"
+ eslint-scope "^5.0.0"
eslint-utils "^1.3.1"
eslint-visitor-keys "^1.0.0"
espree "^6.0.0"
@@ -3110,28 +3334,29 @@ eslint@~6.0.1:
esutils "^2.0.2"
file-entry-cache "^5.0.1"
functional-red-black-tree "^1.0.1"
- glob-parent "^3.1.0"
+ glob-parent "^5.0.0"
globals "^11.7.0"
ignore "^4.0.6"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
- inquirer "^6.2.2"
+ inquirer "^6.4.1"
is-glob "^4.0.0"
js-yaml "^3.13.1"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.3.0"
- lodash "^4.17.11"
+ lodash "^4.17.14"
minimatch "^3.0.4"
mkdirp "^0.5.1"
natural-compare "^1.4.0"
optionator "^0.8.2"
progress "^2.0.0"
regexpp "^2.0.1"
- semver "^5.5.1"
- strip-ansi "^4.0.0"
- strip-json-comments "^2.0.1"
+ semver "^6.1.2"
+ strip-ansi "^5.2.0"
+ strip-json-comments "^3.0.1"
table "^5.2.3"
text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
espree@^6.0.0:
version "6.0.0"
@@ -3204,6 +3429,19 @@ execa@^0.7.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
+execa@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
+ integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=
+ dependencies:
+ cross-spawn "^5.0.1"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
execa@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
@@ -3396,6 +3634,11 @@ file-entry-cache@^5.0.1:
dependencies:
flat-cache "^2.0.1"
+file-extension@~4.0.5:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/file-extension/-/file-extension-4.0.5.tgz#ae6cef34c28e7313a92baa4aa955755cacdf0ce3"
+ integrity sha512-l0rOL3aKkoi6ea7MNZe6OHgqYYpn48Qfflr8Pe9G9JPPTx5A+sfboK91ZufzIs59/lPqh351l0eb6iKU9J5oGg==
+
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
@@ -3502,6 +3745,13 @@ frameguard@3.1.0:
resolved "https://registry.yarnpkg.com/frameguard/-/frameguard-3.1.0.tgz#bd1442cca1d67dc346a6751559b6d04502103a22"
integrity sha512-TxgSKM+7LTA6sidjOiSZK9wxY0ffMPY3Wta//MqwmX0nZuEHc8QrkV8Fh3ZhMJeiH+Uyh/tcaarImRy8u77O7g==
+franc@~4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/franc/-/franc-4.0.0.tgz#365951bc787b92ffbb1c63c1c492d6b76cbd3a56"
+ integrity sha512-4991aLWY5sLg2fsyiOPflUjye5XBKyUO4V9O4FTBbQ7xKugvnmP9x3m3LlrpD7kq1BebMThNkEXnK52HaU3ZkQ==
+ dependencies:
+ trigram-utils "^1.0.0"
+
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
@@ -3571,6 +3821,11 @@ get-func-name@^2.0.0:
resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
+get-src@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/get-src/-/get-src-1.0.1.tgz#ca11dbe4a93c7f3aa85cec95fcb0b2dfaa9539ee"
+ integrity sha1-yhHb5Kk8fzqoXOyV/LCy36qVOe4=
+
get-stdin@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
@@ -3581,18 +3836,32 @@ get-stream@^3.0.0:
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
-get-stream@^4.0.0:
+get-stream@^4.0.0, get-stream@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
dependencies:
pump "^3.0.0"
+get-stream@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
+ integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
+ dependencies:
+ pump "^3.0.0"
+
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
+get-video-id@~3.1.1:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/get-video-id/-/get-video-id-3.1.4.tgz#9bffb8b607aa0379f0f8a927eae7df13b5e414a3"
+ integrity sha512-XOZ60NZ60ozTtoWtPPpA3TC9JgDXgcd5nTfYwjBhZWAx3w48HRq6EqKp2bUJ/3F+BWgiMMHg4IkQ+acO6LxfMQ==
+ dependencies:
+ get-src "^1.0.1"
+
getpass@^0.1.1:
version "0.1.7"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
@@ -3613,10 +3882,17 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
-glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
- version "7.1.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
- integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
+glob-parent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954"
+ integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob@7.1.4, glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
+ integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -3654,6 +3930,23 @@ got@^6.7.1:
unzip-response "^2.0.1"
url-parse-lax "^1.0.0"
+got@^9.3.2, got@~9.6.0:
+ version "9.6.0"
+ resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
+ integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
+ dependencies:
+ "@sindresorhus/is" "^0.14.0"
+ "@szmarczak/http-timer" "^1.1.2"
+ cacheable-request "^6.0.0"
+ decompress-response "^3.3.0"
+ duplexer3 "^0.1.4"
+ get-stream "^4.1.0"
+ lowercase-keys "^1.0.1"
+ mimic-response "^1.0.1"
+ p-cancelable "^1.0.0"
+ to-readable-stream "^1.0.0"
+ url-parse-lax "^3.0.0"
+
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2:
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
@@ -3683,26 +3976,52 @@ graphql-custom-directives@~0.2.14:
moment "^2.22.2"
numeral "^2.0.6"
-graphql-extensions@0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.8.0.tgz#b3fe7915aa84eef5a39135840840cc4d2e700c46"
- integrity sha512-zV9RefkusIXqi9ZJtl7IJ5ecjDKdb7PLAb5E3CmxX3OK1GwNCIubp0vE7Fp4fXlCUKgTB1Woubs0zj71JT8o0A==
+graphql-extensions@0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.8.1.tgz#f5f1fed5fe49620c4e70c5d08bdbd0039e91c402"
+ integrity sha512-d/L4x7/PPWhviJqi7jIWOVJPzfzagYgPizSQUpa+3hozbWhwpWEnfxwgL5/If5MnPUikBnqlkOLCyjHMNdipYA==
dependencies:
- "@apollographql/apollo-tools" "^0.3.6"
- apollo-server-env "2.4.0"
- apollo-server-types "0.2.0"
+ "@apollographql/apollo-tools" "^0.4.0"
+ apollo-server-env "2.4.1"
+ apollo-server-types "0.2.1"
+
+graphql-extensions@0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.8.2.tgz#071f29b111b16b359eb9994b0a036bdeec106492"
+ integrity sha512-d0nbxMfMe7wxdsVdCn0OBx2rX0sbcIjo9TOud38i9OgNa9eeS23OxbNfe+ezTCkEvSVqgPzpy5DAOvM4HNDV4Q==
+ dependencies:
+ "@apollographql/apollo-tools" "^0.4.0"
+ apollo-server-env "2.4.1"
+ apollo-server-types "0.2.1"
+
+graphql-extensions@0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.9.0.tgz#88fb3b161f84a92f4a9032b2941919113600635d"
+ integrity sha512-0GQjQ2t2Nkg9OIk3eS5jcvQLzFkJtVB73t4AnEl7bejPwwShtY37XzE7mOlfof1OqbvRKvKFoks+wSjus2Fhzw==
+ dependencies:
+ "@apollographql/apollo-tools" "^0.4.0"
+ apollo-server-env "2.4.1"
+ apollo-server-types "0.2.1"
+
+graphql-import@0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223"
+ integrity sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw==
+ dependencies:
+ lodash "^4.17.4"
+ resolve-from "^4.0.0"
graphql-iso-date@~3.6.1:
version "3.6.1"
resolved "https://registry.yarnpkg.com/graphql-iso-date/-/graphql-iso-date-3.6.1.tgz#bd2d0dc886e0f954cbbbc496bbf1d480b57ffa96"
integrity sha512-AwFGIuYMJQXOEAgRlJlFL4H1ncFM8n8XmoVDTNypNOZyQ8LFDG2ppMFlsS862BSTCDcSUfHp8PD3/uJhv7t59Q==
-graphql-middleware@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/graphql-middleware/-/graphql-middleware-3.0.2.tgz#c8cdb67615eec02aec237b455e679f5fc973ddc4"
- integrity sha512-sRqu1sF+77z42z1OVM1QDHKQWnWY5K3nAgqWiZwx3U4tqNZprrDuXxSChPMliV343IrVkpYdejUYq9w24Ot3FA==
+graphql-middleware@~3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/graphql-middleware/-/graphql-middleware-3.0.3.tgz#58cbce80892fb933d72794447f33f978fc743aa5"
+ integrity sha512-Os8Vt25MqqwIPJUCCcHznzs6EqarGmM0kkNPUiDnMEkX6vqjA+HugCWatinP+7+fqBqecFUsJmoL4ZypdqZZkg==
dependencies:
- graphql-tools "^4.0.4"
+ graphql-tools "^4.0.5"
graphql-request@~1.8.2:
version "1.8.2"
@@ -3733,10 +4052,29 @@ graphql-tag@^2.9.2, graphql-tag@~2.10.1:
resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.1.tgz#10aa41f1cd8fae5373eaf11f1f67260a3cad5e02"
integrity sha512-jApXqWBzNXQ8jYa/HLkZJaVw9jgwNqZkywa2zfFn16Iv1Zb7ELNHkJaXHR7Quvd5SIGsy6Ny7SUKATgnu05uEg==
-graphql-tools@^4.0.0, graphql-tools@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.4.tgz#ca08a63454221fdde825fe45fbd315eb2a6d566b"
- integrity sha512-chF12etTIGVVGy3fCTJ1ivJX2KB7OSG4c6UOJQuqOHCmBQwTyNgCDuejZKvpYxNZiEx7bwIjrodDgDe9RIkjlw==
+graphql-toolkit@0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/graphql-toolkit/-/graphql-toolkit-0.4.1.tgz#f5a9fa225b51168dd0d0558dc59e8fc3d379e9b1"
+ integrity sha512-asTRlNn0381f6/wVp8F0X2vsz8GJnv4TX+KNHg1k8Ybe6Ii5HBreJTxBHJ7GXlNDhj5MGCNi09nt8Oe7Ategrg==
+ dependencies:
+ "@kamilkisiela/graphql-tools" "4.0.6"
+ "@types/glob" "7.1.1"
+ aggregate-error "3.0.0"
+ asyncro "^3.0.0"
+ cross-fetch "^3.0.4"
+ deepmerge "4.0.0"
+ glob "7.1.4"
+ graphql-import "0.7.1"
+ is-glob "4.0.1"
+ is-valid-path "0.1.1"
+ lodash "4.17.15"
+ tslib "^1.9.3"
+ valid-url "1.0.9"
+
+graphql-tools@^4.0.0, graphql-tools@^4.0.4, graphql-tools@^4.0.5:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.5.tgz#d2b41ee0a330bfef833e5cdae7e1f0b0d86b1754"
+ integrity sha512-kQCh3IZsMqquDx7zfIGWBau42xe46gmqabwYkpPlCLIjcEY1XK+auP7iGRD9/205BPyoQdY8hT96MPpgERdC9Q==
dependencies:
apollo-link "^1.2.3"
apollo-utilities "^1.0.1"
@@ -3790,6 +4128,11 @@ har-validator@~5.1.0:
ajv "^6.5.5"
har-schema "^2.0.0"
+has-flag@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+ integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
+
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -3836,6 +4179,13 @@ has-values@^1.0.0:
is-number "^3.0.0"
kind-of "^4.0.0"
+has-values@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-2.0.1.tgz#3876200ff86d8a8546a9264a952c17d5fc17579d"
+ integrity sha512-+QdH3jOmq9P8GfdjFg0eJudqx1FqU62NQJ4P16rOEHeRdl7ckgwn6uqQjzYE0ZoHVV/e5E2esuJ5Gl5+HUW19w==
+ dependencies:
+ kind-of "^6.0.2"
+
has@^1.0.1, has@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
@@ -3861,20 +4211,20 @@ helmet-crossdomain@0.4.0:
resolved "https://registry.yarnpkg.com/helmet-crossdomain/-/helmet-crossdomain-0.4.0.tgz#5f1fe5a836d0325f1da0a78eaa5fd8429078894e"
integrity sha512-AB4DTykRw3HCOxovD1nPR16hllrVImeFp5VBV9/twj66lJ2nU75DP8FPL0/Jp4jj79JhTfG+pFI2MD02kWJ+fA==
-helmet-csp@2.7.1:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/helmet-csp/-/helmet-csp-2.7.1.tgz#e8e0b5186ffd4db625cfcce523758adbfadb9dca"
- integrity sha512-sCHwywg4daQ2mY0YYwXSZRsgcCeerUwxMwNixGA7aMLkVmPTYBl7gJoZDHOZyXkqPrtuDT3s2B1A+RLI7WxSdQ==
+helmet-csp@2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/helmet-csp/-/helmet-csp-2.8.0.tgz#746d329e24ef39c4ebc00278a48abd3c209e0378"
+ integrity sha512-MlCPeM0Sm3pS9RACRihx70VeTHmkQwa7sum9EK1tfw1VZyvFU0dBWym9nHh3CRkTRNlyNm/WFCMvuh9zXkOjNw==
dependencies:
camelize "1.0.0"
- content-security-policy-builder "2.0.0"
+ content-security-policy-builder "2.1.0"
dasherize "2.0.0"
platform "1.3.5"
-helmet@~3.19.0:
- version "3.19.0"
- resolved "https://registry.yarnpkg.com/helmet/-/helmet-3.19.0.tgz#02c524dd69e03b0af20dce7bc9929ff951081a29"
- integrity sha512-l58Q3unSpYatlurvFzkCbTRQ8oWUmdXbOs7h+pnwQbFJRhRJDjER6UMyqHxp9iFtWPcVA05VLcUGSi0EXIv7GA==
+helmet@~3.20.0:
+ version "3.20.0"
+ resolved "https://registry.yarnpkg.com/helmet/-/helmet-3.20.0.tgz#8a9383bf8230a461cafe8bc763423fbde110d2fc"
+ integrity sha512-Ob+TqmQFZ5f7WgP8kBbAzNPsbf6p1lOj5r+327/ymw/IILWih3wcx9u/u/S8Mwv5wbBkO7Li6x5s23t3COhUKw==
dependencies:
depd "2.0.0"
dns-prefetch-control "0.2.0"
@@ -3883,7 +4233,7 @@ helmet@~3.19.0:
feature-policy "0.3.0"
frameguard "3.1.0"
helmet-crossdomain "0.4.0"
- helmet-csp "2.7.1"
+ helmet-csp "2.8.0"
hide-powered-by "1.1.0"
hpkp "2.0.0"
hsts "2.2.0"
@@ -3950,6 +4300,11 @@ htmlparser2@^3.10.0, htmlparser2@^3.9.1:
inherits "^2.0.1"
readable-stream "^3.0.6"
+http-cache-semantics@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5"
+ integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==
+
http-errors@1.7.2, http-errors@^1.7.2, http-errors@~1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
@@ -4004,6 +4359,11 @@ ignore@^5.1.1:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.1.tgz#2fc6b8f518aff48fef65a7f348ed85632448e4a5"
integrity sha512-DWjnQIFLenVrwyRCKZT+7a7/U4Cqgar4WG8V++K3hw+lrW1hc/SIwdiGmtxKCVACmHULTuGeBbHJmbwW7/sAvA==
+image-extensions@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/image-extensions/-/image-extensions-1.1.0.tgz#b8e6bf6039df0056e333502a00b6637a3105d894"
+ integrity sha1-uOa/YDnfAFbjM1AqALZjejEF2JQ=
+
import-fresh@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390"
@@ -4030,7 +4390,7 @@ imurmurhash@^0.1.4:
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
-indent-string@^3.1.0:
+indent-string@^3.0.0, indent-string@^3.1.0, indent-string@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=
@@ -4058,10 +4418,10 @@ ini@^1.3.4, ini@~1.3.0:
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
-inquirer@^6.2.2:
- version "6.2.2"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406"
- integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==
+inquirer@^6.4.1:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42"
+ integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==
dependencies:
ansi-escapes "^3.2.0"
chalk "^2.4.2"
@@ -4069,12 +4429,12 @@ inquirer@^6.2.2:
cli-width "^2.0.0"
external-editor "^3.0.3"
figures "^2.0.0"
- lodash "^4.17.11"
+ lodash "^4.17.12"
mute-stream "0.0.7"
run-async "^2.2.0"
rxjs "^6.4.0"
string-width "^2.1.0"
- strip-ansi "^5.0.0"
+ strip-ansi "^5.1.0"
through "^2.3.6"
insane@2.6.1:
@@ -4097,11 +4457,31 @@ invert-kv@^2.0.0:
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
+ip-regex@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd"
+ integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=
+
+ip-regex@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455"
+ integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA==
+
ipaddr.js@1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65"
integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==
+is-absolute-url@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
+ integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
+
+is-absolute-url@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.0.tgz#eb21d69df2ed8ef72a3e6f243e216563036a0913"
+ integrity sha512-3OkP8XrM2Xq4/IxsJnClfMp3OaM3TAatLPLKPeWcxLBTrpe6hihwtX+XZfJTcXg/FTRi4qjy0y/C5qiyNxY24g==
+
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
@@ -4208,6 +4588,11 @@ is-extendable@^1.0.1:
dependencies:
is-plain-object "^2.0.4"
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+ integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
+
is-extglob@^2.1.0, is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -4235,6 +4620,20 @@ is-generator@^1.0.2:
resolved "https://registry.yarnpkg.com/is-generator/-/is-generator-1.0.3.tgz#c14c21057ed36e328db80347966c693f886389f3"
integrity sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=
+is-glob@4.0.1, is-glob@^4.0.0, is-glob@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
+ integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-glob@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
+ dependencies:
+ is-extglob "^1.0.0"
+
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
@@ -4242,13 +4641,6 @@ is-glob@^3.1.0:
dependencies:
is-extglob "^2.1.0"
-is-glob@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0"
- integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=
- dependencies:
- is-extglob "^2.1.1"
-
is-installed-globally@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80"
@@ -4257,6 +4649,13 @@ is-installed-globally@^0.1.0:
global-dirs "^0.1.0"
is-path-inside "^1.0.0"
+is-invalid-path@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-invalid-path/-/is-invalid-path-0.1.0.tgz#307a855b3cf1a938b44ea70d2c61106053714f34"
+ integrity sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=
+ dependencies:
+ is-glob "^2.0.0"
+
is-npm@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
@@ -4293,11 +4692,31 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
+is-port-reachable@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-port-reachable/-/is-port-reachable-2.0.1.tgz#e0778d0733beac1ade3ba72a5fe77db50a59926b"
+ integrity sha512-SqU55C5gkitgOhl2ccd2v23MbkbcOFa5e4aPo8h8VGqOifh7iDwG44bQBWGW/lZulTjl9AWIKP0NiUWpa+TtWA==
+
is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
+is-reachable@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-reachable/-/is-reachable-3.0.0.tgz#73ac3e3ff1d77af49b1dcd8d02a4bcf2721a4cec"
+ integrity sha512-bviQzO/xMpY1HV/4vLdLQ2waQu8D9elkNZTKsA1UOlWytU7XnLKP8Yn6GOkoZ52VEiwCCkj7biBhKGbgjtyDRg==
+ dependencies:
+ arrify "^1.0.1"
+ got "^9.3.2"
+ is-port-reachable "^2.0.0"
+ p-any "^1.1.0"
+ p-timeout "^2.0.1"
+ port-numbers "^4.0.4"
+ prepend-http "^2.0.0"
+ router-ips "^1.0.0"
+ url-parse "^1.4.4"
+
is-redirect@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
@@ -4310,6 +4729,20 @@ is-regex@^1.0.4:
dependencies:
has "^1.0.1"
+is-relative-url@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-2.0.0.tgz#72902d7fe04b3d4792e7db15f9db84b7204c9cef"
+ integrity sha1-cpAtf+BLPUeS59sV+duEtyBMnO8=
+ dependencies:
+ is-absolute-url "^2.0.0"
+
+is-relative-url@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-3.0.0.tgz#f623c8e26baa5bd3742b3b7ec074f50f3b45b3f3"
+ integrity sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==
+ dependencies:
+ is-absolute-url "^3.0.0"
+
is-retry-allowed@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
@@ -4332,6 +4765,21 @@ is-typedarray@~1.0.0:
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+is-uri@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/is-uri/-/is-uri-1.2.0.tgz#b92ff234af68c0ed97d2eed46492d01793b7d420"
+ integrity sha1-uS/yNK9owO2X0u7UZJLQF5O31CA=
+ dependencies:
+ parse-uri "~1.0.0"
+ punycode2 "~1.0.0"
+
+is-valid-path@0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-valid-path/-/is-valid-path-0.1.1.tgz#110f9ff74c37f663e1ec7915eb451f2db93ac9df"
+ integrity sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=
+ dependencies:
+ is-invalid-path "^0.1.0"
+
is-windows@^1.0.0, is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@@ -4354,6 +4802,16 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+iso-639-3@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.1.0.tgz#83722daf55490a707c318ae18a33ba3bab06c843"
+ integrity sha512-l3BAnxNpyRIZA4mEzI2md/YVrxQ3hI8hiQe7TFyQknjyOh8vCzobZuAXTFHELco0FBkYRx4FkAlIqkKrHhnzgw==
+
+iso-639-3@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.2.0.tgz#eee1f5e6ca2bbb33e3ecc910857c1c12e8b295be"
+ integrity sha512-jNvD2P4JHNckQH7pc0R0SQ4oPCpyEtgs0nTtjB+DZCUDdygz0cOAxlcnq5KgNjjsqMHbR4Sbgwz2+DflzAZvlQ==
+
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
@@ -4366,6 +4824,11 @@ isobject@^3.0.0, isobject@^3.0.1:
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+isostring@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isostring/-/isostring-0.0.1.tgz#ddb608efbfc89cda86db9cb16be090a788134c7f"
+ integrity sha1-3bYI77/InNqG25yxa+CQp4gTTH8=
+
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -4852,6 +5315,11 @@ jsesc@~0.5.0:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
+json-buffer@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
+ integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
+
json-parse-better-errors@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
@@ -4964,6 +5432,13 @@ jws@^3.2.2:
jwa "^1.4.1"
safe-buffer "^5.0.1"
+keyv@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
+ integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
+ dependencies:
+ json-buffer "3.0.0"
+
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
@@ -5146,16 +5621,21 @@ lodash.sortby@^4.7.0:
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
+lodash.unescape@4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c"
+ integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=
+
+lodash@4.17.15, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.11, lodash@~4.17.14, lodash@~4.17.15:
+ version "4.17.15"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
+ integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
+
lodash@=3.10.1:
version "3.10.1"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=
-lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.5, lodash@~4.17.14:
- version "4.17.14"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba"
- integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==
-
long@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
@@ -5173,11 +5653,16 @@ lower-case@^1.1.1:
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
-lowercase-keys@^1.0.0:
+lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+lowercase-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
+ integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+
lru-cache@^4.0.1:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
@@ -5207,7 +5692,7 @@ makeerror@1.0.x:
dependencies:
tmpl "1.0.x"
-map-age-cleaner@^0.1.1:
+map-age-cleaner@^0.1.1, map-age-cleaner@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
@@ -5240,6 +5725,20 @@ mem@^4.0.0:
mimic-fn "^1.0.0"
p-is-promise "^2.0.0"
+mem@~5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3"
+ integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==
+ dependencies:
+ map-age-cleaner "^0.1.3"
+ mimic-fn "^2.1.0"
+ p-is-promise "^2.1.0"
+
+memoize-one@~5.0.5:
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.5.tgz#8cd3809555723a07684afafcd6f756072ac75d7e"
+ integrity sha512-ey6EpYv0tEaIbM/nTDOpHciXUvd+ackQrJgEzBwemhZZIWZjcyodqEcrmqDy2BKRTM3a65kKBV4WtLXJDt26SQ==
+
memorystream@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
@@ -5250,14 +5749,13 @@ merge-descriptors@1.0.1:
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
-merge-graphql-schemas@^1.5.8:
- version "1.5.8"
- resolved "https://registry.yarnpkg.com/merge-graphql-schemas/-/merge-graphql-schemas-1.5.8.tgz#89457b60312aabead44d5b2b7625643f8ab9e369"
- integrity sha512-0TGOKebltvmWR9h9dPYS2vAqMPThXwJ6gVz7O5MtpBp2sunAg/M25iMSNI7YhU6PDJVtGtldTfqV9a+55YhB+A==
+merge-graphql-schemas@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/merge-graphql-schemas/-/merge-graphql-schemas-1.6.1.tgz#4c4744bd3f2395a876d0e6885e60c90a9a5a4568"
+ integrity sha512-XEgol3ThgEPo65Cj+cx8UhOFE4IuTSF1Mh0iK8AVOEM/hKrhLfNECmtg9U6HoHfa9nINLxeGZIVvq9rjoSx3cQ==
dependencies:
- deepmerge "^2.2.1"
- glob "^7.1.3"
- is-glob "^4.0.0"
+ graphql-toolkit "0.4.1"
+ tslib "1.10.0"
merge-stream@^1.0.1:
version "1.0.1"
@@ -5266,6 +5764,133 @@ 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==
+ dependencies:
+ "@metascraper/helpers" "^5.6.3"
+
+metascraper-author@^5.6.3:
+ version "5.6.3"
+ resolved "https://registry.yarnpkg.com/metascraper-author/-/metascraper-author-5.6.3.tgz#8ecc0d4257be1438e9f8242b4f0c1a5137f5bb13"
+ integrity sha512-BNnYWjaEFOS5JX5s6KFo6MIv5M2hgnaWV47LM/EOvfHpe0a6DovVtLkGrVj6SpbPio3tzTjakouBwjQpuo1Dlg==
+ dependencies:
+ "@metascraper/helpers" "^5.6.3"
+ lodash "~4.17.15"
+
+metascraper-clearbit-logo@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/metascraper-clearbit-logo/-/metascraper-clearbit-logo-5.3.0.tgz#e4596dbaf35503635d585a705f4119c7eddc6773"
+ integrity sha512-Vg9m8cj2yEIUDrRjvCORvf8vgq2HLsWLVqNnIactNUPJ+Lcly5Xcxh5TcmHYp5Qx5DtNUCoKlakomYHn8mOjqg==
+ 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==
+ 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==
+ dependencies:
+ "@metascraper/helpers" "^5.6.3"
+
+metascraper-image@^5.6.3:
+ version "5.6.3"
+ resolved "https://registry.yarnpkg.com/metascraper-image/-/metascraper-image-5.6.3.tgz#1d2fa627d90d5545f45bdda6e874af421ee1c622"
+ integrity sha512-pDq6fU6X59642KNmE1WmJUUgJxepU4TDj1u2HDR0XCdqeiEGpskqmO/rFJSdgRFJNFUo7RJ1Er8cT4yVKCgqtg==
+ dependencies:
+ "@metascraper/helpers" "^5.6.3"
+
+metascraper-lang-detector@^4.8.5:
+ version "4.10.2"
+ resolved "https://registry.yarnpkg.com/metascraper-lang-detector/-/metascraper-lang-detector-4.10.2.tgz#45744bc331125c098e8b27716d76740161b121d2"
+ integrity sha512-Lz1d5v/i1j08gQYz7sCdoxjOx94ArLV4UucUhGZeQpR4E6dK47V6aqfYwODRe2XAqhaU+3oLnbAipoHkOeZXiw==
+ dependencies:
+ "@metascraper/helpers" "^4.10.2"
+ franc "~4.0.0"
+ iso-639-3 "~1.1.0"
+
+metascraper-lang@^5.6.3:
+ version "5.6.3"
+ resolved "https://registry.yarnpkg.com/metascraper-lang/-/metascraper-lang-5.6.3.tgz#d2d7a20f4145b0785391fffec629e154737fc942"
+ integrity sha512-c13zxmREcB/hDXs7MIxio7RNfVsSzGfixk6FrfQQh3fypmiR84SpeZmQR+G/e2X/BDNwpIydJM62R7BayY709Q==
+ 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==
+ dependencies:
+ "@metascraper/helpers" "^5.6.3"
+
+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==
+ 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==
+ dependencies:
+ "@metascraper/helpers" "^5.6.3"
+ memoize-one "~5.0.5"
+ tldts "~5.3.1"
+
+metascraper-title@^5.6.3:
+ version "5.6.3"
+ resolved "https://registry.yarnpkg.com/metascraper-title/-/metascraper-title-5.6.3.tgz#219bf9a4da28d48ea180497a1d6d2b4fa4871cc2"
+ integrity sha512-sZ+SWojZhECisyw+el5fc1q2ENEAeQDzy/HabSkeA/saB3xqf3XnfqtCGIuElyxKiXS65KWzQOX+u3KseZdiAg==
+ dependencies:
+ "@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==
+ dependencies:
+ "@metascraper/helpers" "^5.6.3"
+
+metascraper-video@^5.6.3:
+ version "5.6.3"
+ resolved "https://registry.yarnpkg.com/metascraper-video/-/metascraper-video-5.6.3.tgz#4567095b52749c7e8083af6d5bd32a5ff182fcf8"
+ integrity sha512-ejkebLHkktvvDJ1EfPzA4X4LWlkzeJZ69KzslRC94vQJuE36PA6k+EdoorZqryOzhHPV9TaNP5j+ZXU26S731g==
+ dependencies:
+ "@metascraper/helpers" "^5.6.3"
+ lodash "~4.17.15"
+
+metascraper-youtube@^4.8.5:
+ version "4.10.2"
+ resolved "https://registry.yarnpkg.com/metascraper-youtube/-/metascraper-youtube-4.10.2.tgz#d8bd437f90f2bf40c30613c0f4fb1f56c094119a"
+ integrity sha512-cmW0JOCVJUsspaBS3WFM8YvMKEG0sPtB21KjPTzRN9yhYyXYy63Pw21G/KxTEdth7GWxfnuttRtiD4BnfntApg==
+ dependencies:
+ "@metascraper/helpers" "^4.10.2"
+ get-video-id "~3.1.1"
+ is-reachable "~3.0.0"
+ p-locate "~4.0.0"
+
+metascraper@^4.10.3:
+ version "4.10.3"
+ resolved "https://registry.yarnpkg.com/metascraper/-/metascraper-4.10.3.tgz#8a97ed2e914e81d1dbc1f17a5b1e64f1b804493f"
+ integrity sha512-wNQm5A/PIxWcahaMwI+b3rOmmXRDNmjyF6Q15dHYXEqYoGl3dFaaT4lnTTm8yntvE+fOj8+o51ON2FBdstxbsA==
+ dependencies:
+ "@metascraper/helpers" "^4.10.2"
+ cheerio "~1.0.0-rc.2"
+ cheerio-advanced-selectors "~2.0.1"
+ lodash "~4.17.11"
+ p-reduce "~2.0.0"
+ whoops "~4.0.2"
+
methods@^1.1.1, methods@^1.1.2, methods@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
@@ -5307,7 +5932,7 @@ mime-types@^2.1.12, mime-types@~2.1.19:
dependencies:
mime-db "~1.37.0"
-mime-types@~2.1.24:
+mime-types@~2.1.22, mime-types@~2.1.24:
version "2.1.24"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
@@ -5324,6 +5949,21 @@ mimic-fn@^1.0.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+mimic-fn@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde"
+ integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA==
+
+mimic-response@^1.0.0, mimic-response@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
+ integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+
minimalistic-assert@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -5381,6 +6021,11 @@ mkdirp@^0.5.0, mkdirp@^0.5.1:
dependencies:
minimist "0.0.8"
+moment@2.21.0:
+ version "2.21.0"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a"
+ integrity sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==
+
moment@^2.17.1:
version "2.24.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
@@ -5415,6 +6060,11 @@ mz@^2.4.0:
object-assign "^4.0.1"
thenify-all "^1.0.0"
+n-gram@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/n-gram/-/n-gram-1.1.1.tgz#a374dc176a9063a2388d1be18ed7c35828be2a97"
+ integrity sha512-qibRqvUghLIVsq+RTwVuwOzgOxf0l4DDZKVYAK0bMam5sG9ZzaJ6BUSJyG2Td8kTc7c/HcMUtjiN5ShobZA2bA==
+
n3@^0.9.1:
version "0.9.1"
resolved "https://registry.yarnpkg.com/n3/-/n3-0.9.1.tgz#430b547d58dc7381408c45784dd8058171903932"
@@ -5534,7 +6184,7 @@ node-fetch@2.1.2:
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5"
integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=
-node-fetch@^2.1.2, node-fetch@^2.2.0, node-fetch@~2.6.0:
+node-fetch@2.6.0, node-fetch@^2.1.2, node-fetch@^2.2.0, node-fetch@~2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
@@ -5645,6 +6295,16 @@ normalize-path@^3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+normalize-url@^4.1.0, normalize-url@~4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee"
+ integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==
+
+normalize-url@~4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.2.0.tgz#e747f16b58e6d7f391495fd86415fa04ec7c9897"
+ integrity sha512-n69+KXI+kZApR+sPwSkoAXpGlNkaiYyoHHqKOFPjJWvwZpew/EjKvuPE4+tStNgb42z5yLtdakgZCQI+LalSPg==
+
npm-bundled@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979"
@@ -5783,6 +6443,16 @@ object.pick@^1.3.0:
dependencies:
isobject "^3.0.1"
+object.values@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9"
+ integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.12.0"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
@@ -5867,6 +6537,18 @@ output-file-sync@^2.0.0:
is-plain-obj "^1.1.0"
mkdirp "^0.5.1"
+p-any@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-any/-/p-any-1.1.0.tgz#1d03835c7eed1e34b8e539c47b7b60d0d015d4e1"
+ integrity sha512-Ef0tVa4CZ5pTAmKn+Cg3w8ABBXh+hHO1aV8281dKOoUHfX+3tjG2EaFcC+aZyagg9b4EYGsHEjz21DnEE8Og2g==
+ dependencies:
+ p-some "^2.0.0"
+
+p-cancelable@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
+ integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
+
p-defer@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
@@ -5889,6 +6571,11 @@ p-is-promise@^2.0.0:
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5"
integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==
+p-is-promise@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
+ integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
+
p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
@@ -5917,11 +6604,37 @@ p-locate@^3.0.0:
dependencies:
p-limit "^2.0.0"
+p-locate@~4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.0.0.tgz#fff5d4a5dc4f89babe7d266f6efc685630038651"
+ integrity sha512-IvOiDT1hbCdrsFKKXs8AGjxouEfn9VVdz/edtT08IDr+RIn2U/o3Xx+Agx455+CkSRdomMs3EN5BgR2Q0LZX0g==
+ dependencies:
+ p-limit "^2.0.0"
+
p-reduce@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa"
integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=
+p-reduce@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.0.0.tgz#365a26916213650711124881a6bdc4e32c2bfe36"
+ integrity sha512-VcNNEqiYIkRCGeUHELY5dUrnQHCRwL6eIH/L9oSbl/PsvyHQXD1ws/MFwuEb+6dgH/URCfROVUqOYL37eHi2kQ==
+
+p-some@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/p-some/-/p-some-2.0.1.tgz#65d87c8b154edbcf5221d167778b6d2e150f6f06"
+ integrity sha1-Zdh8ixVO289SIdFnd4ttLhUPbwY=
+ dependencies:
+ aggregate-error "^1.0.0"
+
+p-timeout@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038"
+ integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==
+ dependencies:
+ p-finally "^1.0.0"
+
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
@@ -5976,6 +6689,11 @@ parse-passwd@^1.0.0:
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
+parse-uri@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parse-uri/-/parse-uri-1.0.0.tgz#2872dcc22f1a797acde1583d8a0ac29552ddac20"
+ integrity sha1-KHLcwi8aeXrN4Vg9igrClVLdrCA=
+
parse5@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
@@ -6113,6 +6831,11 @@ pn@^1.1.0:
resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
+port-numbers@^4.0.4:
+ version "4.0.13"
+ resolved "https://registry.yarnpkg.com/port-numbers/-/port-numbers-4.0.13.tgz#563b6c6947a92d6df7ad909b96a54de49703091b"
+ integrity sha512-Nu/yQsPdBZ+dsJFBs8zUZk4ZEY/yL1RN1LqnaRYWtlzALPLj7VLKh/MFUFQuzPOGZpsj9Mh5wL1gNJzWQGPKyQ==
+
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
@@ -6137,6 +6860,11 @@ prepend-http@^1.0.1:
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
+prepend-http@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
+ integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
+
prettier-linter-helpers@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
@@ -6250,6 +6978,11 @@ pump@^3.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"
+punycode2@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/punycode2/-/punycode2-1.0.0.tgz#e2b4b9a9a8ff157d0b84438e203181ee7892dfd8"
+ integrity sha1-4rS5qaj/FX0LhEOOIDGB7niS39g=
+
punycode@2.x.x, punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
@@ -6270,6 +7003,11 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+querystringify@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
+ integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
+
range-parser@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
@@ -6567,6 +7305,11 @@ require-main-filename@^1.0.1:
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
+requires-port@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+
resolve-cwd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
@@ -6601,6 +7344,13 @@ resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.3.3, resolve@^1.5.0
dependencies:
path-parse "^1.0.6"
+responselike@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
+ integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
+ dependencies:
+ lowercase-keys "^1.0.0"
+
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@@ -6631,6 +7381,11 @@ rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2:
dependencies:
glob "^7.1.3"
+router-ips@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/router-ips/-/router-ips-1.0.0.tgz#44e00858ebebc0133d58e40b2cd8a1fbb04203f5"
+ integrity sha1-ROAIWOvrwBM9WOQLLNih+7BCA/U=
+
rsvp@^3.3.3:
version "3.6.2"
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
@@ -6733,15 +7488,20 @@ semver-diff@^2.0.0:
dependencies:
semver "^5.0.3"
-"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0:
+"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
-semver@^6.0.0, semver@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.0.tgz#e95dc415d45ecf03f2f9f83b264a6b11f49c0cca"
- integrity sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==
+semver@5.5.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
+ integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==
+
+semver@^6.0.0, semver@^6.1.0, semver@^6.1.2:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db"
+ integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==
send@0.17.1:
version "0.17.1"
@@ -6873,6 +7633,11 @@ slug@~1.1.0:
dependencies:
unicode ">= 0.3.1"
+smartquotes@~2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/smartquotes/-/smartquotes-2.3.1.tgz#01ebb595d6c7a9e24d90e8cb95c17d0e1af49407"
+ integrity sha1-Aeu1ldbHqeJNkOjLlcF9Dhr0lAc=
+
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -7141,12 +7906,12 @@ strip-ansi@^4.0.0:
dependencies:
ansi-regex "^3.0.0"
-strip-ansi@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f"
- integrity sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==
+strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
dependencies:
- ansi-regex "^4.0.0"
+ ansi-regex "^4.1.0"
strip-bom@^3.0.0:
version "3.0.0"
@@ -7158,15 +7923,20 @@ strip-eof@^1.0.0:
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
-strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
+strip-json-comments@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7"
+ integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==
+
+strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
-subscriptions-transport-ws@^0.9.11:
- version "0.9.15"
- resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.15.tgz#68a8b7ba0037d8c489fb2f5a102d1494db297d0d"
- integrity sha512-f9eBfWdHsePQV67QIX+VRhf++dn1adyC/PZHP6XI5AfKnZ4n0FW+v5omxwdHVpd4xq2ZijaHEcmlQrhBY79ZWQ==
+subscriptions-transport-ws@^0.9.11, subscriptions-transport-ws@^0.9.16:
+ version "0.9.16"
+ resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.16.tgz#90a422f0771d9c32069294c08608af2d47f596ec"
+ integrity sha512-pQdoU7nC+EpStXnCfh/+ho0zE0Z+ma+i7xvj7bkXKb1dvYHSZxgRPaU6spRP+Bjzow67c/rRDoix5RT0uU9omw==
dependencies:
backo2 "^1.0.2"
eventemitter3 "^3.1.0"
@@ -7198,6 +7968,13 @@ supertest@~4.0.2:
methods "^1.1.2"
superagent "^3.8.3"
+supports-color@^4.0.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
+ dependencies:
+ has-flag "^2.0.0"
+
supports-color@^5.2.0, supports-color@^5.3.0, supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -7319,6 +8096,38 @@ title-case@^2.1.1:
no-case "^2.2.0"
upper-case "^1.0.3"
+title@~3.4.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/title/-/title-3.4.1.tgz#166177c48f52ae9b73afe9901a183f0b6c97b2e6"
+ integrity sha512-CoIakPr4Gi91bm4Xp6xTuZ3EENxPcKgOJzHzrhSdUatGtFMeVJa2qxI4WNhJHgz0Jak5Ck6jY2UNFM71/yBIsw==
+ dependencies:
+ arg "1.0.0"
+ chalk "2.3.0"
+ clipboardy "1.2.2"
+ titleize "1.0.0"
+
+titleize@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a"
+ integrity sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo=
+
+tlds@^1.187.0, tlds@^1.203.0:
+ version "1.203.1"
+ 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@~5.3.1:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/tldts/-/tldts-5.3.1.tgz#39b2164b71777e69b3d05e5db5a30b5e1a5df6b7"
+ integrity sha512-JHG3Gonv+17qi1gyskY0KwdpjVkQfQK4pMHm52vpdKXV3y9AzEhhinDT/GfLF8w7kRLpIHhcViZ0rEsFla81lA==
+ dependencies:
+ tldts-core "^5.3.1"
+
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -7343,6 +8152,11 @@ to-object-path@^0.3.0:
dependencies:
kind-of "^3.0.2"
+to-readable-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
+ integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
+
to-regex-range@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
@@ -7408,11 +8222,25 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"
+trigram-utils@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/trigram-utils/-/trigram-utils-1.0.2.tgz#47574b7fade636e0fc06515788cbbd61786d2292"
+ integrity sha512-4/DmYtegpRAyTHPpL+asfLHfTdrTZ5N0FNaixyb4L6Bx3mi+g1wgsFJNixZ9Ycsjs3+FrK4zJoWW86cdMaL8RA==
+ dependencies:
+ collapse-white-space "^1.0.3"
+ n-gram "^1.0.0"
+ trim "0.0.1"
+
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
+trim@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
+ integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+
trunc-html@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/trunc-html/-/trunc-html-1.1.2.tgz#1e97d51f67d470b67662b1a670e6d0ea7a8edafe"
@@ -7427,6 +8255,16 @@ trunc-text@1.0.1:
resolved "https://registry.yarnpkg.com/trunc-text/-/trunc-text-1.0.1.tgz#58f876d8ac59b224b79834bb478b8656e69622b5"
integrity sha1-WPh22KxZsiS3mDS7R4uGVuaWIrU=
+truncate@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.0.1.tgz#dd1a6d15630515663d8475f6f24edf2f800ebb1b"
+ integrity sha1-3RptFWMFFWY9hHX28k7fL4AOuxs=
+
+truncate@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.1.0.tgz#391183563a25cffbd4d613a1d00ae5844c9e55d3"
+ integrity sha512-em3E3SUDONOjTBcZ36DTm3RvDded3IRU9rX32oHwwXNt3rJD5MVaFlJTQvs8tJoHRoeYP36OuQ1eL/Q7bNEWIQ==
+
ts-invariant@^0.4.0:
version "0.4.2"
resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.2.tgz#8685131b8083e67c66d602540e78763408be9113"
@@ -7434,10 +8272,10 @@ ts-invariant@^0.4.0:
dependencies:
tslib "^1.9.3"
-tslib@^1.9.0, tslib@^1.9.3:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
- integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==
+tslib@1.10.0, tslib@^1.9.0, tslib@^1.9.3:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
+ integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
tunnel-agent@^0.6.0:
version "0.6.0"
@@ -7594,6 +8432,37 @@ url-parse-lax@^1.0.0:
dependencies:
prepend-http "^1.0.1"
+url-parse-lax@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
+ integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
+ dependencies:
+ prepend-http "^2.0.0"
+
+url-parse@^1.4.4:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278"
+ integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==
+ dependencies:
+ querystringify "^2.1.1"
+ requires-port "^1.0.0"
+
+url-regex@~4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-4.1.1.tgz#a5617b22e15e26dac57ce74c3f52088bcdfec995"
+ integrity sha512-ViSDgDPNKkrQHI81GLCjdDN+Rsk3tAW/uLXlBOJxtcHzWZjta58Z0APXhfXzS89YszsheMnEvXeDXsWUB53wwA==
+ dependencies:
+ ip-regex "^1.0.1"
+ tlds "^1.187.0"
+
+url-regex@~5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-5.0.0.tgz#8f5456ab83d898d18b2f91753a702649b873273a"
+ integrity sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g==
+ dependencies:
+ ip-regex "^4.1.0"
+ tlds "^1.203.0"
+
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
@@ -7634,6 +8503,11 @@ uuid@^3.1.0, uuid@^3.3.2, uuid@~3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
+v8-compile-cache@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe"
+ integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==
+
v8flags@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.1.tgz#42259a1461c08397e37fe1d4f1cfb59cad85a053"
@@ -7641,6 +8515,11 @@ v8flags@^3.1.1:
dependencies:
homedir-polyfill "^1.0.1"
+valid-url@1.0.9:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200"
+ integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=
+
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -7663,6 +8542,11 @@ verror@1.10.0, verror@^1.9.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+video-extensions@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/video-extensions/-/video-extensions-1.1.0.tgz#eaa86b45f29a853c2b873e9d8e23b513712997d6"
+ integrity sha1-6qhrRfKahTwrhz6djiO1E3Epl9Y=
+
vocabs-as@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/vocabs-as/-/vocabs-as-3.0.0.tgz#0dd0549cecb331ba4e917d2c5a4e83b146865c23"
@@ -7774,6 +8658,11 @@ whatwg-fetch@2.0.4:
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==
+whatwg-fetch@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
+ integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==
+
whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
@@ -7809,6 +8698,14 @@ which@^1.2.9, which@^1.3.0:
dependencies:
isexe "^2.0.0"
+whoops@~4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/whoops/-/whoops-4.0.2.tgz#60e1281d47a1600f5f5013059afaad369d83e9d4"
+ integrity sha512-b1ofth7xMOAkukgzMhAPKBrgieGJAgKVMyu54DXAOVLmkhpQEfNKe4wS0R7LbdxIsm6FD2CFUjBOdN7Sj+zLSg==
+ dependencies:
+ clean-stack "~2.0.0"
+ mimic-fn "~2.0.0"
+
wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
diff --git a/cypress/integration/common/search.js b/cypress/integration/common/search.js
index 1c1981581..5a3819a9d 100644
--- a/cypress/integration/common/search.js
+++ b/cypress/integration/common/search.js
@@ -1,73 +1,70 @@
-import { When, Then } from 'cypress-cucumber-preprocessor/steps'
-When('I search for {string}', value => {
- cy.get('#nav-search')
+import { When, Then } from "cypress-cucumber-preprocessor/steps";
+When("I search for {string}", value => {
+ cy.get("#nav-search")
.focus()
- .type(value)
-})
+ .type(value);
+});
-Then('I should have one post in the select dropdown', () => {
- cy.get('.ds-select-dropdown').should($li => {
- expect($li).to.have.length(1)
- })
-})
+Then("I should have one post in the select dropdown", () => {
+ cy.get(".input .ds-select-dropdown").should($li => {
+ expect($li).to.have.length(1);
+ });
+});
-Then('I should see the following posts in the select dropdown:', table => {
+Then("I should see the following posts in the select dropdown:", table => {
table.hashes().forEach(({ title }) => {
- cy.get('.ds-select-dropdown').should('contain', title)
- })
-})
+ cy.get(".ds-select-dropdown").should("contain", title);
+ });
+});
-When('I type {string} and press Enter', value => {
- cy.get('#nav-search')
+When("I type {string} and press Enter", value => {
+ cy.get("#nav-search")
.focus()
.type(value)
- .type('{enter}', { force: true })
-})
+ .type("{enter}", { force: true });
+});
-When('I type {string} and press escape', value => {
- cy.get('#nav-search')
+When("I type {string} and press escape", value => {
+ cy.get("#nav-search")
.focus()
.type(value)
- .type('{esc}')
-})
+ .type("{esc}");
+});
-Then('the search field should clear', () => {
- cy.get('#nav-search').should('have.text', '')
-})
+Then("the search field should clear", () => {
+ cy.get("#nav-search").should("have.text", "");
+});
-When('I select an entry', () => {
- cy.get('.ds-select-dropdown ul li')
+When("I select an entry", () => {
+ cy.get(".input .ds-select-dropdown ul li")
.first()
- .trigger('click')
-})
+ .trigger("click");
+});
Then("I should be on the post's page", () => {
- cy.location('pathname').should(
- 'contain',
- '/post/'
- )
- cy.location('pathname').should(
- 'eq',
- '/post/p1/101-essays-that-will-change-the-way-you-think'
- )
-})
+ cy.location("pathname").should("contain", "/post/");
+ cy.location("pathname").should(
+ "eq",
+ "/post/p1/101-essays-that-will-change-the-way-you-think"
+ );
+});
Then(
- 'I should see posts with the searched-for term in the select dropdown',
+ "I should see posts with the searched-for term in the select dropdown",
() => {
- cy.get('.ds-select-dropdown').should(
- 'contain',
- '101 Essays that will change the way you think'
- )
+ cy.get(".ds-select-dropdown").should(
+ "contain",
+ "101 Essays that will change the way you think"
+ );
}
-)
+);
Then(
- 'I should not see posts without the searched-for term in the select dropdown',
+ "I should not see posts without the searched-for term in the select dropdown",
() => {
- cy.get('.ds-select-dropdown').should(
- 'not.contain',
- 'No searched for content'
- )
+ cy.get(".ds-select-dropdown").should(
+ "not.contain",
+ "No searched for content"
+ );
}
-)
+);
diff --git a/cypress/integration/common/settings.js b/cypress/integration/common/settings.js
index 664ffcff8..b32924f6a 100644
--- a/cypress/integration/common/settings.js
+++ b/cypress/integration/common/settings.js
@@ -79,7 +79,7 @@ Then('I should be on the {string} page', page => {
})
When('I add a social media link', () => {
- cy.get("input[name='social-media']")
+ cy.get('input#addSocialMedia')
.type('https://freeradical.zone/peter-pan')
.get('button')
.contains('Add link')
@@ -98,7 +98,7 @@ Then('the new social media link shows up on the page', () => {
Given('I have added a social media link', () => {
cy.openPage('/settings/my-social-media')
- .get("input[name='social-media']")
+ .get('input#addSocialMedia')
.type('https://freeradical.zone/peter-pan')
.get('button')
.contains('Add link')
@@ -121,3 +121,34 @@ Then('it gets deleted successfully', () => {
cy.get('.iziToast-message')
.should('contain', 'Deleted social media')
})
+
+When('I start editing a social media link', () => {
+ cy.get("a[name='edit']")
+ .click()
+})
+
+Then('I can cancel editing', () => {
+ cy.get('button#cancel')
+ .click()
+ .get('input#editSocialMedia')
+ .should('have.length', 0)
+})
+
+When('I edit and save the link', () => {
+ cy.get('input#editSocialMedia')
+ .clear()
+ .type('https://freeradical.zone/tinkerbell')
+ .get('button')
+ .contains('Save')
+ .click()
+})
+
+Then('the new url is displayed', () => {
+ cy.get("a[href='https://freeradical.zone/tinkerbell']")
+ .should('have.length', 1)
+})
+
+Then('the old url is not displayed', () => {
+ cy.get("a[href='https://freeradical.zone/peter-pan']")
+ .should('have.length', 0)
+})
diff --git a/cypress/integration/user_profile/SocialMedia.feature b/cypress/integration/user_profile/SocialMedia.feature
index d21167c6b..e6090a0a4 100644
--- a/cypress/integration/user_profile/SocialMedia.feature
+++ b/cypress/integration/user_profile/SocialMedia.feature
@@ -15,7 +15,7 @@ Feature: List Social Media Accounts
Then it gets saved successfully
And the new social media link shows up on the page
- Scenario: Other user's viewing my Social Media
+ Scenario: Other users viewing my Social Media
Given I have added a social media link
When people visit my profile page
Then they should be able to see my social media links
@@ -27,3 +27,16 @@ Feature: List Social Media Accounts
Given I have added a social media link
When I delete a social media link
Then it gets deleted successfully
+
+ Scenario: Editing Social Media
+ Given I am on the "settings" page
+ And I click on the "Social media" link
+ Then I should be on the "/settings/my-social-media" page
+ Given I have added a social media link
+ When I start editing a social media link
+ Then I can cancel editing
+ When I start editing a social media link
+ And I edit and save the link
+ Then it gets saved successfully
+ And the new url is displayed
+ But the old url is not displayed
diff --git a/deployment/human-connection/maintenance/Dockerfile b/deployment/human-connection/maintenance/Dockerfile
new file mode 100644
index 000000000..4681356ab
--- /dev/null
+++ b/deployment/human-connection/maintenance/Dockerfile
@@ -0,0 +1,3 @@
+FROM nginx:alpine
+COPY ./onourjourney.svg /usr/share/nginx/html/
+COPY ./maintenance.html /usr/share/nginx/html/index.html
diff --git a/deployment/human-connection/maintenance/README.md b/deployment/human-connection/maintenance/README.md
new file mode 100644
index 000000000..02bcb44e2
--- /dev/null
+++ b/deployment/human-connection/maintenance/README.md
@@ -0,0 +1,43 @@
+# Maintenance mode
+
+> Despite our best efforts, systems sometimes require downtime for a variety of reasons.
+
+Quote from [here](https://www.nrmitchi.com/2017/11/easy-maintenance-mode-in-kubernetes/)
+
+We use our maintenance mode for manual database backup and restore. Also we
+bring the database into maintenance mode for manual database migrations.
+
+## Deploy the service
+
+We prepared sample configuration, so you can simply run:
+```sh
+# in folder deployment/
+kubectl apply -f human-connection/maintenance
+```
+
+This will fire up a maintenance service.
+
+## Bring application into maintenance mode
+
+Now if you want to have a controlled downtime and you want to bring your
+application into maintenance mode, you can edit your global ingress server.
+
+E.g. in file `deployment/digital-ocean/https/ingress.yaml` change the following:
+```yaml
+...
+
+ - host: nitro-staging.human-connection.org
+ http:
+ paths:
+ - path: /
+ backend:
+ # serviceName: nitro-web
+ serviceName: maintenance
+ # servicePort: 3000
+ servicePort: 80
+```
+
+Then run ` kubectl apply -f deployment/digital-ocean/https/ingress.yaml`. If you
+want to deactivate the maintenance server, just undo the edit and apply the
+configuration again.
+
diff --git a/deployment/human-connection/maintenance/deployment-maintenance.yaml b/deployment/human-connection/maintenance/deployment-maintenance.yaml
new file mode 100644
index 000000000..fbbeec639
--- /dev/null
+++ b/deployment/human-connection/maintenance/deployment-maintenance.yaml
@@ -0,0 +1,27 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: maintenance
+ namespace: human-connection
+spec:
+ selector:
+ matchLabels:
+ human-connection.org/selector: deployment-human-connection-maintenance
+ template:
+ metadata:
+ labels:
+ human-connection.org/commit: COMMIT
+ human-connection.org/selector: deployment-human-connection-maintenance
+ name: maintenance
+ spec:
+ containers:
+ - name: web
+ env:
+ - name: HOST
+ value: 0.0.0.0
+ image: humanconnection/maintenance:latest
+ ports:
+ - containerPort: 80
+ imagePullPolicy: Always
+ restartPolicy: Always
+ terminationGracePeriodSeconds: 30
diff --git a/deployment/human-connection/maintenance/maintenance.html b/deployment/human-connection/maintenance/maintenance.html
new file mode 100644
index 000000000..906286342
--- /dev/null
+++ b/deployment/human-connection/maintenance/maintenance.html
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/deployment/human-connection/maintenance/onourjourney.svg b/deployment/human-connection/maintenance/onourjourney.svg
new file mode 100644
index 000000000..0950b7532
--- /dev/null
+++ b/deployment/human-connection/maintenance/onourjourney.svg
@@ -0,0 +1,360 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/deployment/human-connection/maintenance/service-maintenance.yaml b/deployment/human-connection/maintenance/service-maintenance.yaml
new file mode 100644
index 000000000..43aab9331
--- /dev/null
+++ b/deployment/human-connection/maintenance/service-maintenance.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: maintenance
+ namespace: human-connection
+ labels:
+ human-connection.org/selector: deployment-human-connection-maintenance
+spec:
+ ports:
+ - name: web
+ port: 80
+ targetPort: 80
+ selector:
+ human-connection.org/selector: deployment-human-connection-maintenance
diff --git a/deployment/legacy-migration/maintenance-worker/.gitignore b/deployment/legacy-migration/maintenance-worker/.gitignore
index 59ba63a8b..485bc00e6 100644
--- a/deployment/legacy-migration/maintenance-worker/.gitignore
+++ b/deployment/legacy-migration/maintenance-worker/.gitignore
@@ -1 +1,2 @@
.ssh/
+ssh/
\ No newline at end of file
diff --git a/deployment/volumes/neo4j-data.yaml b/deployment/volumes/neo4j-data.yaml
index f077be933..1f453a684 100644
--- a/deployment/volumes/neo4j-data.yaml
+++ b/deployment/volumes/neo4j-data.yaml
@@ -9,4 +9,4 @@
- ReadWriteOnce
resources:
requests:
- storage: 1Gi
+ storage: 5Gi
diff --git a/deployment/volumes/neo4j-offline-backup/README.md b/deployment/volumes/neo4j-offline-backup/README.md
index 3638ebc89..5d773714b 100644
--- a/deployment/volumes/neo4j-offline-backup/README.md
+++ b/deployment/volumes/neo4j-offline-backup/README.md
@@ -23,11 +23,7 @@ So, all we have to do is edit the kubernetes deployment of our Neo4J database
and set a custom `command` every time we have to carry out tasks like backup,
restore, seed etc.
-{% hint style="info" %}
-TODO: implement maintenance mode
-{% endhint %}
-
-First bring the application into maintenance mode to ensure there are no
+First bring the application into [maintenance mode](https://github.com/Human-Connection/Human-Connection/blob/master/deployment/human-connection/maintenance/README.md) to ensure there are no
database connections left and nobody can access the application.
Run the following:
diff --git a/docker-compose.yml b/docker-compose.yml
index 93e80d9c1..bae571b86 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -42,6 +42,14 @@ services:
context: neo4j
networks:
- hc-network
+ maintenance:
+ image: humanconnection/maintenance:latest
+ build:
+ context: deployment/human-connection/maintenance
+ networks:
+ - hc-network
+ ports:
+ - 80:80
networks:
hc-network:
diff --git a/package.json b/package.json
index 87ec4e9ef..c7a78bc38 100644
--- a/package.json
+++ b/package.json
@@ -23,14 +23,14 @@
"codecov": "^3.5.0",
"cross-env": "^5.2.0",
"cypress": "^3.4.0",
- "cypress-cucumber-preprocessor": "^1.12.0",
+ "cypress-cucumber-preprocessor": "^1.13.0",
"cypress-file-upload": "^3.3.2",
"cypress-plugin-retries": "^1.2.2",
"dotenv": "^8.0.0",
"faker": "Marak/faker.js#master",
"graphql-request": "^1.8.2",
"neo4j-driver": "^1.7.5",
- "neode": "^0.2.16",
+ "neode": "^0.2.18",
"npm-run-all": "^4.1.5",
"slug": "^1.1.0"
}
diff --git a/scripts/docker_push.sh b/scripts/docker_push.sh
index c70367005..fe644c52a 100755
--- a/scripts/docker_push.sh
+++ b/scripts/docker_push.sh
@@ -4,7 +4,9 @@ docker build --build-arg BUILD_COMMIT=$TRAVIS_COMMIT --target production -t huma
docker build --build-arg BUILD_COMMIT=$TRAVIS_COMMIT --target production -t humanconnection/nitro-web:latest $TRAVIS_BUILD_DIR/webapp
docker build --build-arg BUILD_COMMIT=$TRAVIS_COMMIT -t humanconnection/neo4j:latest $TRAVIS_BUILD_DIR/neo4j
docker build -t humanconnection/maintenance-worker:latest $TRAVIS_BUILD_DIR/deployment/legacy-migration/maintenance-worker
+docker build -t humanconnection/maintenance:latest $TRAVIS_BUILD_DIR/deployment/human-connection/maintenance
docker push humanconnection/nitro-backend:latest
docker push humanconnection/nitro-web:latest
docker push humanconnection/neo4j:latest
-docker push humanconnection/maintenance-worker:latest
\ No newline at end of file
+docker push humanconnection/maintenance-worker:latest
+docker push humanconnection/maintenance:latest
diff --git a/webapp/Dockerfile b/webapp/Dockerfile
index d3a17a3aa..cad4c171d 100644
--- a/webapp/Dockerfile
+++ b/webapp/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:12.6-alpine as base
+FROM node:12.7-alpine as base
LABEL Description="Web Frontend of the Social Network Human-Connection.org" Vendor="Human-Connection gGmbH" Version="0.0.1" Maintainer="Human-Connection gGmbH (developer@human-connection.org)"
EXPOSE 3000
diff --git a/webapp/components/ContributionForm/ContributionForm.spec.js b/webapp/components/ContributionForm/ContributionForm.spec.js
index 3d136ff4b..3f9384d27 100644
--- a/webapp/components/ContributionForm/ContributionForm.spec.js
+++ b/webapp/components/ContributionForm/ContributionForm.spec.js
@@ -14,6 +14,8 @@ localVue.use(Styleguide)
localVue.use(Filters)
config.stubs['no-ssr'] = ' '
+config.stubs['nuxt-link'] = ' '
+config.stubs['v-popover'] = ' '
describe('ContributionForm.vue', () => {
let wrapper
@@ -24,9 +26,22 @@ describe('ContributionForm.vue', () => {
let mocks
let propsData
const postTitle = 'this is a title for a post'
+ const postTitleTooShort = 'xx'
+ let postTitleTooLong = ''
+ for (let i = 0; i < 65; i++) {
+ postTitleTooLong += 'x'
+ }
const postContent = 'this is a post'
+ const postContentTooShort = 'xx'
+ let postContentTooLong = ''
+ for (let i = 0; i < 2001; i++) {
+ postContentTooLong += 'x'
+ }
const imageUpload = {
- file: { filename: 'avataar.svg', previewElement: '' },
+ file: {
+ filename: 'avataar.svg',
+ previewElement: '',
+ },
url: 'someUrlToImage',
}
const image = '/uploads/1562010976466-avataaars'
@@ -34,22 +49,17 @@ describe('ContributionForm.vue', () => {
mocks = {
$t: jest.fn(),
$apollo: {
- mutate: jest
- .fn()
- .mockResolvedValueOnce({
- data: {
- CreatePost: {
- title: postTitle,
- slug: 'this-is-a-title-for-a-post',
- content: postContent,
- contentExcerpt: postContent,
- language: 'en',
- },
+ mutate: jest.fn().mockResolvedValueOnce({
+ data: {
+ CreatePost: {
+ title: postTitle,
+ slug: 'this-is-a-title-for-a-post',
+ content: postContent,
+ contentExcerpt: postContent,
+ language: 'en',
},
- })
- .mockRejectedValue({
- message: 'Not Authorised!',
- }),
+ },
+ }),
},
$toast: {
error: jest.fn(),
@@ -71,6 +81,13 @@ describe('ContributionForm.vue', () => {
'editor/placeholder': () => {
return 'some cool placeholder'
},
+ 'auth/user': () => {
+ return {
+ id: '4711',
+ name: 'You yourself',
+ slug: 'you-yourself',
+ }
+ },
}
const store = new Vuex.Store({
getters,
@@ -106,16 +123,53 @@ describe('ContributionForm.vue', () => {
})
describe('invalid form submission', () => {
- it('title required for form submission', async () => {
- postTitleInput = wrapper.find('.ds-input')
- postTitleInput.setValue(postTitle)
- await wrapper.find('form').trigger('submit')
+ it('title and content should not be empty ', async () => {
+ wrapper.find('.submit-button-for-test').trigger('click')
expect(mocks.$apollo.mutate).not.toHaveBeenCalled()
})
- it('content required for form submission', async () => {
- wrapper.vm.updateEditorContent(postContent)
- await wrapper.find('form').trigger('submit')
+ it('title should not be empty', async () => {
+ await wrapper.vm.updateEditorContent(postContent)
+ wrapper.find('.submit-button-for-test').trigger('click')
+ expect(mocks.$apollo.mutate).not.toHaveBeenCalled()
+ })
+
+ it('title should not be too long', async () => {
+ postTitleInput = wrapper.find('.ds-input')
+ postTitleInput.setValue(postTitleTooLong)
+ await wrapper.vm.updateEditorContent(postContent)
+ wrapper.find('.submit-button-for-test').trigger('click')
+ expect(mocks.$apollo.mutate).not.toHaveBeenCalled()
+ })
+
+ it('title should not be too short', async () => {
+ postTitleInput = wrapper.find('.ds-input')
+ postTitleInput.setValue(postTitleTooShort)
+ await wrapper.vm.updateEditorContent(postContent)
+ wrapper.find('.submit-button-for-test').trigger('click')
+ expect(mocks.$apollo.mutate).not.toHaveBeenCalled()
+ })
+
+ it('content should not be empty', async () => {
+ postTitleInput = wrapper.find('.ds-input')
+ postTitleInput.setValue(postTitle)
+ await wrapper.find('.submit-button-for-test').trigger('click')
+ expect(mocks.$apollo.mutate).not.toHaveBeenCalled()
+ })
+
+ it('content should not be too short', async () => {
+ postTitleInput = wrapper.find('.ds-input')
+ postTitleInput.setValue(postTitle)
+ await wrapper.vm.updateEditorContent(postContentTooShort)
+ wrapper.find('.submit-button-for-test').trigger('click')
+ expect(mocks.$apollo.mutate).not.toHaveBeenCalled()
+ })
+
+ it('content should not be too long', async () => {
+ postTitleInput = wrapper.find('.ds-input')
+ postTitleInput.setValue(postTitle)
+ await wrapper.vm.updateEditorContent(postContentTooLong)
+ wrapper.find('.submit-button-for-test').trigger('click')
expect(mocks.$apollo.mutate).not.toHaveBeenCalled()
})
})
@@ -136,15 +190,16 @@ describe('ContributionForm.vue', () => {
}
postTitleInput = wrapper.find('.ds-input')
postTitleInput.setValue(postTitle)
- wrapper.vm.updateEditorContent(postContent)
- await wrapper.find('form').trigger('submit')
+ await wrapper.vm.updateEditorContent(postContent)
})
it('with title and content', () => {
+ wrapper.find('.submit-button-for-test').trigger('click')
expect(mocks.$apollo.mutate).toHaveBeenCalledTimes(1)
})
it("sends a fallback language based on a user's locale", () => {
+ wrapper.find('.submit-button-for-test').trigger('click')
expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expect.objectContaining(expectedParams))
})
@@ -152,7 +207,7 @@ describe('ContributionForm.vue', () => {
expectedParams.variables.language = 'de'
deutschOption = wrapper.findAll('li').at(0)
deutschOption.trigger('click')
- await wrapper.find('form').trigger('submit')
+ wrapper.find('.submit-button-for-test').trigger('click')
expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expect.objectContaining(expectedParams))
})
@@ -160,22 +215,26 @@ describe('ContributionForm.vue', () => {
const categoryIds = ['cat12', 'cat15', 'cat37']
expectedParams.variables.categoryIds = categoryIds
wrapper.find(CategoriesSelect).vm.$emit('updateCategories', categoryIds)
- await wrapper.find('form').trigger('submit')
+ await wrapper.find('.submit-button-for-test').trigger('click')
expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expect.objectContaining(expectedParams))
})
it('supports adding a teaser image', async () => {
expectedParams.variables.imageUpload = imageUpload
wrapper.find(TeaserImage).vm.$emit('addTeaserImage', imageUpload)
- await wrapper.find('form').trigger('submit')
+ await wrapper.find('.submit-button-for-test').trigger('click')
expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expect.objectContaining(expectedParams))
})
it("pushes the user to the post's page", async () => {
+ wrapper.find('.submit-button-for-test').trigger('click')
+ await mocks.$apollo.mutate
expect(mocks.$router.push).toHaveBeenCalledTimes(1)
})
- it('shows a success toaster', () => {
+ it('shows a success toaster', async () => {
+ wrapper.find('.submit-button-for-test').trigger('click')
+ await mocks.$apollo.mutate
expect(mocks.$toast.success).toHaveBeenCalledTimes(1)
})
})
@@ -191,18 +250,19 @@ describe('ContributionForm.vue', () => {
describe('handles errors', () => {
beforeEach(async () => {
jest.useFakeTimers()
+ mocks.$apollo.mutate = jest.fn().mockRejectedValueOnce({
+ message: 'Not Authorised!',
+ })
wrapper = Wrapper()
postTitleInput = wrapper.find('.ds-input')
postTitleInput.setValue(postTitle)
- wrapper.vm.updateEditorContent(postContent)
- // second submission causes mutation to reject
- await wrapper.find('form').trigger('submit')
+ await wrapper.vm.updateEditorContent(postContent)
})
it('shows an error toaster when apollo mutation rejects', async () => {
- await wrapper.find('form').trigger('submit')
+ await wrapper.find('.submit-button-for-test').trigger('click')
await mocks.$apollo.mutate
- expect(mocks.$toast.error).toHaveBeenCalledWith('Not Authorised!')
+ await expect(mocks.$toast.error).toHaveBeenCalledWith('Not Authorised!')
})
})
})
@@ -217,7 +277,12 @@ describe('ContributionForm.vue', () => {
content: 'auf Deutsch geschrieben',
language: 'de',
image,
- categories: [{ id: 'cat12', name: 'Democracy & Politics' }],
+ categories: [
+ {
+ id: 'cat12',
+ name: 'Democracy & Politics',
+ },
+ ],
},
}
wrapper = Wrapper()
@@ -255,7 +320,7 @@ describe('ContributionForm.vue', () => {
postTitleInput = wrapper.find('.ds-input')
postTitleInput.setValue(postTitle)
wrapper.vm.updateEditorContent(postContent)
- await wrapper.find('form').trigger('submit')
+ await wrapper.find('.submit-button-for-test').trigger('click')
expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expect.objectContaining(expectedParams))
})
@@ -266,7 +331,7 @@ describe('ContributionForm.vue', () => {
wrapper.vm.updateEditorContent(postContent)
expectedParams.variables.categoryIds = categoryIds
wrapper.find(CategoriesSelect).vm.$emit('updateCategories', categoryIds)
- await wrapper.find('form').trigger('submit')
+ await wrapper.find('.submit-button-for-test').trigger('click')
expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expect.objectContaining(expectedParams))
})
})
diff --git a/webapp/components/ContributionForm/ContributionForm.vue b/webapp/components/ContributionForm/ContributionForm.vue
index 593ff2dc6..dca23a882 100644
--- a/webapp/components/ContributionForm/ContributionForm.vue
+++ b/webapp/components/ContributionForm/ContributionForm.vue
@@ -1,5 +1,5 @@
-
+
@@ -9,7 +9,11 @@
:src="contribution.image | proxyApiUrl"
/>
+
+
+
+ {{ form.title.length }}/{{ formSchema.title.max }}
+ {{ form.contentLength }}/{{ contentMax }}
{{ $t('actions.cancel') }}
{{ $t('actions.save') }}
@@ -65,18 +72,21 @@
diff --git a/webapp/pages/settings/my-social-media.spec.js b/webapp/pages/settings/my-social-media.spec.js
index 55ba27bb8..046edf152 100644
--- a/webapp/pages/settings/my-social-media.spec.js
+++ b/webapp/pages/settings/my-social-media.spec.js
@@ -1,4 +1,5 @@
import { mount, createLocalVue } from '@vue/test-utils'
+import flushPromises from 'flush-promises'
import MySocialMedia from './my-social-media.vue'
import Vuex from 'vuex'
import Styleguide from '@human-connection/styleguide'
@@ -12,23 +13,17 @@ localVue.use(Filters)
describe('my-social-media.vue', () => {
let wrapper
- let store
let mocks
let getters
- let input
- let submitBtn
const socialMediaUrl = 'https://freeradical.zone/@mattwr18'
+ const newSocialMediaUrl = 'https://twitter.com/mattwr18'
+ const faviconUrl = 'https://freeradical.zone/favicon.ico'
beforeEach(() => {
mocks = {
$t: jest.fn(),
$apollo: {
- mutate: jest
- .fn()
- .mockRejectedValue({ message: 'Ouch!' })
- .mockResolvedValueOnce({
- data: { CreateSocialMeda: { id: 's1', url: socialMediaUrl } },
- }),
+ mutate: jest.fn(),
},
$toast: {
error: jest.fn(),
@@ -43,79 +38,161 @@ describe('my-social-media.vue', () => {
})
describe('mount', () => {
+ let form, input, submitButton
const Wrapper = () => {
- store = new Vuex.Store({
+ const store = new Vuex.Store({
getters,
})
return mount(MySocialMedia, { store, mocks, localVue })
}
- it('renders', () => {
- wrapper = Wrapper()
- expect(wrapper.contains('div')).toBe(true)
- })
-
- describe('given currentUser has a social media account linked', () => {
+ describe('adding social media link', () => {
beforeEach(() => {
- getters = {
- 'auth/user': () => {
- return {
- socialMedia: [{ id: 's1', url: socialMediaUrl }],
- }
- },
- }
- })
-
- it("displays a link to the currentUser's social media", () => {
wrapper = Wrapper()
- const socialMediaLink = wrapper.find('a').attributes().href
- expect(socialMediaLink).toBe(socialMediaUrl)
+ form = wrapper.find('form')
+ input = wrapper.find('input#addSocialMedia')
+ submitButton = wrapper.find('button')
})
- beforeEach(() => {
- mocks = {
- $t: jest.fn(),
- $apollo: {
- mutate: jest
- .fn()
- .mockRejectedValue({ message: 'Ouch!' })
- .mockResolvedValueOnce({
- data: { DeleteSocialMeda: { id: 's1', url: socialMediaUrl } },
- }),
- },
- $toast: {
- error: jest.fn(),
- success: jest.fn(),
- },
- }
- getters = {
- 'auth/user': () => {
- return {
- socialMedia: [{ id: 's1', url: socialMediaUrl }],
- }
- },
- }
+ it('requires the link to be a valid url', () => {
+ input.setValue('some value')
+ form.trigger('submit')
+
+ expect(mocks.$apollo.mutate).not.toHaveBeenCalled()
})
- it('displays a trash sympol after a social media and allows the user to delete it', () => {
- wrapper = Wrapper()
- const deleteSelector = wrapper.find({ name: 'delete' })
- expect(deleteSelector).toEqual({ selector: 'Component' })
- const icon = wrapper.find({ name: 'trash' })
- icon.trigger('click')
- expect(mocks.$apollo.mutate).toHaveBeenCalledTimes(1)
+ it('displays an error message when not saved successfully', async () => {
+ mocks.$apollo.mutate.mockRejectedValue({ message: 'Ouch!' })
+ input.setValue(newSocialMediaUrl)
+ form.trigger('submit')
+
+ await flushPromises()
+
+ expect(mocks.$toast.error).toHaveBeenCalledTimes(1)
+ })
+
+ describe('success', () => {
+ beforeEach(() => {
+ mocks.$apollo.mutate.mockResolvedValue({
+ data: { CreateSocialMedia: { id: 's2', url: newSocialMediaUrl } },
+ })
+ input.setValue(newSocialMediaUrl)
+ form.trigger('submit')
+ })
+
+ it('sends the new url to the backend', () => {
+ const expected = expect.objectContaining({
+ variables: { url: newSocialMediaUrl },
+ })
+
+ expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expected)
+ })
+
+ it('displays a success message', async () => {
+ await flushPromises()
+
+ expect(mocks.$toast.success).toHaveBeenCalledTimes(1)
+ })
+
+ it('clears the form', async () => {
+ await flushPromises()
+
+ expect(input.value).toBe(undefined)
+ expect(submitButton.vm.$attrs.disabled).toBe(true)
+ })
})
})
- describe('currentUser does not have a social media account linked', () => {
- it('allows a user to add a social media link', () => {
+ describe('given existing social media links', () => {
+ beforeEach(() => {
+ getters = {
+ 'auth/user': () => ({
+ socialMedia: [{ id: 's1', url: socialMediaUrl }],
+ }),
+ }
+
wrapper = Wrapper()
- input = wrapper.find({ name: 'social-media' })
- input.element.value = socialMediaUrl
- input.trigger('input')
- submitBtn = wrapper.find('.ds-button')
- submitBtn.trigger('click')
- expect(mocks.$apollo.mutate).toHaveBeenCalledTimes(1)
+ form = wrapper.find('form')
+ })
+
+ describe('for each link it', () => {
+ it('displays the favicon', () => {
+ expect(wrapper.find(`img[src="${faviconUrl}"]`).exists()).toBe(true)
+ })
+
+ it('displays the url', () => {
+ expect(wrapper.find(`a[href="${socialMediaUrl}"]`).exists()).toBe(true)
+ })
+
+ it('displays the edit button', () => {
+ expect(wrapper.find('a[name="edit"]').exists()).toBe(true)
+ })
+
+ it('displays the delete button', () => {
+ expect(wrapper.find('a[name="delete"]').exists()).toBe(true)
+ })
+ })
+
+ it('does not accept a duplicate url', () => {
+ input = wrapper.find('input#addSocialMedia')
+
+ input.setValue(socialMediaUrl)
+ form.trigger('submit')
+
+ expect(mocks.$apollo.mutate).not.toHaveBeenCalled()
+ })
+
+ describe('editing social media link', () => {
+ beforeEach(() => {
+ const editButton = wrapper.find('a[name="edit"]')
+ editButton.trigger('click')
+ input = wrapper.find('input#editSocialMedia')
+ })
+
+ it('disables adding new links while editing', () => {
+ const addInput = wrapper.find('input#addSocialMedia')
+
+ expect(addInput.exists()).toBe(false)
+ })
+
+ it('sends the new url to the backend', () => {
+ const expected = expect.objectContaining({
+ variables: { id: 's1', url: newSocialMediaUrl },
+ })
+ input.setValue(newSocialMediaUrl)
+ form.trigger('submit')
+
+ expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expected)
+ })
+
+ it('allows the user to cancel editing', () => {
+ const cancelButton = wrapper.find('button#cancel')
+ cancelButton.trigger('click')
+
+ expect(wrapper.find('input#editSocialMedia').exists()).toBe(false)
+ })
+ })
+
+ describe('deleting social media link', () => {
+ beforeEach(() => {
+ const deleteButton = wrapper.find('a[name="delete"]')
+ deleteButton.trigger('click')
+ })
+
+ it('sends the link id to the backend', () => {
+ const expected = expect.objectContaining({
+ variables: { id: 's1' },
+ })
+
+ expect(mocks.$apollo.mutate).toHaveBeenCalledTimes(1)
+ expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expected)
+ })
+
+ it('displays a success message', async () => {
+ await flushPromises()
+
+ expect(mocks.$toast.success).toHaveBeenCalledTimes(1)
+ })
})
})
})
diff --git a/webapp/pages/settings/my-social-media.vue b/webapp/pages/settings/my-social-media.vue
index 948e77407..cf8537aa5 100644
--- a/webapp/pages/settings/my-social-media.vue
+++ b/webapp/pages/settings/my-social-media.vue
@@ -1,49 +1,90 @@
-
-
-
-
-
-
- {{ link.url }}
-
-
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('settings.social-media.submit') }}
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ link.url }}
+
+ |
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+ {{ editingLink.id ? $t('actions.save') : $t('settings.social-media.submit') }}
+
+
+ {{ $t('actions.cancel') }}
+
+
+
+
+
+
diff --git a/webapp/styleguide/src/system/icons/svg/bold.svg b/webapp/styleguide/src/system/icons/svg/bold.svg
deleted file mode 100755
index c3516808d..000000000
--- a/webapp/styleguide/src/system/icons/svg/bold.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-bold
-
-
diff --git a/webapp/styleguide/src/system/icons/svg/italic.svg b/webapp/styleguide/src/system/icons/svg/italic.svg
deleted file mode 100755
index 81d29483c..000000000
--- a/webapp/styleguide/src/system/icons/svg/italic.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-italic
-
-
diff --git a/webapp/styleguide/src/system/icons/svg/list-ol.svg b/webapp/styleguide/src/system/icons/svg/list-ol.svg
deleted file mode 100755
index f3fb101ac..000000000
--- a/webapp/styleguide/src/system/icons/svg/list-ol.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-list-ol
-
-
diff --git a/webapp/styleguide/src/system/icons/svg/list-ul.svg b/webapp/styleguide/src/system/icons/svg/list-ul.svg
deleted file mode 100755
index d565a8064..000000000
--- a/webapp/styleguide/src/system/icons/svg/list-ul.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-list-ul
-
-
diff --git a/webapp/styleguide/src/system/icons/svg/paragraph.svg b/webapp/styleguide/src/system/icons/svg/paragraph.svg
deleted file mode 100755
index 26365f984..000000000
--- a/webapp/styleguide/src/system/icons/svg/paragraph.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-paragraph
-
-
diff --git a/webapp/styleguide/src/system/icons/svg/quote-right.svg b/webapp/styleguide/src/system/icons/svg/quote-right.svg
deleted file mode 100755
index 4e6469624..000000000
--- a/webapp/styleguide/src/system/icons/svg/quote-right.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-quote-right
-
-
diff --git a/webapp/yarn.lock b/webapp/yarn.lock
index e13a49811..6dc513a0f 100644
--- a/webapp/yarn.lock
+++ b/webapp/yarn.lock
@@ -729,7 +729,7 @@
dependencies:
regenerator-runtime "^0.12.0"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.5.0":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132"
integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==
@@ -1443,16 +1443,16 @@
warning "^3.0.0"
"@storybook/addon-a11y@^5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-5.1.9.tgz#3feea3f49680f6c311cefd1838b82721d59f397e"
- integrity sha512-5u90lEpJtO1W8unwNy5fKTKQG7Sbe3IZJpiC6rf1MdGk0avSwoxDyblt0NImPDBHTh4LeUcuCn57D7AVNLUplg==
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-5.1.10.tgz#0bf37a8e2827cdaa199b293b14e71e8434246591"
+ integrity sha512-YiRj/8IQ5zq/I+x+aRyfS5PP9nTfuTU7O90+WtNomqCJPMBOrR3BYsEcl510jOy2iwhQwh76MFT5s1tKpMclAA==
dependencies:
- "@storybook/addons" "5.1.9"
- "@storybook/api" "5.1.9"
- "@storybook/client-logger" "5.1.9"
- "@storybook/components" "5.1.9"
- "@storybook/core-events" "5.1.9"
- "@storybook/theming" "5.1.9"
+ "@storybook/addons" "5.1.10"
+ "@storybook/api" "5.1.10"
+ "@storybook/client-logger" "5.1.10"
+ "@storybook/components" "5.1.10"
+ "@storybook/core-events" "5.1.10"
+ "@storybook/theming" "5.1.10"
axe-core "^3.2.2"
common-tags "^1.8.0"
core-js "^3.0.1"
@@ -1466,15 +1466,15 @@
util-deprecate "^1.0.2"
"@storybook/addon-actions@^5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.1.9.tgz#a515b62b109cb886ccd75ef2f5b12f8c27b43dd3"
- integrity sha512-h/csHPotBESyEUYlML3yyF2jUlDChB+u3TUNC3Ztzh/x7HzLqy88SL0INSIdY0dCBGx4TK5Gh+rMI7z28Hfdyw==
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.1.10.tgz#8ed4272a6afc68f4a30372da2eeff414f0fe6ecd"
+ integrity sha512-njl2AHBGi27NvisOB8LFnWH/3RcyJT/CW7tl1cvV2j5FH2oBjq5MsjxKyJIcKwC677k1Wr8G8fw/zSEHrPpmgA==
dependencies:
- "@storybook/addons" "5.1.9"
- "@storybook/api" "5.1.9"
- "@storybook/components" "5.1.9"
- "@storybook/core-events" "5.1.9"
- "@storybook/theming" "5.1.9"
+ "@storybook/addons" "5.1.10"
+ "@storybook/api" "5.1.10"
+ "@storybook/components" "5.1.10"
+ "@storybook/core-events" "5.1.10"
+ "@storybook/theming" "5.1.10"
core-js "^3.0.1"
fast-deep-equal "^2.0.1"
global "^4.3.2"
@@ -1485,28 +1485,28 @@
react-inspector "^3.0.2"
uuid "^3.3.2"
-"@storybook/addons@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.1.9.tgz#ecf218d08508b97ca5e6e0f1ed361081385bd3ff"
- integrity sha512-1bavbcS/NiE65DwyKj8c0DmWmz9VekOinB+has2Pqt2bOffZoZwVnbmepcz9hH3GUyvp5fQBYbxTEmTDvF2lLA==
+"@storybook/addons@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.1.10.tgz#2d8d8ca20b6d9b4652744f5fc00ead483f705435"
+ integrity sha512-M9b2PCp9RZxDC6wL7vVt2SCKCGXrrEAOsdpMvU569yB1zoUPEiiqElVDwb91O2eAGPnmd2yjImp90kOpKUW0EA==
dependencies:
- "@storybook/api" "5.1.9"
- "@storybook/channels" "5.1.9"
- "@storybook/client-logger" "5.1.9"
+ "@storybook/api" "5.1.10"
+ "@storybook/channels" "5.1.10"
+ "@storybook/client-logger" "5.1.10"
core-js "^3.0.1"
global "^4.3.2"
util-deprecate "^1.0.2"
-"@storybook/api@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.1.9.tgz#eec5b2f775392ce0803930104c6ce14fa4931e8b"
- integrity sha512-d1HhpOkW+706/WJ9lP5nCqOrp/icvbm0o+6jFFOGJ35AW5O9D8vDBxzvgMEO45jjN4I+rtbcNHQCxshSbPvP9w==
+"@storybook/api@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.1.10.tgz#5eeb5d9a7c268e5c89bd40c9a80293a7c72343b8"
+ integrity sha512-YeZe/71zLMmgT95IMAEZOc9AwL6Y23mWvkZMwFbkokxS9+bU/qmVlQ0B9c3JBzO3OSs7sXaRqyP1o3QkQgVsiw==
dependencies:
- "@storybook/channels" "5.1.9"
- "@storybook/client-logger" "5.1.9"
- "@storybook/core-events" "5.1.9"
- "@storybook/router" "5.1.9"
- "@storybook/theming" "5.1.9"
+ "@storybook/channels" "5.1.10"
+ "@storybook/client-logger" "5.1.10"
+ "@storybook/core-events" "5.1.10"
+ "@storybook/router" "5.1.10"
+ "@storybook/theming" "5.1.10"
core-js "^3.0.1"
fast-deep-equal "^2.0.1"
global "^4.3.2"
@@ -1520,33 +1520,33 @@
telejson "^2.2.1"
util-deprecate "^1.0.2"
-"@storybook/channel-postmessage@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.1.9.tgz#bd710ca74d7998a234c6b1f38009020d7c34bbc0"
- integrity sha512-H71PsnDKW81eflOS48Lv9yK4O8AcoqXL6ohsWvLdrHWIBsH4zpjOIhdWHtmAaT3hyfMy+l49DQ+uCHLECEt55g==
+"@storybook/channel-postmessage@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.1.10.tgz#e0a58461d56ef20a87d8bc4df1067e7afc76950e"
+ integrity sha512-kQZIwltN2cWDXluhCfdModFDK1LHV9ZhNQ1b/uD9vn1c65rQ9u7r4lRajCfS0X1dmAWqz48cBcEurAubNgmswg==
dependencies:
- "@storybook/channels" "5.1.9"
- "@storybook/client-logger" "5.1.9"
+ "@storybook/channels" "5.1.10"
+ "@storybook/client-logger" "5.1.10"
core-js "^3.0.1"
global "^4.3.2"
telejson "^2.2.1"
-"@storybook/channels@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.1.9.tgz#003cfca0b9f1ba6cf47ce68304aedd71bdb55e74"
- integrity sha512-R6i7859FsXgY9XFFErVe7gS37wGYpQEEWsO1LzUW7YptGuFTUa8yLgKkNkgfy7Zs61Xm+GiBq8PvS/CWxjotPw==
+"@storybook/channels@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.1.10.tgz#04fd35c05032c675f7816ea1ca873c1a0415c6d9"
+ integrity sha512-w7n/bV1BLu51KI1eLc75lN9H1ssBc3PZMXk88GkMiKyBVRzPlJA5ixnzH86qwYGReE0dhRpsgHXZ5XmoKaVmPA==
dependencies:
core-js "^3.0.1"
-"@storybook/client-api@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.1.9.tgz#b598efe4ab07bffaeb4cb9e30ed9c21add739df1"
- integrity sha512-J5HDtOS7x5YRpF/CMiHdxywV5NIh1i/03Xh2RhG15lmPy87VStIGpLzhF71uCRPLEJinYelcjuXRNAJgRzUOlg==
+"@storybook/client-api@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.1.10.tgz#a10f028f2d33d044e5c3b3daea5d8375323e6a66"
+ integrity sha512-v2PqiNUhwDlVDLYL94f6LFjdYMToTpuwWh9aeqzt/4PAJUnIcA+2P8+qXiYdJTqQy/u7P72HFMlc9Ru4tl3QFg==
dependencies:
- "@storybook/addons" "5.1.9"
- "@storybook/client-logger" "5.1.9"
- "@storybook/core-events" "5.1.9"
- "@storybook/router" "5.1.9"
+ "@storybook/addons" "5.1.10"
+ "@storybook/client-logger" "5.1.10"
+ "@storybook/core-events" "5.1.10"
+ "@storybook/router" "5.1.10"
common-tags "^1.8.0"
core-js "^3.0.1"
eventemitter3 "^3.1.0"
@@ -1556,20 +1556,20 @@
memoizerific "^1.11.3"
qs "^6.6.0"
-"@storybook/client-logger@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.1.9.tgz#87e2f7578416269adeccd407584010bc353f14d3"
- integrity sha512-1+Otcn0EFgWNviDPNCR5LtUViADlboz9fmpZc7UY7bgaY5FVNIUO01E4T43tO7fduiRZoEvdltwTuQRm260Vjw==
+"@storybook/client-logger@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.1.10.tgz#f83a8717924dd222e0a6df82ae74701f27e0bb35"
+ integrity sha512-vB1NoFWRTgcERwodhbgoDwI00eqU8++nXI7GhMS1CY8haZaSp3gyKfHRWyfH+M+YjQuGBRUcvIk4gK6OtSrDOw==
dependencies:
core-js "^3.0.1"
-"@storybook/components@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.1.9.tgz#2a5258780fff07172d103287759946dbb4b13e2d"
- integrity sha512-F4xcRlifSAfqkuFWtCKRvQDahXyfWBWV2Wa+kYy4YGwEfm3kKtIHVlgdgARL22g9BdYpRFEOJ+42juOu5YvIeQ==
+"@storybook/components@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.1.10.tgz#4b6436f0b5bb2483fb231bee263d173a9ed7d241"
+ integrity sha512-QUQeeQp1xNWiL4VlxFAea0kqn2zvBfmfPlUddOFO9lBhT6pVy0xYPjXjbTVWjVcYzZpyUNWw5GplqrR5jhlaCA==
dependencies:
- "@storybook/client-logger" "5.1.9"
- "@storybook/theming" "5.1.9"
+ "@storybook/client-logger" "5.1.10"
+ "@storybook/theming" "5.1.10"
core-js "^3.0.1"
global "^4.3.2"
markdown-to-jsx "^6.9.1"
@@ -1587,32 +1587,32 @@
recompose "^0.30.0"
simplebar-react "^1.0.0-alpha.6"
-"@storybook/core-events@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.1.9.tgz#441a6297e2ccfa743e15d1db1f4ac445b91f40d8"
- integrity sha512-jHe2uyoLj9i6fntHtOj5azfGdLOb75LF0e1xXE8U2SX7Zp3uwbLAcfJ+dPStdc/q+f/wBiip3tH1dIjaNuUiMw==
+"@storybook/core-events@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.1.10.tgz#5aed88c572036b6bd6dfff28976ee96e6e175d7a"
+ integrity sha512-Lvu/rNcgS+XCkQKSGdNpUSWjpFF9AOSHPXsvkwHbRwJYdMDn3FznlXfDUiubOWtsziXHB6vl3wkKDlH+ckb32Q==
dependencies:
core-js "^3.0.1"
-"@storybook/core@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.1.9.tgz#8b30507676531fd41ac333b7c71b1c0db6b8da35"
- integrity sha512-P3aavCnl3Cl3WMXVERjQqnqV1Z8tN0tyOTqqiGb1fMxITSE8uZNvp33Dl0K3jr1PBl9trW+2t7eHH4h0sguLlQ==
+"@storybook/core@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.1.10.tgz#53d23d07716aa2721e1572d44a7f05967d7da39e"
+ integrity sha512-zkNjufOFrLpFpmr73F/gaJh0W0vWqXIo5zrKvQt1LqmMeCU/v8MstHi4XidlK43UpeogfaXl5tjNCQDO/bd0Dw==
dependencies:
"@babel/plugin-proposal-class-properties" "^7.3.3"
"@babel/plugin-proposal-object-rest-spread" "^7.3.2"
"@babel/plugin-syntax-dynamic-import" "^7.2.0"
"@babel/plugin-transform-react-constant-elements" "^7.2.0"
"@babel/preset-env" "^7.4.5"
- "@storybook/addons" "5.1.9"
- "@storybook/channel-postmessage" "5.1.9"
- "@storybook/client-api" "5.1.9"
- "@storybook/client-logger" "5.1.9"
- "@storybook/core-events" "5.1.9"
- "@storybook/node-logger" "5.1.9"
- "@storybook/router" "5.1.9"
- "@storybook/theming" "5.1.9"
- "@storybook/ui" "5.1.9"
+ "@storybook/addons" "5.1.10"
+ "@storybook/channel-postmessage" "5.1.10"
+ "@storybook/client-api" "5.1.10"
+ "@storybook/client-logger" "5.1.10"
+ "@storybook/core-events" "5.1.10"
+ "@storybook/node-logger" "5.1.10"
+ "@storybook/router" "5.1.10"
+ "@storybook/theming" "5.1.10"
+ "@storybook/ui" "5.1.10"
airbnb-js-shims "^1 || ^2"
autoprefixer "^9.4.9"
babel-plugin-add-react-displayname "^0.0.5"
@@ -1666,10 +1666,10 @@
webpack-dev-middleware "^3.7.0"
webpack-hot-middleware "^2.25.0"
-"@storybook/node-logger@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.1.9.tgz#4aacf0096811fde1639fc9d1d2d521f7220dd4be"
- integrity sha512-rcSuI5n53hDMHW83gl5TR0Yn885/i2XY0AzX1DsbTeGOl3x5LhrCSZsZWetKGcx7zsO4n7o5mQszLuN1JlyE8A==
+"@storybook/node-logger@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.1.10.tgz#92c80b46177687cd8fda1f93a055c22711984154"
+ integrity sha512-Z4UKh7QBOboQhUF5S/dKOx3OWWCNZGwYu8HZa/O+P68+XnQDhuZCYwqWG49xFhZd0Jb0W9gdUL2mWJw5POG9PA==
dependencies:
chalk "^2.4.2"
core-js "^3.0.1"
@@ -1677,10 +1677,10 @@
pretty-hrtime "^1.0.3"
regenerator-runtime "^0.12.1"
-"@storybook/router@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.1.9.tgz#8cd97bea4f2acf8ec5f6694d06fb0633dde33417"
- integrity sha512-eAmeerE/OTIwCV7WBnb1BPINVN1GTSMsUXLNWpqSISuyWJ+NZAJlObFkvXoc57QSQlv0cvXlm1FMkmRt8ku1Hw==
+"@storybook/router@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.1.10.tgz#d3cffd3f1105eb665882f389746ccabbb98c3c16"
+ integrity sha512-BdG6/essPZFHCP2ewCG0gYFQfmuuTSHXAB5fd/rwxLSYj1IzNznC5OxkvnSaTr4rgoxxaW/z1hbN1NuA0ivlFA==
dependencies:
"@reach/router" "^1.2.1"
core-js "^3.0.1"
@@ -1688,14 +1688,14 @@
memoizerific "^1.11.3"
qs "^6.6.0"
-"@storybook/theming@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.1.9.tgz#c425f5867fae0db79e01112853b1808332a5f1a2"
- integrity sha512-4jIFJwTWVf9tsv27noLoFHlKC2Jl9DHV3q+rxGPU8bTNbufCu4oby82SboO5GAKuS3eu1cxL1YY9pYad9WxfHg==
+"@storybook/theming@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.1.10.tgz#f9bd519cdf9cccf730656e3f5fd56a339dd07c9f"
+ integrity sha512-5cN1lmdVUwAR8U3T49Lfb8JW5RBvxBSPGZpUmbLGz1zi0tWBJgYXoGtw4RbTBjV9kCQOXkHGH12AsdDxHh931w==
dependencies:
"@emotion/core" "^10.0.9"
"@emotion/styled" "^10.0.7"
- "@storybook/client-logger" "5.1.9"
+ "@storybook/client-logger" "5.1.10"
common-tags "^1.8.0"
core-js "^3.0.1"
deep-object-diff "^1.1.0"
@@ -1706,19 +1706,19 @@
prop-types "^15.7.2"
resolve-from "^5.0.0"
-"@storybook/ui@5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.1.9.tgz#406667469e6dbdf320086647d8d80776bb051a51"
- integrity sha512-guzKv4VYM+06BzMXeO3QqlX0IwUHyeS6lwdPCL8Oy2V4Gi2IYHHiD6Hr1NgnBO18j9luxE38f4Ii7gEIzXMFbQ==
+"@storybook/ui@5.1.10":
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.1.10.tgz#4262b1b09efa43d125d694452ae879b89071edd1"
+ integrity sha512-ezkoVtzoKh93z2wzkqVIqyrIzTkj8tizgAkoPa7mUAbLCxu6LErHITODQoyEiJWI4Epy3yU9GYXFWwT71hdwsA==
dependencies:
- "@storybook/addons" "5.1.9"
- "@storybook/api" "5.1.9"
- "@storybook/channels" "5.1.9"
- "@storybook/client-logger" "5.1.9"
- "@storybook/components" "5.1.9"
- "@storybook/core-events" "5.1.9"
- "@storybook/router" "5.1.9"
- "@storybook/theming" "5.1.9"
+ "@storybook/addons" "5.1.10"
+ "@storybook/api" "5.1.10"
+ "@storybook/channels" "5.1.10"
+ "@storybook/client-logger" "5.1.10"
+ "@storybook/components" "5.1.10"
+ "@storybook/core-events" "5.1.10"
+ "@storybook/router" "5.1.10"
+ "@storybook/theming" "5.1.10"
copy-to-clipboard "^3.0.8"
core-js "^3.0.1"
core-js-pure "^3.0.1"
@@ -1747,11 +1747,11 @@
util-deprecate "^1.0.2"
"@storybook/vue@~5.1.9":
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/@storybook/vue/-/vue-5.1.9.tgz#ff37730e3d9575b389dddc6870a07c34c7a53e47"
- integrity sha512-ssBQOHdArHFn/FXVsXqi+FiiSvnulux6CIjmaZTjWMgktDa1Hp7TWFN3rlYCM+WxO2KBtydK5AyRWd8+r9YelQ==
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/@storybook/vue/-/vue-5.1.10.tgz#37916c93faf2eca21497b359748109727ccf3216"
+ integrity sha512-UeRbQ5bOWUTx5oBMfPf+ZtP5E5X74nFFhrkg0yNakohW6pLuTVoci/G8hDJ4wsjT7PgNjoE1/dggf4JKCU9tjA==
dependencies:
- "@storybook/core" "5.1.9"
+ "@storybook/core" "5.1.10"
common-tags "^1.8.0"
core-js "^3.0.1"
global "^4.3.2"
@@ -1866,6 +1866,11 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
+"@types/json-schema@^7.0.3":
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636"
+ integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==
+
"@types/long@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef"
@@ -1937,6 +1942,23 @@
resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d"
integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==
+"@typescript-eslint/experimental-utils@^1.13.0":
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e"
+ integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/typescript-estree" "1.13.0"
+ eslint-scope "^4.0.0"
+
+"@typescript-eslint/typescript-estree@1.13.0":
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e"
+ integrity sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==
+ dependencies:
+ lodash.unescape "4.0.1"
+ semver "5.5.0"
+
"@vue/babel-helper-vue-jsx-merge-props@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz#048fe579958da408fb7a8b2a3ec050b50a661040"
@@ -2049,14 +2071,12 @@
source-map "~0.6.1"
vue-template-es2015-compiler "^1.9.0"
-"@vue/eslint-config-prettier@~4.0.1":
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/@vue/eslint-config-prettier/-/eslint-config-prettier-4.0.1.tgz#a036d0d2193c5c836542b35a3a7c35c4e1c68c97"
- integrity sha512-rJEDXPb61Hfgg8GllO3XXFP98bcIxdNNHSrNcxP/vBSukOolgOwQyZJ5f5z/c7ViPyh5/IDlC4qBnhx/0n+I4g==
+"@vue/eslint-config-prettier@~5.0.0":
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/@vue/eslint-config-prettier/-/eslint-config-prettier-5.0.0.tgz#ce66c8c4d9e01ad1d4e1a12140ab685bd5ef345a"
+ integrity sha512-OXcH+XWevp3DIdC3BBornC1q6/MNYfca/3HY66awV6aGm+dtkR/hpfBb6fX7nsVjcox13kgG+eSUtUfJ3uxZ8A==
dependencies:
- eslint-config-prettier "^3.3.0"
- eslint-plugin-prettier "^3.0.0"
- prettier "^1.15.2"
+ eslint-config-prettier "^6.0.0"
"@vue/server-test-utils@~1.0.0-beta.29":
version "1.0.0-beta.29"
@@ -2292,6 +2312,11 @@ acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.5, acorn@^6.0.7:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
+acorn@^6.2.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51"
+ integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==
+
address@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9"
@@ -2895,9 +2920,9 @@ aws4@^1.8.0:
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
axe-core@^3.2.2:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.3.0.tgz#3b32d7e54390d89ff4891b20394d33ad7a192776"
- integrity sha512-54XaTd2VB7A6iBnXMUG2LnBOI7aRbnrVxC5Tz+rVUwYl9MX/cIJc/Ll32YUoFIE/e9UKWMZoQenQu9dFrQyZCg==
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.3.1.tgz#3d1fa78cca8ead1b78c350581501e4e37b97b826"
+ integrity sha512-gw1T0JptHPF4AdLLqE8yQq3Z7YvsYkpFmFWd84r6hnq/QoKRr8icYHFumhE7wYl5TVIHgVlchMyJsAYh0CfwCQ==
axios-retry@^3.1.2:
version "3.1.2"
@@ -3419,7 +3444,7 @@ bluebird@^3.1.1, bluebird@^3.5.1, bluebird@^3.5.3:
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.4.tgz#d6cc661595de30d5b3af5fcedd3c0b3ef6ec5714"
integrity sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==
-bluebird@^3.3.5:
+bluebird@^3.3.5, bluebird@^3.5.5:
version "3.5.5"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
@@ -3694,6 +3719,27 @@ cacache@^11.0.2, cacache@^11.3.2:
unique-filename "^1.1.1"
y18n "^4.0.0"
+cacache@^12.0.2:
+ version "12.0.2"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c"
+ integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg==
+ dependencies:
+ bluebird "^3.5.5"
+ chownr "^1.1.1"
+ figgy-pudding "^3.5.1"
+ glob "^7.1.4"
+ graceful-fs "^4.1.15"
+ infer-owner "^1.0.3"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.3"
+ ssri "^6.0.1"
+ unique-filename "^1.1.1"
+ y18n "^4.0.0"
+
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -3807,9 +3853,9 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000957, can
integrity sha512-rUBIbap+VJfxTzrM4akJ00lkvVb5/n5v3EGXfWzSH5zT8aJmGzjA8HWhJ4U6kCpzxozUSnB+yvAYDRPY6mRpgQ==
caniuse-lite@^1.0.30000955:
- version "1.0.30000985"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz#0eb40f6c8a8c219155cbe43c4975c0efb4a0f77f"
- integrity sha512-1ngiwkgqAYPG0JSSUp3PUDGPKKY59EK7NrGGX+VOxaKCNzRbNc7uXMny+c3VJfZxtoK3wSImTvG9T9sXiTw2+w==
+ version "1.0.30000988"
+ 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.30000973:
version "1.0.30000973"
@@ -4172,7 +4218,7 @@ commander@2.17.x:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
-commander@^2.18.0, commander@^2.19.0, commander@~2.20.0:
+commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.0:
version "2.20.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
@@ -4330,10 +4376,10 @@ cookie-signature@1.0.6:
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
-cookie-universal-nuxt@~2.0.16:
- version "2.0.16"
- resolved "https://registry.yarnpkg.com/cookie-universal-nuxt/-/cookie-universal-nuxt-2.0.16.tgz#8d528098c973162b352199240e40da0e5429b13f"
- integrity sha512-wRK2zw8w+a5xPehb5kLbgOic/4mbjl2exUCxWZwGuttcwsFgOymiwDrCOzmQslqrDevPDL2SsBbH6wtOm7dB9g==
+cookie-universal-nuxt@~2.0.17:
+ version "2.0.17"
+ resolved "https://registry.yarnpkg.com/cookie-universal-nuxt/-/cookie-universal-nuxt-2.0.17.tgz#efa066cade8bc28ab81046c35b6557e3e4ec29fb"
+ integrity sha512-kJTLOJFOJBiWHd8ehLnheTNyFJbc4zqdZ9YinDSZmWgBMKOrNPd+3hTCsSVGCmybJdpmEJkDenSbRg/xFouqTQ==
dependencies:
"@types/cookie" "^0.3.1"
cookie-universal "^2.0.16"
@@ -4425,12 +4471,12 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
corejs-upgrade-webpack-plugin@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.1.0.tgz#6afa44672486353ae639c297548c0686b64fb325"
- integrity sha512-gc+S4t8VT9YFSgOPrhZlD6kDoGZtUq71QwXxS2neGNPhli0veKhbzzilODIpy73TjXGUrCHCpevK8vBnzUPuhw==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.2.0.tgz#503293bf1fdcb104918eb40d0294e4776ad6923a"
+ integrity sha512-J0QMp9GNoiw91Kj/dkIQFZeiCXgXoja/Wlht1SPybxerBWh4NCmb0pOgCv61lrlQZETwvVVfAFAA3IqoEO9aqQ==
dependencies:
resolve-from "^5.0.0"
- webpack "^4.33.0"
+ webpack "^4.38.0"
cors@^2.8.4:
version "2.8.5"
@@ -4840,10 +4886,10 @@ data-urls@^1.0.0:
whatwg-mimetype "^2.2.0"
whatwg-url "^7.0.0"
-date-fns@2.0.0-beta.2:
- version "2.0.0-beta.2"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.0-beta.2.tgz#ccd556df832ef761baa88c600f53d2e829245999"
- integrity sha512-4cicZF707RNerr3/Q3CcdLo+3OHMCfrRXE7h5iFgn7AMvX07sqKLxSf8Yp+WJW5bvKr2cy9/PkctXLv4iFtOaA==
+date-fns@2.0.0-beta.3:
+ version "2.0.0-beta.3"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.0-beta.3.tgz#2e28f5af945930f774ddd778e184d68227101d55"
+ integrity sha512-z5O262BvHPhwUvA1weXH+AZodygnZUcORERw8hjwBUrRPGrAo2e/rjXfC8Ykf1OGJZGDuLnK/WXbEZBIc0exGQ==
date-now@^0.1.4:
version "0.1.4"
@@ -5239,9 +5285,9 @@ ejs@^2.6.1:
integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==
electron-to-chromium@^1.3.122:
- version "1.3.199"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.199.tgz#f9a62a74cda77854310a2abffde8b75591ea09a1"
- integrity sha512-gachlDdHSK47s0N2e58GH9HMC6Z4ip0SfmYUa5iEbE50AKaOUXysaJnXMfKj0xB245jWbYcyFSH+th3rqsF8hA==
+ version "1.3.208"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.208.tgz#6df90b89e8b9af139db3c8d7a6b935db0801e61c"
+ integrity sha512-ljgZXaKSfRg32jEl1V8zRJaT3u653jxfZRztKQWM/I1kE+ifBCQKRY+jOPzb4JS48a4czvT/LQfjdiDq5qjU4g==
electron-to-chromium@^1.3.133:
version "1.3.137"
@@ -5409,14 +5455,7 @@ escodegen@^1.9.1:
optionalDependencies:
source-map "~0.6.1"
-eslint-config-prettier@^3.3.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.6.0.tgz#8ca3ffac4bd6eeef623a0651f9d754900e3ec217"
- integrity sha512-ixJ4U3uTLXwJts4rmSVW/lMXjlGwCijhBJHk8iVqKKSifeI0qgFEfWl8L63isfc8Od7EiBALF6BX3jKLluf/jQ==
- dependencies:
- get-stdin "^6.0.0"
-
-eslint-config-prettier@~6.0.0:
+eslint-config-prettier@^6.0.0, eslint-config-prettier@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.0.0.tgz#f429a53bde9fc7660e6353910fd996d6284d3c25"
integrity sha512-vDrcCFE3+2ixNT5H83g28bO/uYAwibJxerXPj+E7op4qzBCsAV36QfvdAyVOoNxKAH2Os/e01T/2x++V0LPukA==
@@ -5463,10 +5502,10 @@ eslint-plugin-es@^1.4.0:
eslint-utils "^1.3.0"
regexpp "^2.0.1"
-eslint-plugin-import@~2.18.0:
- version "2.18.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.0.tgz#7a5ba8d32622fb35eb9c8db195c2090bd18a3678"
- integrity sha512-PZpAEC4gj/6DEMMoU2Df01C5c50r7zdGIN52Yfi7CvvWaYssG7Jt5R9nFG5gmqodxNOz9vQS87xk6Izdtpdrig==
+eslint-plugin-import@~2.18.2:
+ version "2.18.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6"
+ integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==
dependencies:
array-includes "^3.0.3"
contains-path "^0.1.0"
@@ -5475,15 +5514,17 @@ eslint-plugin-import@~2.18.0:
eslint-import-resolver-node "^0.3.2"
eslint-module-utils "^2.4.0"
has "^1.0.3"
- lodash "^4.17.11"
minimatch "^3.0.4"
+ object.values "^1.1.0"
read-pkg-up "^2.0.0"
resolve "^1.11.0"
-eslint-plugin-jest@~22.11.1:
- version "22.11.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.11.1.tgz#04b586e2fddd07e55900a381255d6b3d9242ae87"
- integrity sha512-kPF1Nmr5xMLz6DT7qEttz0TTeyx1x6SozIkNO9y4F2yxuWjHMp/e70fo742pR3y0MewgXQQMIIXeSKLB66iO7Q==
+eslint-plugin-jest@~22.14.0:
+ version "22.14.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.14.0.tgz#f9b09837f665cfe360b55c08866904255294cc16"
+ integrity sha512-Xtc9ZTtxdYFC7vu0PHxDeQ9lOMQ8gjwMmSQq/ni83TdflgL3eVh/qg3t99I7gcDxpeXfcp+lHu9C0vN3QAhATw==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "^1.13.0"
eslint-plugin-node@~9.1.0:
version "9.1.0"
@@ -5497,7 +5538,7 @@ eslint-plugin-node@~9.1.0:
resolve "^1.10.1"
semver "^6.1.0"
-eslint-plugin-prettier@^3.0.0, eslint-plugin-prettier@~3.1.0:
+eslint-plugin-prettier@~3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d"
integrity sha512-XWX2yVuwVNLOUhQijAkXz+rMPPoCr7WFiAl8ig6I7Xn+pPVhDhzg4DxHpmbeb0iqjO9UronEA3Tb09ChnFVHHA==
@@ -6109,6 +6150,11 @@ flatten@^1.0.2:
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=
+flush-promises@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/flush-promises/-/flush-promises-1.0.2.tgz#4948fd58f15281fed79cbafc86293d5bb09b2ced"
+ integrity sha512-G0sYfLQERwKz4+4iOZYQEZVpOt9zQrlItIxQAAYAWpfby3gbHrx0osCHz5RLl/XoXevXk0xoN4hDFky/VV9TrA==
+
flush-write-stream@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
@@ -6296,19 +6342,25 @@ function-bind@^1.0.2, function-bind@^1.1.1:
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
function.prototype.name@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327"
- integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.1.tgz#6d252350803085abc2ad423d4fe3be2f9cbda392"
+ integrity sha512-e1NzkiJuw6xqVH7YSdiW/qDHebcmMhPNe6w+4ZYYEg0VA+LaLzx37RimbPLuonHhYGFGPx1ME2nSi74JiaCr/Q==
dependencies:
- define-properties "^1.1.2"
+ define-properties "^1.1.3"
function-bind "^1.1.1"
- is-callable "^1.1.3"
+ functions-have-names "^1.1.1"
+ is-callable "^1.1.4"
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+functions-have-names@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.1.1.tgz#79d35927f07b8e7103d819fed475b64ccf7225ea"
+ integrity sha512-U0kNHUoxwPNPWOJaMG7Z00d4a/qZVrFtzWJRaK8V9goaVOCXBSQSJpt3MYGNtkScKEBKovxLjnNdC9MlXwo5Pw==
+
fuse.js@^3.4.4, fuse.js@^3.4.5:
version "3.4.5"
resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.4.5.tgz#8954fb43f9729bd5dbcb8c08f251db552595a7a6"
@@ -7076,6 +7128,11 @@ indexof@0.0.1:
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
+infer-owner@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
+ integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
+
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@@ -7254,7 +7311,7 @@ is-buffer@^2.0.2:
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725"
integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==
-is-callable@^1.1.3, is-callable@^1.1.4:
+is-callable@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
@@ -8282,11 +8339,11 @@ launch-editor@^2.2.1:
shell-quote "^1.6.1"
lazy-universal-dotenv@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.0.tgz#e71f07f89d8de6bbf491478e4503df3c96729b8d"
- integrity sha512-Mbf5AeGOs74lE5BdQXHFJ7Rt383jxnWKNfW2EWL0Pibnhea5JRStRIiUpdTenyMxCGuCjlMpYQhhay1XZBSSQA==
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz#a6c8938414bca426ab8c9463940da451a911db38"
+ integrity sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==
dependencies:
- "@babel/runtime" "^7.0.0"
+ "@babel/runtime" "^7.5.0"
app-root-dir "^1.0.2"
core-js "^3.0.4"
dotenv "^8.0.0"
@@ -8432,11 +8489,6 @@ lodash.debounce@^4.0.8:
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
-lodash.get@^4.4.2:
- version "4.4.2"
- resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
- integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
-
lodash.includes@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
@@ -8517,6 +8569,11 @@ lodash.throttle@^4.1.1:
resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
+lodash.unescape@4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c"
+ integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=
+
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@@ -8760,9 +8817,9 @@ merge-stream@^1.0.1:
readable-stream "^2.0.1"
merge2@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5"
- integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3"
+ integrity sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A==
methods@~1.1.2:
version "1.1.2"
@@ -9156,9 +9213,9 @@ node-pre-gyp@^0.12.0:
tar "^4"
node-releases@^1.1.13:
- version "1.1.25"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.25.tgz#0c2d7dbc7fed30fbe02a9ee3007b8c90bf0133d3"
- integrity sha512-fI5BXuk83lKEoZDdH3gRhtsNgh05/wZacuXkgbiYkceE7+QIMXOg98n9ZV7mz27B+kFHnqHcUpscZZlGRSmTpQ==
+ version "1.1.26"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.26.tgz#f30563edc5c7dc20cf524cc8652ffa7be0762937"
+ integrity sha512-fZPsuhhUHMTlfkhDLGtfY80DSJTjOcx+qD1j5pqPkuhUHVS7xHZIg9EE4DHK8O3f0zTxXHX5VIkDG8pu98/wfQ==
dependencies:
semver "^5.3.0"
@@ -10632,7 +10689,7 @@ prettier@1.16.3:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.3.tgz#8c62168453badef702f34b45b6ee899574a6a65d"
integrity sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==
-prettier@^1.15.2, prettier@~1.18.2:
+prettier@~1.18.2:
version "1.18.2"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea"
integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==
@@ -10670,20 +10727,13 @@ pretty-time@^1.1.0:
resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
-prismjs@^1.8.4:
+prismjs@^1.8.4, prismjs@~1.17.0:
version "1.17.1"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be"
integrity sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==
optionalDependencies:
clipboard "^2.0.0"
-prismjs@~1.16.0:
- version "1.16.0"
- resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.16.0.tgz#406eb2c8aacb0f5f0f1167930cb83835d10a4308"
- integrity sha512-OA4MKxjFZHSvZcisLGe14THYsug/nF6O1f0pAJc0KN0wTyAcLqmsbE+lTGKSpyh+9pEW57+k6pg2AfYR+coyHA==
- optionalDependencies:
- clipboard "^2.0.0"
-
private@^0.1.6:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -11083,9 +11133,9 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.2.7:
strip-json-comments "~2.0.1"
react-clientside-effect@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.1.tgz#feb81abe9531061d4987941c15a00f2b3d0b6071"
- integrity sha512-foSwZatJak6r+F4OqJ8a+MOWcBi3jwa7/RPdJIDZI1Ck0dn/FJZkkFu7YK+SiZxsCZIrotolxHSobcnBHgIjfw==
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.2.tgz#6212fb0e07b204e714581dd51992603d1accc837"
+ integrity sha512-nRmoyxeok5PBO6ytPvSjKp9xwXg9xagoTK1mMjwnQxqM9Hd7MNPl+LS1bOSOe+CV2+4fnEquc7H/S8QD3q697A==
dependencies:
"@babel/runtime" "^7.0.0"
@@ -11423,13 +11473,13 @@ redux@^4.0.1:
symbol-observable "^1.2.0"
refractor@^2.4.1:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.9.0.tgz#0a381aadb51513e4e6ec1ed410b5104dd65e2489"
- integrity sha512-lCnCYvXpqd8hC7ksuvo516rz5q4NwzBbq0X5qjH5pxRfcQKiQxKZ8JctrSQmrR/7pcV2TRrs9TT+Whmq/wtluQ==
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.10.0.tgz#4cc7efc0028a87924a9b31d82d129dec831a287b"
+ integrity sha512-maW2ClIkm9IYruuFYGTqKzj+m31heq92wlheW4h7bOstP+gf8bocmMec+j7ljLcaB1CAID85LMB3moye31jH1g==
dependencies:
hastscript "^5.0.0"
parse-entities "^1.1.2"
- prismjs "~1.16.0"
+ prismjs "~1.17.0"
regenerate-unicode-properties@^8.0.2:
version "8.0.2"
@@ -11880,6 +11930,11 @@ semver-diff@^2.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
+semver@5.5.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
+ integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==
+
semver@^6.0.0, semver@^6.1.0, semver@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b"
@@ -12186,6 +12241,14 @@ source-map-support@^0.5.6, source-map-support@~0.5.10:
buffer-from "^1.0.0"
source-map "^0.6.0"
+source-map-support@~0.5.12:
+ version "0.5.13"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
+ integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
source-map-url@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
@@ -12336,9 +12399,9 @@ stealthy-require@^1.1.1:
integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
store2@^2.7.1:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/store2/-/store2-2.7.1.tgz#22070b7dc04748a792fc6912a58ab99d3a21d788"
- integrity sha512-zzzP5ZY6QWumnAFV6kBRbS44pUMcpZBNER5DWUe1HETlaKXqLcCQxbNu6IHaKr1pUsjuhUGBdOy8sWKmMkL6pQ==
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/store2/-/store2-2.8.0.tgz#032d5dcbd185a5d74049d67a1765ff1e75faa04b"
+ integrity sha512-FBJpcOEZQLZBIGL4Yp7W5RgZ0ejaURmcfUjIpyOb64BpI8z/iJXw7zd/NTBeq304dVMxuWVDZEUUCGn7llaVrA==
stream-browserify@^2.0.1:
version "2.0.2"
@@ -12673,16 +12736,16 @@ tar@^4:
yallist "^3.0.2"
telejson@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/telejson/-/telejson-2.2.1.tgz#d9ee7e7eba0c81d9378257342fde7142a03787e2"
- integrity sha512-JtFAnITek+Z9t+uQjVl4Fxur9Z3Bi3flytBLc3KZVXmMUHLXdtAxiP0g8IBkHvKn1kQIYZC57IG0jjGH1s64HQ==
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/telejson/-/telejson-2.2.2.tgz#d61d721d21849a6e4070d547aab302a9bd22c720"
+ integrity sha512-YyNwnKY0ilabOwYgC/J754En1xOe5PBIUIw+C9e0+5HjVVcnQE5/gdu2yET2pmSbp5bxIDqYNjvndj2PUkIiYA==
dependencies:
global "^4.3.2"
is-function "^1.0.1"
is-regex "^1.0.4"
is-symbol "^1.0.2"
isobject "^3.0.1"
- lodash.get "^4.4.2"
+ lodash "^4.17.11"
memoizerific "^1.11.3"
term-size@^1.2.0:
@@ -12711,7 +12774,22 @@ terser-webpack-plugin@^1.1.0:
webpack-sources "^1.1.0"
worker-farm "^1.5.2"
-terser-webpack-plugin@^1.2.4, terser-webpack-plugin@^1.3.0:
+terser-webpack-plugin@^1.2.4:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4"
+ integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==
+ dependencies:
+ cacache "^12.0.2"
+ find-cache-dir "^2.1.0"
+ is-wsl "^1.1.0"
+ schema-utils "^1.0.0"
+ serialize-javascript "^1.7.0"
+ source-map "^0.6.1"
+ terser "^4.1.2"
+ webpack-sources "^1.4.0"
+ worker-farm "^1.7.0"
+
+terser-webpack-plugin@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4"
integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==
@@ -12745,6 +12823,15 @@ terser@^4.0.0:
source-map "~0.6.1"
source-map-support "~0.5.10"
+terser@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391"
+ integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw==
+ dependencies:
+ commander "^2.20.0"
+ source-map "~0.6.1"
+ source-map-support "~0.5.12"
+
test-exclude@^5.2.3:
version "5.2.3"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0"
@@ -13610,10 +13697,10 @@ vue@^2.6.10, vue@^2.6.6:
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.10.tgz#a72b1a42a4d82a721ea438d1b6bf55e66195c637"
integrity sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==
-vuex-i18n@~1.11.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/vuex-i18n/-/vuex-i18n-1.11.0.tgz#e6cdc95080c445ab2c211cc6b64a907d217639d3"
- integrity sha512-+Eme0C7FS3VFLIWpAwisohC3KcRDw+YcXFANssUZZq16P2C4z8V2VGbEtFHFw0DzkvZcdM2CAkUj6rdMl9wYmg==
+vuex-i18n@~1.13.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/vuex-i18n/-/vuex-i18n-1.13.0.tgz#161c22548e1d3038523f5af49e5730e17a0ca4f2"
+ integrity sha512-r9ZS8NFr8OAIvtlSnqrQLFXxh07QHhkdeGem8RyWFBKej9/yxPAneBEQaLCUM0BOKPpAzBX8t2cjQmtukWbWLg==
vuex@^3.1.1:
version "3.1.1"
@@ -13734,6 +13821,14 @@ webpack-sources@^1.0.1, webpack-sources@^1.1.0, webpack-sources@^1.3.0:
source-list-map "^2.0.0"
source-map "~0.6.1"
+webpack-sources@^1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.1.tgz#b91b2c5b1c4e890ff50d1d35b7fa3657040da1da"
+ integrity sha512-XSz38193PTo/1csJabKaV4b53uRVotlMgqJXm3s3eje0Bu6gQTxYDqpD38CmQfDBA+gN+QqaGjasuC8I/7eW3Q==
+ dependencies:
+ source-list-map "^2.0.0"
+ source-map "~0.6.1"
+
webpack@^4.33.0:
version "4.33.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.33.0.tgz#c30fc4307db432e5c5e3333aaa7c16a15a3b277e"
@@ -13764,6 +13859,35 @@ webpack@^4.33.0:
watchpack "^1.5.0"
webpack-sources "^1.3.0"
+webpack@^4.38.0:
+ version "4.38.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.38.0.tgz#6d77108404b08883c78f4e7e45a43c4e5c47c931"
+ integrity sha512-lbuFsVOq8PZY+1Ytz/mYOvYOo+d4IJ31hHk/7iyoeWtwN33V+5HYotSH+UIb9tq914ey0Hot7z6HugD+je3sWw==
+ dependencies:
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/helper-module-context" "1.8.5"
+ "@webassemblyjs/wasm-edit" "1.8.5"
+ "@webassemblyjs/wasm-parser" "1.8.5"
+ acorn "^6.2.0"
+ ajv "^6.1.0"
+ ajv-keywords "^3.1.0"
+ chrome-trace-event "^1.0.0"
+ enhanced-resolve "^4.1.0"
+ eslint-scope "^4.0.0"
+ json-parse-better-errors "^1.0.2"
+ loader-runner "^2.3.0"
+ loader-utils "^1.1.0"
+ memory-fs "~0.4.1"
+ micromatch "^3.1.8"
+ mkdirp "~0.5.0"
+ neo-async "^2.5.0"
+ node-libs-browser "^2.0.0"
+ schema-utils "^1.0.0"
+ tapable "^1.1.0"
+ terser-webpack-plugin "^1.1.0"
+ watchpack "^1.5.0"
+ webpack-sources "^1.3.0"
+
webpackbar@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-3.2.0.tgz#bdaad103fad11a4e612500e72aaae98b08ba493f"
diff --git a/yarn.lock b/yarn.lock
index b3e4af00b..46815741d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1810,10 +1810,10 @@ cucumber@^4.2.1:
util-arity "^1.0.2"
verror "^1.9.0"
-cypress-cucumber-preprocessor@^1.12.0:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/cypress-cucumber-preprocessor/-/cypress-cucumber-preprocessor-1.12.0.tgz#092428ba267331e3d2cc6e1309c331d17632b8b1"
- integrity sha512-uKrWbs51hGeHiLgcSZcjFvvVEW9UdStsLVpD1snuPuik9WE61kbZv7xumlPjRmkMF81zTUGnNLwZuAk3CV9dEw==
+cypress-cucumber-preprocessor@^1.13.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/cypress-cucumber-preprocessor/-/cypress-cucumber-preprocessor-1.13.0.tgz#efacd70ce21c7d0adc60e25af166f5fb2e990fb8"
+ integrity sha512-Y3B4El3oYqKUvEhfn7k7NrX/hMJvOCJIO+sgMbvvPXsUngzLWUdiS2LOAaSxpV4t2BCyFuvfzGH0j+C3tu4UvA==
dependencies:
"@cypress/browserify-preprocessor" "^1.1.2"
chai "^4.1.2"
@@ -3569,10 +3569,10 @@ neo4j-driver@^1.6.3, neo4j-driver@^1.7.5:
text-encoding-utf-8 "^1.0.2"
uri-js "^4.2.2"
-neode@^0.2.16:
- version "0.2.16"
- resolved "https://registry.yarnpkg.com/neode/-/neode-0.2.16.tgz#20532cc67604fd00cc88de841d422f5238ae5bd3"
- integrity sha512-L9p55IDKGzAZsQgHdXrfd2xasDuB46RipcrPw6NP7ESgkmfJMaMWRZ1F3Kv+f4V4U1WnhZ1IILvwVFhYPnpXEg==
+neode@^0.2.18:
+ version "0.2.18"
+ resolved "https://registry.yarnpkg.com/neode/-/neode-0.2.18.tgz#b7cc26e69df46dbfc3ea2e97334db8691f52d9e7"
+ integrity sha512-oUWYMao6tM8DdsqeyaVUmFKhwEbjqIfwW2KKL9HQE4ffWK531cnslWqzu2B/xoQj+d1Q3Ebhe3to1U5Z1Y+pfQ==
dependencies:
dotenv "^4.0.0"
joi "^13.7.0"