From 9af0f1f2e0a9eb1de4306383f769678ed9686314 Mon Sep 17 00:00:00 2001 From: James Purser Date: Fri, 26 Jan 2024 14:31:24 +1100 Subject: [PATCH] Fixes for Podcast feeds --- data/external/cms.js | 1 + data/internal/feed-generator.js | 23 ++- package-lock.json | 299 ++++++++++++++++++-------------- package.json | 3 +- yarn.lock | 65 +++++-- 5 files changed, 236 insertions(+), 155 deletions(-) diff --git a/data/external/cms.js b/data/external/cms.js index c00a136..652290b 100755 --- a/data/external/cms.js +++ b/data/external/cms.js @@ -70,6 +70,7 @@ export const getAllPodcastSeries = async () => { const qs = require('qs') const query = qs.stringify({ populate: { + Logo: '*', podcast_episodes: { populate:['Audio_MP3'] } diff --git a/data/internal/feed-generator.js b/data/internal/feed-generator.js index e95ff31..3503392 100755 --- a/data/internal/feed-generator.js +++ b/data/internal/feed-generator.js @@ -1,4 +1,5 @@ import { Feed } from "feed" +import { Podcast } from 'podcast'; import getConfig from 'next/config' import { getAllPodcastSeries, getAllPosts, getProjectDetails } from "../external/cms" import fs from "fs" @@ -137,7 +138,7 @@ export const generatePodcastFeeds = async () => { email: "james@angrybeanie.com", - link: "https://twitter.com/purserj", + link: "https://aus.social/purserj", }; @@ -145,7 +146,13 @@ export const generatePodcastFeeds = async () => { podcastSeries.data.forEach((series) => { - const feed = new Feed({ + const feed = new Podcast({ + itunesAuthor: "James Purser", + + itunesOwner: { + name: "James Purser", + email: "james@angrybeanie.com" + }, title: series.attributes.Title, @@ -155,7 +162,9 @@ export const generatePodcastFeeds = async () => { link: siteURL + "/podcasts/shows/" + series.attributes.Slug, - image: `${siteURL}/public/images/logo.svg`, + image: `${siteURL}` + series.attributes.Logo.data.attributes.url, + + itunesImage: `${siteURL}` + series.attributes.Logo.data.attributes.url, favicon: `${siteURL}/public/images/favicon.png`, @@ -169,12 +178,12 @@ export const generatePodcastFeeds = async () => { rss2: `${siteURL}/feeds/${series.attributes.Slug}.xml`, - }, - - author, + } }); + console.log(feed) + const episodes = series.attributes.podcast_episodes.data episodes.forEach((episode) => { @@ -213,7 +222,7 @@ export const generatePodcastFeeds = async () => { }) }) - fs.writeFileSync(`./public/feed/${series.attributes.Slug}.xml`, feed.rss2()); + fs.writeFileSync(`./public/feed/${series.attributes.Slug}.xml`, feed.buildXml()); }) } diff --git a/package-lock.json b/package-lock.json index bfacabf..6880535 100755 --- a/package-lock.json +++ b/package-lock.json @@ -23,11 +23,12 @@ "next-compose-plugins": "^2.2.1", "next-fonts": "^1.5.1", "next-images": "^1.8.1", + "podcast": "^2.0.1", "postcss": "^8.3.6", "prettier": "^2.7.1", "qs": "^6.10.3", "react": "^18.2.0", - "react-bootstrap": "^1.6.1", + "react-bootstrap": "^1.6.7", "react-dom": "^18.2.0", "react-ga": "^3.3.0", "react-h5-audio-player": "^3.7.1", @@ -113,6 +114,66 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@next/swc-darwin-arm64": { + "version": "13.4.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.3.tgz", + "integrity": "sha512-yx18udH/ZmR4Bw4M6lIIPE3JxsAZwo04iaucEfA2GMt1unXr2iodHUX/LAKNyi6xoLP2ghi0E+Xi1f4Qb8f1LQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "13.4.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.3.tgz", + "integrity": "sha512-Mi8xJWh2IOjryAM1mx18vwmal9eokJ2njY4nDh04scy37F0LEGJ/diL6JL6kTXi0UfUCGbMsOItf7vpReNiD2A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "13.4.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.3.tgz", + "integrity": "sha512-aBvtry4bxJ1xwKZ/LVPeBGBwWVwxa4bTnNkRRw6YffJnn/f4Tv4EGDPaVeYHZGQVA56wsGbtA6nZMuWs/EIk4Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "13.4.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.3.tgz", + "integrity": "sha512-krT+2G3kEsEUvZoYte3/2IscscDraYPc2B+fDJFipPktJmrv088Pei/RjrhWm5TMIy5URYjZUoDZdh5k940Dyw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@next/swc-linux-x64-gnu": { "version": "13.4.3", "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.3.tgz", @@ -143,6 +204,51 @@ "node": ">= 10" } }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "13.4.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.3.tgz", + "integrity": "sha512-5DxHo8uYcaADiE9pHrg8o28VMt/1kR8voDehmfs9AqS0qSClxAAl+CchjdboUvbCjdNWL1MISCvEfKY2InJ3JA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "13.4.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.3.tgz", + "integrity": "sha512-LaqkF3d+GXRA5X6zrUjQUrXm2MN/3E2arXBtn5C7avBCNYfm9G3Xc646AmmmpN3DJZVaMYliMyCIQCMDEzk80w==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "13.4.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.3.tgz", + "integrity": "sha512-jglUk/x7ZWeOJWlVoKyIAkHLTI+qEkOriOOV+3hr1GyiywzcqfI7TpFSiwC7kk1scOiH7NTFKp8mA3XPNO9bDw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -217,12 +323,11 @@ } }, "node_modules/@restart/hooks": { - "version": "0.3.27", - "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.3.27.tgz", - "integrity": "sha512-s984xV/EapUIfkjlf8wz9weP2O9TNKR96C68FfMEy2bE69+H4cNv3RD4Mf97lW7Htt7PjZrYTjSC8f3SB9VCXw==", - "license": "MIT", + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.15.tgz", + "integrity": "sha512-cZFXYTxbpzYcieq/mBwSyXgqnGMHoBVh3J7MU0CCoIB4NRZxV9/TuwTBAaLMqpNhC3zTPMCgkQ5Ey07L02Xmcw==", "dependencies": { - "dequal": "^2.0.2" + "dequal": "^2.0.3" }, "peerDependencies": { "react": ">=16.8.0" @@ -1490,8 +1595,9 @@ } }, "node_modules/dequal": { - "version": "2.0.2", - "license": "MIT", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "engines": { "node": ">=6" } @@ -3910,6 +4016,8 @@ }, "node_modules/node-abi/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -3933,6 +4041,8 @@ }, "node_modules/node-abi/node_modules/yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "license": "ISC" }, "node_modules/node-addon-api": { @@ -4255,6 +4365,14 @@ "node": ">=6" } }, + "node_modules/podcast": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/podcast/-/podcast-2.0.1.tgz", + "integrity": "sha512-TWXe/zVziwJNksAn7RLkSre+Z6VQgbs/+gC7qQCKdkyw0hv2hdFGOY9rHgKqa4LI+UP+yZBa6Wr+b9a9vrYDYQ==", + "dependencies": { + "rss": "^1.2.2" + } + }, "node_modules/popper.js": { "version": "1.16.1", "license": "MIT", @@ -4610,12 +4728,13 @@ } }, "node_modules/react-bootstrap": { - "version": "1.6.1", - "license": "MIT", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-1.6.7.tgz", + "integrity": "sha512-IzCYXuLSKDEjGFglbFWk0/iHmdhdcJzTmtS6lXxc0kaNFx2PFgrQf5jKnx5sarF2tiXh9Tgx3pSt3pdK7YwkMA==", "dependencies": { "@babel/runtime": "^7.14.0", "@restart/context": "^2.1.4", - "@restart/hooks": "^0.3.26", + "@restart/hooks": "^0.4.7", "@types/invariant": "^2.2.33", "@types/prop-types": "^15.7.3", "@types/react": ">=16.14.8", @@ -4626,7 +4745,7 @@ "invariant": "^2.2.4", "prop-types": "^15.7.2", "prop-types-extra": "^1.1.0", - "react-overlays": "^5.0.1", + "react-overlays": "^5.1.2", "react-transition-group": "^4.4.1", "uncontrollable": "^7.2.1", "warning": "^4.0.3" @@ -4733,18 +4852,6 @@ "react-dom": ">=16.3.0" } }, - "node_modules/react-overlays/node_modules/@restart/hooks": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.7.tgz", - "integrity": "sha512-ZbjlEHcG+FQtpDPHd7i4FzNNvJf2enAwZfJbpM8CW7BhmOAbsHpZe3tsHwfQUrBuyrxWqPYp2x5UMnilWcY22A==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.2" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, "node_modules/react-paginate": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/react-paginate/-/react-paginate-6.5.0.tgz", @@ -4900,6 +5007,15 @@ "node": ">=0.10.0" } }, + "node_modules/rss": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rss/-/rss-1.2.2.tgz", + "integrity": "sha512-xUhRTgslHeCBeHAqaWSbOYTydN2f0tAzNXvzh3stjz7QDhQMzdgHf3pfgNIngeytQflrFPfy6axHilTETr6gDg==", + "dependencies": { + "mime-types": "2.1.13", + "xml": "1.0.1" + } + }, "node_modules/rss-parser": { "version": "3.12.0", "license": "MIT", @@ -4908,6 +5024,25 @@ "xml2js": "^0.4.19" } }, + "node_modules/rss/node_modules/mime-db": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz", + "integrity": "sha512-5k547tI4Cy+Lddr/hdjNbBEWBwSl8EBc5aSdKvedav8DReADgWJzcYiktaRIw3GtGC1jjwldXtTzvqJZmtvC7w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rss/node_modules/mime-types": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", + "integrity": "sha512-ryBDp1Z/6X90UvjUK3RksH0IBPM137T7cmg4OgD5wQBojlAiUwuok0QeELkim/72EtcYuNlmbkrcGuxj3Kl0YQ==", + "dependencies": { + "mime-db": "~1.25.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/run-applescript": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", @@ -5114,6 +5249,8 @@ }, "node_modules/sass-loader/node_modules/semver": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -5188,6 +5325,8 @@ }, "node_modules/sharp/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -5211,6 +5350,8 @@ }, "node_modules/sharp/node_modules/yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "license": "ISC" }, "node_modules/shebang-command": { @@ -5871,6 +6012,11 @@ "version": "1.0.2", "license": "ISC" }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==" + }, "node_modules/xml-js": { "version": "1.6.11", "license": "MIT", @@ -5913,111 +6059,6 @@ "funding": { "url": "https://github.com/sponsors/colinhacks" } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.3.tgz", - "integrity": "sha512-yx18udH/ZmR4Bw4M6lIIPE3JxsAZwo04iaucEfA2GMt1unXr2iodHUX/LAKNyi6xoLP2ghi0E+Xi1f4Qb8f1LQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.3.tgz", - "integrity": "sha512-Mi8xJWh2IOjryAM1mx18vwmal9eokJ2njY4nDh04scy37F0LEGJ/diL6JL6kTXi0UfUCGbMsOItf7vpReNiD2A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.3.tgz", - "integrity": "sha512-aBvtry4bxJ1xwKZ/LVPeBGBwWVwxa4bTnNkRRw6YffJnn/f4Tv4EGDPaVeYHZGQVA56wsGbtA6nZMuWs/EIk4Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.3.tgz", - "integrity": "sha512-krT+2G3kEsEUvZoYte3/2IscscDraYPc2B+fDJFipPktJmrv088Pei/RjrhWm5TMIy5URYjZUoDZdh5k940Dyw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.3.tgz", - "integrity": "sha512-5DxHo8uYcaADiE9pHrg8o28VMt/1kR8voDehmfs9AqS0qSClxAAl+CchjdboUvbCjdNWL1MISCvEfKY2InJ3JA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.3.tgz", - "integrity": "sha512-LaqkF3d+GXRA5X6zrUjQUrXm2MN/3E2arXBtn5C7avBCNYfm9G3Xc646AmmmpN3DJZVaMYliMyCIQCMDEzk80w==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.4.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.3.tgz", - "integrity": "sha512-jglUk/x7ZWeOJWlVoKyIAkHLTI+qEkOriOOV+3hr1GyiywzcqfI7TpFSiwC7kk1scOiH7NTFKp8mA3XPNO9bDw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } } } } diff --git a/package.json b/package.json index c3f609b..4afc82d 100755 --- a/package.json +++ b/package.json @@ -25,11 +25,12 @@ "next-compose-plugins": "^2.2.1", "next-fonts": "^1.5.1", "next-images": "^1.8.1", + "podcast": "^2.0.1", "postcss": "^8.3.6", "prettier": "^2.7.1", "qs": "^6.10.3", "react": "^18.2.0", - "react-bootstrap": "^1.6.1", + "react-bootstrap": "^1.6.7", "react-dom": "^18.2.0", "react-ga": "^3.3.0", "react-h5-audio-player": "^3.7.1", diff --git a/yarn.lock b/yarn.lock index 0d2b59d..9560a3c 100755 --- a/yarn.lock +++ b/yarn.lock @@ -148,19 +148,12 @@ resolved "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz" integrity sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q== -"@restart/hooks@^0.3.26": - version "0.3.27" - resolved "https://registry.npmjs.org/@restart/hooks/-/hooks-0.3.27.tgz" - integrity sha512-s984xV/EapUIfkjlf8wz9weP2O9TNKR96C68FfMEy2bE69+H4cNv3RD4Mf97lW7Htt7PjZrYTjSC8f3SB9VCXw== - dependencies: - dequal "^2.0.2" - "@restart/hooks@^0.4.7": - version "0.4.7" - resolved "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.7.tgz" - integrity sha512-ZbjlEHcG+FQtpDPHd7i4FzNNvJf2enAwZfJbpM8CW7BhmOAbsHpZe3tsHwfQUrBuyrxWqPYp2x5UMnilWcY22A== + version "0.4.15" + resolved "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.15.tgz" + integrity sha512-cZFXYTxbpzYcieq/mBwSyXgqnGMHoBVh3J7MU0CCoIB4NRZxV9/TuwTBAaLMqpNhC3zTPMCgkQ5Ey07L02Xmcw== dependencies: - dequal "^2.0.2" + dequal "^2.0.3" "@rushstack/eslint-patch@^1.1.3": version "1.2.0" @@ -903,8 +896,10 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -dequal@^2.0.2: - version "2.0.2" +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== detect-libc@^2.0.0, detect-libc@^2.0.1: version "2.0.1" @@ -2011,6 +2006,11 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" +mime-db@~1.25.0: + version "1.25.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz" + integrity sha512-5k547tI4Cy+Lddr/hdjNbBEWBwSl8EBc5aSdKvedav8DReADgWJzcYiktaRIw3GtGC1jjwldXtTzvqJZmtvC7w== + mime-db@1.49.0: version "1.49.0" @@ -2019,6 +2019,13 @@ mime-types@^2.1.27: dependencies: mime-db "1.49.0" +mime-types@2.1.13: + version "2.1.13" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz" + integrity sha512-ryBDp1Z/6X90UvjUK3RksH0IBPM137T7cmg4OgD5wQBojlAiUwuok0QeELkim/72EtcYuNlmbkrcGuxj3Kl0YQ== + dependencies: + mime-db "~1.25.0" + mime@^1.4.1: version "1.6.0" @@ -2317,6 +2324,13 @@ pkg-dir@^2.0.0: dependencies: find-up "^2.1.0" +podcast@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/podcast/-/podcast-2.0.1.tgz" + integrity sha512-TWXe/zVziwJNksAn7RLkSre+Z6VQgbs/+gC7qQCKdkyw0hv2hdFGOY9rHgKqa4LI+UP+yZBa6Wr+b9a9vrYDYQ== + dependencies: + rss "^1.2.2" + popper.js@^1.14.1, popper.js@^1.14.4, popper.js@^1.16.0: version "1.16.1" @@ -2469,12 +2483,14 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-bootstrap@^1.6.1: - version "1.6.1" +react-bootstrap@^1.6.7: + version "1.6.7" + resolved "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-1.6.7.tgz" + integrity sha512-IzCYXuLSKDEjGFglbFWk0/iHmdhdcJzTmtS6lXxc0kaNFx2PFgrQf5jKnx5sarF2tiXh9Tgx3pSt3pdK7YwkMA== dependencies: "@babel/runtime" "^7.14.0" "@restart/context" "^2.1.4" - "@restart/hooks" "^0.3.26" + "@restart/hooks" "^0.4.7" "@types/invariant" "^2.2.33" "@types/prop-types" "^15.7.3" "@types/react" ">=16.14.8" @@ -2485,7 +2501,7 @@ react-bootstrap@^1.6.1: invariant "^2.2.4" prop-types "^15.7.2" prop-types-extra "^1.1.0" - react-overlays "^5.0.1" + react-overlays "^5.1.2" react-transition-group "^4.4.1" uncontrollable "^7.2.1" warning "^4.0.3" @@ -2558,7 +2574,7 @@ react-modal@^3.8.1: react-numeric-input@2.2.3: version "2.2.3" -react-overlays@^5.0.1: +react-overlays@^5.1.2: version "5.2.1" dependencies: "@babel/runtime" "^7.13.8" @@ -2743,6 +2759,14 @@ rss-parser@^3.12.0: entities "^2.0.3" xml2js "^0.4.19" +rss@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/rss/-/rss-1.2.2.tgz" + integrity sha512-xUhRTgslHeCBeHAqaWSbOYTydN2f0tAzNXvzh3stjz7QDhQMzdgHf3pfgNIngeytQflrFPfy6axHilTETr6gDg== + dependencies: + mime-types "2.1.13" + xml "1.0.1" + run-applescript@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz" @@ -3252,6 +3276,11 @@ xml-js@^1.6.11: dependencies: sax "^1.2.4" +xml@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz" + integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== + xml2js@^0.4.19: version "0.4.23" dependencies: