diff --git a/backend/package.json b/backend/package.json index ab9f20f43..159e3f724 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", @@ -69,6 +70,22 @@ "linkifyjs": "~2.1.8", "lodash": "~4.17.14", "merge-graphql-schemas": "^1.6.1", + "metascraper": "^4.10.3", + "metascraper-audio": "^5.5.0", + "metascraper-author": "^4.8.5", + "metascraper-clearbit-logo": "^5.3.0", + "metascraper-date": "^4.8.5", + "metascraper-description": "^5.5.0", + "metascraper-image": "^4.8.5", + "metascraper-lang": "^4.8.5", + "metascraper-lang-detector": "^4.8.5", + "metascraper-logo": "^5.5.0", + "metascraper-publisher": "^4.8.5", + "metascraper-soundcloud": "^5.5.3", + "metascraper-title": "^4.8.5", + "metascraper-url": "^5.5.0", + "metascraper-video": "^4.8.5", + "metascraper-youtube": "^4.8.5", "neo4j-driver": "~1.7.4", "neo4j-graphql-js": "^2.6.3", "neode": "^0.2.16", 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
Mehr von Human Connection auf Facebook anzeigen
oder
Neues Konto erstellen
Willkommen bei Human Connection
Human Connection ist ein gemeinnütziges soziales Wissens- und Aktionsnetzwerk mit Sitz in Weilheim-T...
Mehr anzeigen
CommunityAlle ansehen
Highlights info row image
24.407 Personen gefällt das
Highlights info row image
25.652 Personen haben das abonniert
Highlights info row image
72 Besuche
Highlights info row image
Bahnhofstraße 11 (512,71 km)
73235 Weilheim an der Teck
Highlights info row image
01514 3804222
Highlights info row image
Preisklasse €
SeitentransparenzMehr anzeigen
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
Ähnliche Seiten
OrteWeilheim an der TeckHuman Connection
Beiträge

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
Bild könnte enthalten: Text

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.org
Human Connection ist unser Herzensprojekt, welches allerdings uns und auch euch sehr viel Geduld abfordert. Warum dauert das eigentlich so lange?
Videos
Schau es an und Du weißt, was zu tun ist
10
2
Messe Fair Handeln: Human Connection beim Hackathon (Stuttgart 26.-28.04.2019)
9
1
In Nerds We Trust - Open Source - Wir lieben freie Software!
4
1
+ + + + \ 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+ DE +
+
+
+ +
+
+
+

+ + + +Wird geladen... + +

+ +
+
+
+ +
+ +
+
+
+ +Du siehst YouTube auf Deutsch. +Du kannst diese Einstellung unten ändern. +
+
+ + You're viewing YouTube in German. + You can change this preference below. +
+
+
+ +
+
+ +
+
+ + +
+
+
+ +
+
+
+
+ + +
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

+ + + + + Baby Loves Cat + + +

+
+
+ + +
+ + + + + +
+
30.160.931 Aufrufe
+
+
+
+
+
+ + + + + +
+
+ + + +
+
+
+
+

+ + + +Wird geladen... + +

+ +
+
+
+ +
+ +
+
+
+

+ + + +Wird geladen... + +

+ +
+
+
+

+Transkript +

+
+ +
+ + + +
+
+Das interaktive Transkript konnte nicht geladen werden. +
+ + +
+
+ +
+ +
+
+

+ + + +Wird geladen... + +

+ +
+
+ + +
+
+ Die Bewertungsfunktion ist nach Ausleihen des Videos verfügbar. +
+ +
+ +
+
+ Diese Funktion ist gerade nicht verfügbar. Bitte versuche es später noch einmal. +
+
+ + +
+ + +
+ + +
Am 16.08.2015 veröffentlicht

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. Although I wish I were cool enough to dress my daughter in a starfish outfit.

Jukin Media Verified (Original)
*For licensing / permission to use please contact licensing(at)jukinmediadotcom

+
    +
  • +

    + Kategorie +

    + +
  • + +
+
+
+ +
+ + +
+
+
+ + +
+ Kommentare sind für dieses Video deaktiviert. +
+ +
+ + + + +
+
+
+
+ +
+ + +
+
+
+ + + +
+
+ +
+ +
+
+
+Anzeige +
+
+
+
+ + +
+
+
+
+
+ + + +Wenn Autoplay aktiviert ist, wird die Wiedergabe automatisch mit einem der aktuellen Videovorschläge fortgesetzt. + + + +
+

+ Nächstes Video +

+ + +
+
+ + +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+ +
+ +
+
+ + +
+
+ + +
+ , um dieses Video zur Playlist "Später ansehen" hinzuzufügen. + +
+
+

+Hinzufügen +

+
+
+

+ + + + Playlists werden geladen... + +

+ +
+
+ + + + + + + \ 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content +
+ + + + + + + + + + +
+ +
+ + +
+ +
+ + + +
+
+
+ + + + + + + + + + + + + + + +
+
+ +
    + + + + + +
  • + +
    + +
    + + + Unwatch + + +
    + Notifications +
    +
    + + + + + + + +
    +
    +
    + +
    +
  • + +
  • +
    +
    + + +
    +
    + + +
    + +
  • + +
  • +
    + + Fork + +
    + +

    Fork Human-Connection

    +
    +
    + +
    +

    If this dialog fails to load, you can visit the fork page directly.

    +
    +
    +
    +
    + + +
  • +
+ +

+ + /Human-Connection + + + + + + + + + +
+
+ + Select a Repo + + shift + + + z + + +
+
+
+
+ +
+
+ + +
+ Switch repository + + + + +
+ + +
+
+ +
+
+ + + +
+ Loading your repositories... +
+ + +
+
+
/Nitro +
+ + +

+ +
+ + + + +
+
+
+ + + +
+ + + + +
+ + +
+ +
+
+
+ + +
+ +

+ + Editor embeds merge in nitro embed + + #960 +

+
+ +
+
+ + + +
+
+
+ + + Open + + + +
+
+ + + wants to merge + 55 + commits into + + + + + +
+
+ + base: + master + + + + + + +
+
+ +
+ +from + + + + + +
+
+ + + +
+
+ + + + + + + +

Conversation

+
+ +
+ +
Pipelines
+ + + + + + + + +
+
+ +
+ + + + Projects + + +
+
+ Projects + +
+ +
+ +
+
+ +
+
+
+ + + + None yet + + +
+ +
Not inside a Release
+ + + +
+
+ +
+ 4 participants +
+ +
+
+ + + +
+
+ + + Lock conversation + + +
+
+ +

+ Lock conversation on this pull request +

+
+
+
    +
  • Other users can’t add new comments to this pull request.
  • +
  • + You and other members of teams with + write access + to this repository can still leave comments that others can see. +
  • +
  • You can always unlock this pull request again in the future.
  • +
+ +
+
+ +
+
+ +

+ Optionally, choose a reason for locking that others can see. Learn more about when + it’s appropriate to lock conversations. +

+
+
+
+ +
+
+
+ + + + + + +
+ +
+ +
+
+ + +
+ Move issue to another repository + + + + + +
+ + + + +
+
+ +
+
+ + +
+
+ Loading your repositories... +
+
+
+
+
+
+ + + +
+
+ + +
+ +
+
+ + +
+ + + +
+ @mattwr18 + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+ + + + + + +
+

+ Pick your reaction +

+ + + +
+ + + + + + + + + + +
+
+ +
+ + + + +
+ + + + + + Copy link + + + + + + + + + + + + Report abuse + + + +
+ +
+ + + + + Member + + + + + + +

+ + + + + commented + + + 18 days ago + + + + +

+
+ + +
+ + + + + + + + + +
+

cake Pullrequest

+ +

Issues

+ + +
+
+ + + + +
+
+ +
+ +
+
+ +
+ + + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + +

+ The content you are editing has changed. Please try again. +

+ + +
+ + + + + + + + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+ + +
+
+
+

Nothing to preview

+
+
+ +
+ +
+ + + + +
+ + +
+
+ + +
+ +
+
+ +
Editor embeds merge in nitro embed hasno dependencies
+ + + + +
+ + + + +
+ + +
+

+ + + + + appinteractive + and others + added some commits + + on Dec 27, 2018 + +

+
+
+ + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + + + +
+ + + +
+ +
+
+ +
+ + cc06d53 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + +
+ + Create README.md + + + +
+ +
+ + + +
+ +
+
+ +
+ + 3b49e9f + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + + + +
+ + + +
+ +
+
+ +
+ + 18bfc85 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + + + +
+ + + +
+ +
+
+ +
+ + f44121b + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + + + +
+ + + +
+ +
+
+ +
+ + 32fad61 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + + + +
+ + + +
+ +
+
+ +
+ + f8f0ff3 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + + + +
+ + + +
+ +
+
+ +
+ + 8e71c27 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + +
+ + Improved readme + + + +
+ +
+ + + +
+ +
+
+ +
+ + 053cc86 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + + + +
+ + + +
+ +
+
+ +
+ + 9ddf89d + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + +
+ + Upgraded screenshot + + + +
+ +
+ + + +
+ +
+
+ +
+ + c310644 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + + + +
+ + + +
+ +
+
+ +
+ + 296fc5a + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-bot +
+
+ + + +
+ + Bump got from 9.5.0 to 9.6.0 + + + + + +
Bumps [got](https://github.com/sindresorhus/got) from 9.5.0 to 9.6.0.
+- [Release notes](https://github.com/sindresorhus/got/releases)
+- [Commits](sindresorhus/got@v9.5.0...v9.6.0)
+
+Signed-off-by: dependabot[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + 6461a43 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-bot +
+
+ + + +
+ + Bump metascraper from 4.8.5 to 4.10.3 + + + + + +
Bumps [metascraper](https://github.com/microlinkhq/metascraper) from 4.8.5 to 4.10.3.
+- [Release notes](https://github.com/microlinkhq/metascraper/releases)
+- [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md)
+- [Commits](microlinkhq/metascraper@v4.8.5...v4.10.3)
+
+Signed-off-by: dependabot[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + f228eb3 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @appinteractive +
+
+ + + +
+ + Update README.md + + + +
+ +
+ + + +
+ +
+
+ +
+ + d3624ab + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-preview +
+
+ + + +
+ + Bump metascraper-description from 4.8.5 to 5.5.0 + + + + + +
Bumps [metascraper-description](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0.
+- [Release notes](https://github.com/microlinkhq/metascraper/releases)
+- [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md)
+- [Commits](microlinkhq/metascraper@v4.8.5...v5.5.0)
+
+Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + 2a81c5b + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #7 from Human-Connection/dependabot/npm_and_yarn/g… + + + + + +
…ot-9.6.0
+
+Bump got from 9.5.0 to 9.6.0
+ +
+ +
+ + + +
+ +
+
+ +
+ + 2e66ee4 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #17 from Human-Connection/dependabot/npm_and_yarn/… + + + + + +
…metascraper-4.10.3
+
+Bump metascraper from 4.8.5 to 4.10.3
+ +
+ +
+ + + +
+ +
+
+ +
+ + b7e7f22 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-preview +
+
+ + + +
+ + Bump metascraper-clearbit-logo from 4.8.5 to 5.3.0 + + + + + +
Bumps [metascraper-clearbit-logo](https://github.com/microlinkhq/metascraper-clearbit-logo) from 4.8.5 to 5.3.0.
+- [Release notes](https://github.com/microlinkhq/metascraper-clearbit-logo/releases)
+- [Commits](https://github.com/microlinkhq/metascraper-clearbit-logo/commits)
+
+Signed-off-by: dependabot[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + 4ceff96 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-preview +
+
+ + + +
+ + Bump metascraper-video from 4.8.5 to 5.5.0 + + + + + +
Bumps [metascraper-video](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0.
+- [Release notes](https://github.com/microlinkhq/metascraper/releases)
+- [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md)
+- [Commits](microlinkhq/metascraper@v4.8.5...v5.5.0)
+
+Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + 69b1a25 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-preview +
+
+ + + +
+ + Bump metascraper-logo from 4.8.5 to 5.5.0 + + + + + +
Bumps [metascraper-logo](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0.
+- [Release notes](https://github.com/microlinkhq/metascraper/releases)
+- [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md)
+- [Commits](microlinkhq/metascraper@v4.8.5...v5.5.0)
+
+Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + b7ef87e + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-preview +
+
+ + + +
+ + Bump metascraper-audio from 4.8.5 to 5.5.0 + + + + + +
Bumps [metascraper-audio](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0.
+- [Release notes](https://github.com/microlinkhq/metascraper/releases)
+- [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md)
+- [Commits](microlinkhq/metascraper@v4.8.5...v5.5.0)
+
+Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + 82dcc99 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-preview +
+
+ + + + + +
+ + + +
+ +
+
+ +
+ + af8ed1c + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-preview +
+
+ + + +
+ + Bump metascraper-description from 4.8.5 to 5.5.0 + + + + + +
Bumps [metascraper-description](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0.
+- [Release notes](https://github.com/microlinkhq/metascraper/releases)
+- [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md)
+- [Commits](microlinkhq/metascraper@v4.8.5...v5.5.0)
+
+Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + d1efdad + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-preview +
+
+ + + +
+ + Bump metascraper-url from 4.8.5 to 5.5.0 + + + + + +
Bumps [metascraper-url](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0.
+- [Release notes](https://github.com/microlinkhq/metascraper/releases)
+- [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md)
+- [Commits](microlinkhq/metascraper@v4.8.5...v5.5.0)
+
+Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + b8725f1 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge branch 'master' of github.com:Human-Connection/Nitro-Embed into… + + + + + +
… dependabot/npm_and_yarn/metascraper-description-5.5.0
+ +
+ +
+ + +
+ +
+
+ +
+ + 05db6fe + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge branch 'dependabot/npm_and_yarn/metascraper-description-5.5.0' … + + + + + +
…of github.com:Human-Connection/Nitro-Embed into dependabot/npm_and_yarn/metascraper-description-5.5.0
+ +
+ +
+ + +
+ +
+
+ +
+ + bc9c21c + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #67 from Human-Connection/dependabot/npm_and_yarn/… + + + + + +
…metascraper-description-5.5.0
+
+Bump metascraper-description from 4.8.5 to 5.5.0
+ +
+ +
+ + + +
+ +
+
+ +
+ + d633331 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #25 from Human-Connection/dependabot/npm_and_yarn/… + + + + + +
…metascraper-clearbit-logo-5.3.0
+
+Bump metascraper-clearbit-logo from 4.8.5 to 5.3.0
+ +
+ +
+ + + +
+ +
+
+ +
+ + acfc956 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #69 from Human-Connection/dependabot/npm_and_yarn/… + + + + + +
…metascraper-logo-5.5.0
+
+Bump metascraper-logo from 4.8.5 to 5.5.0
+ +
+ +
+ + + +
+ +
+
+ +
+ + a22edd9 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #71 from Human-Connection/dependabot/npm_and_yarn/… + + + + + +
…metascraper-audio-5.5.0
+
+Bump metascraper-audio from 4.8.5 to 5.5.0
+ +
+ +
+ + + +
+ +
+
+ +
+ + 0e89f27 + +
+
+ + +
+
+
+ + +
+ + + + + +
+ + +
+

+ + + + + mattwr18 + and others + added some commits + + 19 days ago + +

+
+
+ + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #72 from Human-Connection/dependabot/npm_and_yarn/… + + + + + +
…metascraper-video-5.5.0
+
+Bump metascraper-video from 4.8.5 to 5.5.0
+ +
+ +
+ + + +
+ +
+
+ +
+ + 46edb24 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @dependabot-preview +
+
+ + + +
+ + Bump metascraper-soundcloud from 4.8.5 to 5.5.3 + + + + + +
Bumps [metascraper-soundcloud](https://github.com/microlinkhq/metascraper-soundcloud) from 4.8.5 to 5.5.3.
+- [Release notes](https://github.com/microlinkhq/metascraper-soundcloud/releases)
+- [Commits](https://github.com/microlinkhq/metascraper-soundcloud/commits)
+
+Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
+ +
+ +
+ + + +
+ +
+
+ +
+ + 721c75e + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge branch 'master' of github.com:Human-Connection/Nitro-Embed into… + + + + + +
… dependabot/npm_and_yarn/metascraper-url-5.5.0
+ +
+ +
+ + +
+ +
+
+ +
+ + 93e82de + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #73 from Human-Connection/dependabot/npm_and_yarn/… + + + + + +
…metascraper-url-5.5.0
+
+Bump metascraper-url from 4.8.5 to 5.5.0
+ +
+ +
+ + + +
+ +
+
+ +
+ + 27eb5a2 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #75 from Human-Connection/dependabot/npm_and_yarn/… + + + + + +
…apollo-server-2.6.7
+
+Bump apollo-server from 2.3.1 to 2.6.7
+ +
+ +
+ + + +
+ +
+
+ +
+ + 638f1f3 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge pull request #76 from Human-Connection/dependabot/npm_and_yarn/… + + + + + +
…metascraper-soundcloud-5.5.3
+
+Bump metascraper-soundcloud from 4.8.5 to 5.5.3
+ +
+ +
+ + + +
+ +
+
+ +
+ + 5091fe5 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + + + +
+ + +
+ +
+
+ +
+ + 089b07c + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + + + +
+ + +
+ +
+
+ +
+ + cc6819e + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + + + +
+ + +
+ +
+
+ +
+ + 7a3694a + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + +
+ + Merge in Nitro-Embed + + + +
+ +
+ + +
+ +
+ +
+ + + + +
+ + +
+ +
+ + eabb58e + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @mattwr18 +
+
+ + + + + +
+ + +
+ +
+ +
+ + + + +
+ + +
+ +
+ + ed658e9 + +
+
+ + +
+
+
+ + +
+ + + +
+ + +
+ + + +
+ @codecov + +
+ + + +
+
+ + + + +
+ +
+

+ This comment has been minimized. + +

+
Show comment
+
Hide comment
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + +
+ + + + + + Copy link + + + + + + + + +
+ + +
+
+ + +
+ + + + Report abuse + +
+ Block user + + + +
+ + + +
+
+ +
+ @codecov +
+

+ + + + codecov + bot + + + + 18 days ago + +

+ + + + +
+

Codecov Report

+
+

exclamation No coverage uploaded for pull request base (master@324330a). Click here to learn what that means.
+The diff coverage is n/a.

+
+
+
+
+
+ +
+
+ +
+ + + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + +

+ The content you are editing has changed. Please try again. +

+ + +
+ + + + + + + + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+ + +
+
+
+

Nothing to preview

+
+
+ +
+ +
+ + + + +
+ + +
+
+ + +
+ +
+
+
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+ + + + + + +
+

+ Pick your reaction +

+ + + +
+ + + + + + + + + + +
+
+ +
+ + + + +
+ + + + + + Copy link + + + + + + +
+ + + Reference in new issue + + +
+ +

Reference in new issue

+
+ +
+ +
+
+
+
+
+ + + Human-Connection + + +
+ Repositories +
+
+
+ + + +
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+
+ + + + + + + +
+ + +
+ + + + Report abuse + +
+ Block user + + + +
+ + + +
+
+ +
+ + + + + + + + +

+ + + + + commented + + + 18 days ago + + + + +

+
+ + +
+
+ + +
+ +

Choose a reason for hiding this comment

+

The reason will be displayed to describe this comment to others. Learn more.

+
+ + + +
+ +
+ + + + + + + + + +
+

Codecov Report

+
+

exclamation No coverage uploaded for pull request base (master@324330a). Click here to learn what that means.
+The diff coverage is n/a.

+
+
+
+ + + + +
+
+ +
+ +
+
+ +
+ + + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + +

+ The content you are editing has changed. Please try again. +

+ + +
+ + + + + + + + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+ + +
+
+
+

Nothing to preview

+
+
+ +
+ +
+ + + + +
+ + +
+
+ + +
+ +
+
+ + +
+ + +
+ + + + +
+ +
+

+ + + + @mattwr18 + mattwr18 + + + referenced this pull request + + 16 days ago + +

+ + + + + Closed + + + + + + +

+ + Editor embeds + #953 +

+ + + + + + + +
+ + + +
+ + + +
+ + +
+ + + +
+ @mattwr18 + +
+ + + +
+
+ + + + +
+ +
+

+ This comment has been minimized. + +

+
Show comment
+
Hide comment
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + +
+ + + + + + Copy link + + + + + + + + +
+ + +
+
+ + +
+ + + + Report abuse + + +
+
+ +
+ @mattwr18 +
+

+ + + + mattwr18 + + + + + 9 days ago + +

+ + + Member + + + + Author + + + +
+

does this look ok @roschaefer? I used tomono, but because I already had a repo with the name Human-Connection, I needed to remove it and recreate it with the merged commit history. This caused some small issues for me locally, but I think others won't face the same.

+

The files changed and commit history look good to me

+
+
+
+
+ +
+
+ +
+ + + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + +

+ The content you are editing has changed. Please try again. +

+ + +
+ + + + + + + + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+ + +
+
+
+

Nothing to preview

+
+
+ +
+ +
+ + + + +
+ + +
+
+ + +
+ +
+
+
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+ + + + + + +
+

+ Pick your reaction +

+ + + +
+ + + + + + + + + + +
+
+ +
+ + + + +
+ + + + + + Copy link + + + + + + +
+ + + Reference in new issue + + +
+ +

Reference in new issue

+
+ +
+ +
+
+
+
+
+ + + Human-Connection + + +
+ Repositories +
+
+
+ + + +
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+
+ + + + + + + +
+ + +
+ + + + Report abuse + + +
+
+ +
+ + + + + Member + + + + + Author + + + + +

+ + + + + commented + + + 9 days ago + + + + +

+
+ + +
+
+ + +
+ +

Choose a reason for hiding this comment

+

The reason will be displayed to describe this comment to others. Learn more.

+
+ + + +
+ +
+ + + + + + + + + +
+

does this look ok @roschaefer? I used tomono, but because I already had a repo with the name Human-Connection, I needed to remove it and recreate it with the merged commit history. This caused some small issues for me locally, but I think others won't face the same.

+

The files changed and commit history look good to me

+
+
+ + + + +
+
+ +
+ +
+
+ +
+ + + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + +

+ The content you are editing has changed. Please try again. +

+ + +
+ + + + + + + + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+ + +
+
+
+

Nothing to preview

+
+
+ +
+ +
+ + + + +
+ + +
+
+ + +
+ +
+
+ + +
+ + +
+ + + + +
+ + +
+
+
+ + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + +
+ + Merge remote-tracking branch 'origin/master' into 256-editor-embeds-m… + + + + + +
…erge-in-nitro-embed
+ +
+ +
+ + +
+ +
+
+ +
+ + b745908 + +
+
+ + +
+
+
+ + +
+ + + +
+ + +
+ + + +
+ @roschaefer + +
+ + + +
+
+ + + + +
+ +
+

+ This comment has been minimized. + +

+
Show comment
+
Hide comment
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + +
+ + + + + + Copy link + + + + + + + + +
+ + +
+
+ + +
+ +
+
+ +
+ @roschaefer +
+

+ + + + roschaefer + + + + + 5 days ago + +

+ + + Member + + + + +
+

@mattwr18 this looks good, but could sb. explain me why this is a separate service and not just another resolver in our backend?

+

@appinteractive maybe?

+
+
+
+
+ +
+
+ +
+ + + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + +

+ The content you are editing has changed. Please try again. +

+ + +
+ + + + + + + + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+ + +
+
+
+

Nothing to preview

+
+
+ +
+ +
+ + + + +
+ + +
+
+ + +
+ +
+
+
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+ + + + + + +
+

+ Pick your reaction +

+ + + +
+ + + + + + + + + + +
+
+ +
+ + + + +
+ + + + + + Copy link + + + + + + +
+ + + Reference in new issue + + +
+ +

Reference in new issue

+
+ +
+ +
+
+
+
+
+ + + Human-Connection + + +
+ Repositories +
+
+
+ + + +
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+
+ + + + + + + +
+ + +
+ +
+
+ +
+ + + + + Member + + + + + + +

+ + + + + commented + + + 5 days ago + + + + +

+
+ + +
+
+ + +
+ +

Choose a reason for hiding this comment

+

The reason will be displayed to describe this comment to others. Learn more.

+
+ + + +
+ +
+ + + + + + + + + +
+

@mattwr18 this looks good, but could sb. explain me why this is a separate service and not just another resolver in our backend?

+

@appinteractive maybe?

+
+
+ + + + +
+
+ +
+ +
+
+ +
+ + + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + +

+ The content you are editing has changed. Please try again. +

+ + +
+ + + + + + + + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+ + +
+
+
+

Nothing to preview

+
+
+ +
+ +
+ + + + +
+ + +
+
+ + +
+ +
+
+ + +
+ + +
+ + + + +
+ + +
+ + + +
+ @mattwr18 + +
+ + + +
+
+ + + + +
+ +
+

+ This comment has been minimized. + +

+
Show comment
+
Hide comment
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + +
+ + + + + + Copy link + + + + + + + + +
+ + +
+
+ + +
+ + + + Report abuse + + +
+
+ +
+ @mattwr18 +
+

+ + + + mattwr18 + + + + + 5 days ago + +

+ + + Member + + + + Author + + + +
+

I think it could be, I thought the same thing myself @roschaefer

+
+
+
+
+ +
+
+ +
+ + + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + +

+ The content you are editing has changed. Please try again. +

+ + +
+ + + + + + + + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+ + +
+
+
+

Nothing to preview

+
+
+ +
+ +
+ + + + +
+ + +
+
+ + +
+ +
+
+
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+ + + + + + +
+

+ Pick your reaction +

+ + + +
+ + + + + + + + + + +
+
+ +
+ + + + +
+ + + + + + Copy link + + + + + + +
+ + + Reference in new issue + + +
+ +

Reference in new issue

+
+ +
+ +
+
+
+
+
+ + + Human-Connection + + +
+ Repositories +
+
+
+ + + +
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+
+ + + + + + + +
+ + +
+ + + + Report abuse + + +
+
+ +
+ + + + + Member + + + + + Author + + + + +

+ + + + + commented + + + 5 days ago + + + + +

+
+ + +
+
+ + +
+ +

Choose a reason for hiding this comment

+

The reason will be displayed to describe this comment to others. Learn more.

+
+ + + +
+ +
+ + + + + + + + + +
+

I think it could be, I thought the same thing myself @roschaefer

+
+
+ + + + +
+
+ +
+ +
+
+ +
+ + + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + +

+ The content you are editing has changed. Please try again. +

+ + +
+ + + + + + + + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+ + +
+
+
+

Nothing to preview

+
+
+ +
+ +
+ + + + +
+ + +
+
+ + +
+ +
+
+ + +
+ + +
+ + + + +
+ + +
+

+ + + + + roschaefer + + added some commits + + 2 days ago + +

+
+
+ + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + +
+ + Merge remote-tracking branch 'origin/master' into 256-editor-embeds-m… + + + + + +
…erge-in-nitro-embed
+ +
+ +
+ + +
+ +
+
+ +
+ + b3712d9 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + + + +
+ + +
+ +
+
+ +
+ + d4c3b7a + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + + + +
+ + +
+ +
+
+ +
+ + 2e6ea62 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + + + +
+ + +
+ +
+ +
+ + + + +
+ + +
+ +
+ + f82b2c3 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + + + +
+ + +
+ +
+ +
+ + + + +
+ + +
+ +
+ + 17ccbce + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + +
+ + Fix lint + + + +
+ +
+ + +
+ +
+ +
+ + + + +
+ + +
+ +
+ + 73e879e + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + +
+ + Merge branch 'master' of github.com:Human-Connection/Human-Connection… + + + + + +
… into 256-editor-embeds-merge-in-nitro-embed
+ +
+ +
+ + +
+ +
+
+ +
+ + 7a9d933 + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + +
+ + Remove obscure `embed` attribute and remove cache + + + + + +
The cache is a possible memory leak: It grows over time and never gets
+cleaned.
+ +
+ +
+ + +
+ +
+
+ +
+ + d81c38c + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + +
+ + Start to mock+test embeds resolver + + + + + +
+ Put oembed providers into a file
++ Add test snapshots
++ Remove unnecessary request-native dependency
+ +
+ +
+ + +
+ +
+
+ +
+ + f5730fc + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + + + +
+ + +
+ +
+
+ +
+ + 579ec7e + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + +
+ + Add npm script to run tests without http servers + + + + + +
Remove this script once we refactored all tests to use
+`apollo-server-testing`.
+ +
+ +
+ + +
+ +
+
+ +
+ + d7d2c2e + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + + + +
+ + +
+ +
+ +
+ + + + +
+ + +
+ +
+ + 75743ca + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + @roschaefer +
+
+ + + +
+ + Remove `metascraper-logo-favicon` altogether + + + + + +
It's doing http requests which are hard to test and hard to maintain.
+Therefore let's remove it until we really need it.
+ +
+ +
+ + +
+ +
+ +
+ + + + +
+ + +
+ +
+ + 3d7a30d + +
+
+ + +
+
+
+ + +
+ + + + + +
+
+ +
+ + +
+ +
+ + + +
+ +

Merge state

+
+

Add more commits by pushing to the 256-editor-embeds-merge-in-nitro-embed branch on Human-Connection/Human-Connection.

+ + + + + + +
+ + + +
+
+ +
+
+ +
+ + + Add your review + + +

+ Review required +

+ + + At least 1 approving review is required by reviewers with write access. + Learn more. + + + +
+ + +
+
+ +
+ +
+ + +

All checks have passed

+ 4 successful checks +
+ +
+
+
+ +
+ + + @travis-ci + + + +
+ + Travis CI - Branch + + + Successful in 18m + + — + Build Passed +
+ +
+ Required + + Details +
+ +
+
+
+ +
+ + + @travis-ci + + + +
+ + Travis CI - Pull Request + + + Successful in 17m + + — + Build Passed +
+ +
+ Required + + Details +
+ +
+
+
+ +
+ + + @codecov + + + +
+ + codecov/project/backend + + + + + — + 25.29% (+1.97%) compared to d901432 +
+ +
+ + Details +
+ +
+
+
+ +
+ + + @codecov + + + +
+ + codecov/project/webapp + + + + + — + 45.23% remains the same compared to d901432 +
+ +
+ + Details +
+ +
+ +
+
+ + +
+
+ +
+
Merging is blocked
+ Merging can be performed automatically with 1 approving review. +
+ + + +
+ + +
+
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+
+ +
+
+
+ + +

+ + + + or view . +

+ + +
+

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
+
+
+ +
+
+
+
+ + + + +
+ + + + + +
+ + + +
+ +

Couldn’t update branch

+

Oops, something went wrong.

+ +
+
+ +

Connect this pull request with an existing issue

+ +
+ @roschaefer + +
+ + + + +
+ +
+
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + + +
+ Select a reply + ctrl . +
+ + + +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + +

+ + + + + Attach files by dragging & dropping, selecting or pasting them. + + + Uploading your files… + + + We don’t support that file type. + + with a + GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Attaching documents requires write permission to this repository. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + We don’t support that file type. + + with a GIF, JPEG, JPG, PNG, DOCX, GZ, LOG, PDF, PPTX, TXT, XLSX or ZIP. + + + + Yowza, that’s a big file + + with a file smaller than 10MB. + + + + This file is empty. + + with a file that’s not empty. + + + + This file is hidden. + + with another file. + + + + Something went really wrong, and we can’t process that file. + + + + + + + + + + +

+ +
+
+
+ + + +
+
+

Nothing to preview

+
+
+ +
+ + + + +
+ +
+
+ + + + + + +
+ +
+
+
+
+ + ProTip! + Add .patch or .diff to the end of URLs for Git’s plaintext views. +
+
+ + +
+
+ +
+
+ + + +
+ + +
+ +
+ +
+
+ + +
+ + + + + + +
+ + + You can’t perform that action at this time. +
+ + + + + + + + + + + + + + +
+ + + + +
\ 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..d24bbcc9f 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, 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: + '', + 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: + '', + }, + }, + }) + 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/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 4b8fd985d..5ce8ac94c 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -956,6 +956,55 @@ 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" @@ -1009,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" @@ -1289,6 +1350,14 @@ aggregate-error@3.0.0: 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" @@ -1331,7 +1400,7 @@ 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-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== @@ -1604,6 +1673,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" @@ -1612,6 +1686,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" @@ -1779,6 +1858,11 @@ atob@^2.1.1: 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 +2163,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 +2229,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 +2257,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 +2298,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,11 +2325,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" @@ -2239,6 +2367,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" @@ -2248,6 +2384,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" @@ -2258,6 +2401,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" @@ -2322,6 +2470,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" @@ -2619,6 +2777,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" @@ -2641,6 +2806,11 @@ deepmerge@4.0.0: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz#3e3110ca29205f120d7cb064960a39c3d2087c09" integrity sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww== +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: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -2882,6 +3052,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" @@ -3217,6 +3392,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" @@ -3409,6 +3597,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" @@ -3515,6 +3708,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" @@ -3584,6 +3784,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" @@ -3594,18 +3799,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" @@ -3679,6 +3898,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" @@ -3842,6 +4078,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" @@ -3888,6 +4129,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" @@ -4002,6 +4250,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" @@ -4056,6 +4309,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" @@ -4082,7 +4340,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.2.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= @@ -4149,11 +4407,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" @@ -4371,11 +4649,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" @@ -4388,6 +4686,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" @@ -4410,6 +4722,14 @@ 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" @@ -4439,6 +4759,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" @@ -4451,6 +4781,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" @@ -4937,6 +5272,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" @@ -5049,6 +5389,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" @@ -5231,7 +5578,7 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash@4.17.15, lodash@^4.17.4: +lodash@4.17.15, lodash@^4.17.4, lodash@~4.17.11, 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== @@ -5263,11 +5610,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" @@ -5297,7 +5649,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== @@ -5330,6 +5682,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" @@ -5355,6 +5721,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@^4.8.5: + version "4.10.2" + resolved "https://registry.yarnpkg.com/metascraper-author/-/metascraper-author-4.10.2.tgz#4047799a3f21110363ea90a19b3473983e61167f" + integrity sha512-mQwBhe5oMqMMo/95ilag/kbNFgTt1WBnqgsjCiQOl1l82SbuUo0yU4aLSUP2SEMIWp/zbtGo734q7oAbdhXVHw== + dependencies: + "@metascraper/helpers" "^4.10.2" + lodash "~4.17.11" + +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@^4.8.5: + version "4.10.2" + resolved "https://registry.yarnpkg.com/metascraper-date/-/metascraper-date-4.10.2.tgz#fe60510cb6481ad68e9a9d76e287bc41ac887ef1" + integrity sha512-BdX5JJXQxErOZBlc2pJfU8a/suyu3G2omXrrjcrI+OCPfFD7CAXgZU43iou7HMnXiviQ33x7wT6DDsj7sSg5Nw== + dependencies: + "@metascraper/helpers" "^4.10.2" + +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@^4.8.5: + version "4.10.2" + resolved "https://registry.yarnpkg.com/metascraper-image/-/metascraper-image-4.10.2.tgz#84e2e3317017936d1f743a2ac80ae9eca16d5af9" + integrity sha512-ANelQVENmI8xpmsincBkNexVVohQcgk4eeKTZwBfT5/9nmMhtdJIV+obsKwL0eVHgMRj2iDphLMoAnFtcWXvdA== + dependencies: + "@metascraper/helpers" "^4.10.2" + +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@^4.8.5: + version "4.10.2" + resolved "https://registry.yarnpkg.com/metascraper-lang/-/metascraper-lang-4.10.2.tgz#36cb11958fa8b341946cb2d8d58dff328d76d992" + integrity sha512-+fCh5CqPqN94sa82afwVBIyvTp3/QIgxUSmti5AN0p1fVExAdO7BUiQbs3jO+0I++xJQzTZ2LH/yYZgBc+IyQA== + dependencies: + "@metascraper/helpers" "^4.10.2" + +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@^4.8.5: + version "4.10.2" + resolved "https://registry.yarnpkg.com/metascraper-publisher/-/metascraper-publisher-4.10.2.tgz#f65f44f14b9f6b00467b26a242c1f58177c713e0" + integrity sha512-mKHcMJBPvtCGGdNtE7+InQ/4ntTzoWfMMpa0O2JKH4Odd5tZ9wtJF/Y59n261qgML5d3MtloN7eSfsLZNcmaQA== + dependencies: + "@metascraper/helpers" "^4.10.2" + +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@^4.8.5: + version "4.10.2" + resolved "https://registry.yarnpkg.com/metascraper-title/-/metascraper-title-4.10.2.tgz#8c0235beb2fe3ab9261dd117e864372f61e21ec8" + integrity sha512-wPjqI36Hcq7FYjbbV60sDwZOcauNi9GFhg2cM8cEKCSBlV1+rf5EgJ+L85Z0ClhPO4z/ulJXtcGTieqOqTwIkg== + dependencies: + "@metascraper/helpers" "^4.10.2" + lodash "~4.17.11" + +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@^4.8.5: + version "4.10.2" + resolved "https://registry.yarnpkg.com/metascraper-video/-/metascraper-video-4.10.2.tgz#6378f3ac6bf0a2e11a27096545464cf6a19e1e74" + integrity sha512-cM8Tq9j6sKUMJxomd0TP619khJrn89zh0A1T7HC9tjGvaF+RGdpjpBq8xbpPDrXbeqDl4BVTX9VQ4MDU3+UuQA== + dependencies: + "@metascraper/helpers" "^4.10.2" + lodash "~4.17.11" + +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" @@ -5396,7 +5889,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== @@ -5413,6 +5906,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" @@ -5470,6 +5978,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" @@ -5504,6 +6017,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" @@ -5734,6 +6252,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" @@ -5956,6 +6484,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" @@ -5978,6 +6518,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" @@ -6006,11 +6551,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" @@ -6065,6 +6636,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" @@ -6202,6 +6778,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" @@ -6226,6 +6807,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" @@ -6339,6 +6925,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" @@ -6359,6 +6950,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" @@ -6656,6 +7252,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" @@ -6690,6 +7291,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" @@ -6720,6 +7328,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" @@ -6962,6 +7575,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" @@ -7287,6 +7905,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" @@ -7408,6 +8033,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" @@ -7432,6 +8089,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" @@ -7497,11 +8159,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" @@ -7516,6 +8192,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" @@ -7683,6 +8369,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" @@ -7757,6 +8474,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" @@ -7908,6 +8630,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/docker-compose.yml b/docker-compose.yml index 93e80d9c1..a8ce871ec 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -42,6 +42,5 @@ services: context: neo4j networks: - hc-network - networks: hc-network: 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 - -