diff --git a/.dockerignore b/.dockerignore index 7abe42543b..607ef1d3c6 100644 --- a/.dockerignore +++ b/.dockerignore @@ -10,9 +10,9 @@ Procfile app-minimal assets coverage -docs node_modules test +website # files .codecov.yml @@ -35,13 +35,13 @@ process.json package-lock.json vercel.json -#git but keep the git commit hash +# git but keep the git commit hash .git/logs .git/objects .git/index .git/info .git/hooks -#rsshub auxiliary files +# rsshub auxiliary files lib/radar-rules.js lib/v2/**/radar.js diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index 9f81179510..9d88d0f638 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -136,7 +136,7 @@ jobs: - uses: actions/checkout@v4 - name: Docker Hub Description - uses: peter-evans/dockerhub-description@v3 + uses: peter-evans/dockerhub-description@v4 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} diff --git a/lib/config.ts b/lib/config.ts index 09d9c193c5..a43064a9ed 100644 --- a/lib/config.ts +++ b/lib/config.ts @@ -598,6 +598,8 @@ const calculateValue = () => { twitter: { oauthTokens: envs.TWITTER_OAUTH_TOKEN?.split(','), oauthTokenSecrets: envs.TWITTER_OAUTH_TOKEN_SECRET?.split(','), + username: envs.TWITTER_USERNAME, + password: envs.TWITTER_PASSWORD, }, weibo: { app_key: envs.WEIBO_APP_KEY, diff --git a/lib/middleware/parameter.ts b/lib/middleware/parameter.ts index 0749f1b843..7bd089eea6 100644 --- a/lib/middleware/parameter.ts +++ b/lib/middleware/parameter.ts @@ -6,6 +6,7 @@ import { config } from '@/config'; import { RE2JS } from 're2js'; import markdownit from 'markdown-it' import htmlToText from 'html-to-text' +import sanitizeHtml from 'sanitize-html'; import { MiddlewareHandler } from 'hono'; import cache from '@/utils/cache'; import Parser from '@postlight/parser'; @@ -363,7 +364,7 @@ const middleware: MiddlewareHandler = async (ctx, next) => { for (const item of data.item) { let text; if (item.description) { - text = item.description.replaceAll(/<\/?[^>]+(>|$)/g, ''); + text = sanitizeHtml(item.description, { allowedTags: [], allowedAttributes: {} }); item.description = text.length > brief ? `

${text.substring(0, brief)}…

` : `

${text}

`; } } diff --git a/lib/router.js b/lib/router.js index 6790e8d0f3..9f4e828818 100644 --- a/lib/router.js +++ b/lib/router.js @@ -1170,9 +1170,9 @@ router.get('/ruby-china/jobs', lazyloadRouteHandler('./routes/ruby-china/jobs')) router.get('/adquan/:type?', lazyloadRouteHandler('./routes/adquan/index')); // 金色财经 -router.get('/jinse/lives', lazyloadRouteHandler('./routes/jinse/lives')); -router.get('/jinse/timeline', lazyloadRouteHandler('./routes/jinse/timeline')); -router.get('/jinse/catalogue/:caty', lazyloadRouteHandler('./routes/jinse/catalogue')); +// router.get('/jinse/lives', lazyloadRouteHandler('./routes/jinse/lives')); +// router.get('/jinse/timeline', lazyloadRouteHandler('./routes/jinse/timeline')); +// router.get('/jinse/catalogue/:caty', lazyloadRouteHandler('./routes/jinse/catalogue')); // deeplearning.ai // router.get('/deeplearningai/thebatch', lazyloadRouteHandler('./routes/deeplearningai/thebatch')); diff --git a/lib/routes/jinse/catalogue.js b/lib/routes/jinse/catalogue.js deleted file mode 100644 index e05eeaccb6..0000000000 --- a/lib/routes/jinse/catalogue.js +++ /dev/null @@ -1,20 +0,0 @@ -const got = require('@/utils/got'); - -module.exports = async (ctx) => { - const liveUrl = `https://api.jinse.com/v6/www/information/list?catelogue_key=${ctx.params.caty}&limit=23&flag=down`; - const response = await got({ - method: 'get', - url: liveUrl, - }); - - ctx.state.data = { - title: `金色财经 - ${ctx.params.caty}`, - link: liveUrl, - item: response.data.list.map((item) => ({ - title: item.title, - link: item.extra.topic_url, - description: item.extra.summary, - pubDate: new Date(item.extra.published_at * 1000).toUTCString(), - })), - }; -}; diff --git a/lib/routes/jinse/lives.js b/lib/routes/jinse/lives.js deleted file mode 100644 index 42c92bdb77..0000000000 --- a/lib/routes/jinse/lives.js +++ /dev/null @@ -1,20 +0,0 @@ -const got = require('@/utils/got'); - -module.exports = async (ctx) => { - const liveUrl = `https://api.jinse.com/v4/live/list?limit=20`; - const response = await got({ - method: 'get', - url: liveUrl, - }); - - ctx.state.data = { - title: '金色财经 - 快讯', - link: liveUrl, - item: response.data.list[0].lives.map((item) => ({ - title: item.content, - link: `https://www.jinse.com/lives/${item.id}`, - description: item.content + (item.link ? `
${item.link_name}` : ''), - pubDate: new Date(`${new Date(response.data.list[0].date).toLocaleString().slice(0, 10)} ${new Date(item.created_at).toLocaleString().slice(-8, 0)}`).toUTCString(), - })), - }; -}; diff --git a/lib/routes/jinse/timeline.js b/lib/routes/jinse/timeline.js deleted file mode 100644 index 26fb7023a7..0000000000 --- a/lib/routes/jinse/timeline.js +++ /dev/null @@ -1,21 +0,0 @@ -const got = require('@/utils/got'); - -module.exports = async (ctx) => { - const liveUrl = `https://api.jinse.com/noah/v1/www/timelines?&limit=23&flag=down`; - const response = await got({ - method: 'get', - url: liveUrl, - }); - - ctx.state.data = { - title: '金色财经 - 头条', - link: liveUrl, - item: response.data.data.list.map((item) => ({ - title: item.title, - link: item.extra.topic_url, - author: item.extra.author, - description: item.extra.summary, - pubDate: new Date(item.extra.published_at * 1000).toUTCString(), - })), - }; -}; diff --git a/lib/routes/us/supremecourt/argument-audio.js b/lib/routes/us/supremecourt/argument-audio.js index 5326b8b5ad..37120ec433 100644 --- a/lib/routes/us/supremecourt/argument-audio.js +++ b/lib/routes/us/supremecourt/argument-audio.js @@ -1,5 +1,7 @@ const got = require('@/utils/got'); const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const timezone = require('@/utils/timezone'); module.exports = async (ctx) => { const year = ctx.params.year || new Date().getFullYear(); @@ -14,15 +16,15 @@ module.exports = async (ctx) => { const $ = cheerio.load(response.data); - const list = $('.panel-body table tbody tr td span a') - .map((_, item) => { + const list = $('.card-body table tbody tr td span a') + .toArray() + .map((item) => { item = $(item); return { title: item.text(), - link: `${rootUrl}/oral_arguments${item.attr('href').replace('..', '')}`, + link: new URL(item.attr('href'), currentUrl).href, }; - }) - .get(); + }); const items = await Promise.all( list.map((item) => @@ -37,7 +39,7 @@ module.exports = async (ctx) => { item.description = content('#pagemaindiv').html(); item.title += ` : ${content('#ctl00_ctl00_MainEditable_mainContent_lblCaseName').text()}`; - item.pubDate = new Date(content('#ctl00_ctl00_MainEditable_mainContent_lblDate').text() + ' GMT-5').toUTCString(); + item.pubDate = timezone(parseDate(content('#ctl00_ctl00_MainEditable_mainContent_lblDate').text()), -5); item.itunes_item_image = imageUrl; item.enclosure_url = content('audio source').attr('src'); @@ -54,5 +56,6 @@ module.exports = async (ctx) => { item: items, itunes_author: 'Supreme Court of the United States', image: imageUrl, + allowEmpty: true, }; }; diff --git a/lib/v2/alistapart/radar.js b/lib/v2/alistapart/radar.js index 9213bbd3c4..518165ac36 100644 --- a/lib/v2/alistapart/radar.js +++ b/lib/v2/alistapart/radar.js @@ -4,13 +4,13 @@ module.exports = { '.': [ { title: 'Articles', - docs: 'https://docs.rsshub.app/routes/en/programming#a-list-apart', + docs: 'https://docs.rsshub.app/routes/programming#a-list-apart', source: ['/articles/'], target: '/alistapart', }, { title: 'Topics', - docs: 'https://docs.rsshub.app/routes/en/programming#a-list-apart', + docs: 'https://docs.rsshub.app/routes/programming#a-list-apart', source: ['/blog/topic/:topic'], target: '/alistapart/:topic', }, diff --git a/lib/v2/brooklynmuseum/radar.js b/lib/v2/brooklynmuseum/radar.js index a09970dea9..f47c33deb2 100644 --- a/lib/v2/brooklynmuseum/radar.js +++ b/lib/v2/brooklynmuseum/radar.js @@ -4,7 +4,7 @@ module.exports = { www: [ { title: 'Exhibitions', - docs: 'https://docs.rsshub.app/routes/en/travel#brooklyn-museum', + docs: 'https://docs.rsshub.app/routes/travel#brooklyn-museum', }, ], }, diff --git a/lib/v2/bytes/radar.js b/lib/v2/bytes/radar.js index 909be4469f..8b2b4a626f 100644 --- a/lib/v2/bytes/radar.js +++ b/lib/v2/bytes/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'BYTES - Your weekly dose of JS', - docs: 'https://docs.rsshub.app/routes/en/programming#ui-dev-bytes', + docs: 'https://docs.rsshub.app/routes/programming#ui-dev-bytes', source: ['/archives', '/'], target: '/bytes', }, diff --git a/lib/v2/chuanliu/maintainer.js b/lib/v2/chuanliu/maintainer.js new file mode 100644 index 0000000000..0abf523583 --- /dev/null +++ b/lib/v2/chuanliu/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/nice': ['nczitzk'], +}; diff --git a/lib/v2/chuanliu/nice.js b/lib/v2/chuanliu/nice.js new file mode 100644 index 0000000000..7d08ed3a07 --- /dev/null +++ b/lib/v2/chuanliu/nice.js @@ -0,0 +1,76 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const { art } = require('@/utils/render'); +const path = require('path'); +const md = require('markdown-it')({ + html: true, +}); + +module.exports = async (ctx) => { + const limit = ctx.query.limit ? Number.parseInt(ctx.query.limit, 10) : 100; + + const rootUrl = 'https://chuanliu.org'; + const apiRootUrl = 'https://s.chuanliu.org'; + const currentUrl = new URL('nice/', rootUrl).href; + const apiUrl = new URL('api/dis/api/v1/memo', apiRootUrl).href; + + const { data: response } = await got(apiUrl, { + searchParams: { + creatorId: 1, + offset: 0, + limit, + }, + }); + + const items = response.slice(0, limit).map((item) => { + const contents = item.content.split(/\n/); + + const category = contents?.[0].replace(/^#/, '') ?? undefined; + const title = contents?.[1] ?? undefined; + const link = contents?.[2] ?? undefined; + const author = contents?.[3] ?? undefined; + const isStar = (contents?.[5] && contents[5] === 'star') ?? false; + + if (isStar) { + contents.splice(5, 1); + } + + return { + title: `${isStar ? '[STAR] ' : ''}${title}`, + link, + description: art(path.join(__dirname, 'templates/description.art'), { + description: md.render(contents?.join('\n\n') ?? ''), + images: item.resourceList.map((i) => ({ + src: i.externalLink, + alt: i.filename, + type: i.type, + })), + }), + author, + category: [category, isStar ? 'STAR' : undefined].filter(Boolean), + guid: `chuanliu-nice#${item.id}`, + pubDate: parseDate(item.createdTs, 'X'), + updated: parseDate(item.updatedTs, 'X'), + }; + }); + + const { data: currentResponse } = await got(currentUrl); + + const $ = cheerio.load(currentResponse); + + const icon = new URL($('link[rel="shortcut icon"]').prop('href'), currentUrl).href; + + ctx.state.data = { + item: items, + title: $('title').text(), + link: currentUrl, + description: $('span.rainbow-text').first().text(), + language: $('html').prop('lang'), + icon, + logo: icon, + subtitle: $('title').text(), + author: $('meta[name="author"]').prop('content'), + allowEmpty: true, + }; +}; diff --git a/lib/v2/chuanliu/radar.js b/lib/v2/chuanliu/radar.js new file mode 100644 index 0000000000..b8072da6d0 --- /dev/null +++ b/lib/v2/chuanliu/radar.js @@ -0,0 +1,13 @@ +module.exports = { + 'chuanliu.org': { + _name: '川流', + '.': [ + { + title: '严选', + docs: 'https://docs.rsshub.app/routes/blog#chuan-liu-yan-xuan', + source: ['/nice'], + target: '/chuanliu/nice', + }, + ], + }, +}; diff --git a/lib/v2/chuanliu/router.js b/lib/v2/chuanliu/router.js new file mode 100644 index 0000000000..d082d9a1c3 --- /dev/null +++ b/lib/v2/chuanliu/router.js @@ -0,0 +1,3 @@ +module.exports = (router) => { + router.get('/nice', require('./nice')); +}; diff --git a/lib/v2/chuanliu/templates/description.art b/lib/v2/chuanliu/templates/description.art new file mode 100644 index 0000000000..dfd22a693d --- /dev/null +++ b/lib/v2/chuanliu/templates/description.art @@ -0,0 +1,23 @@ +{{ if images }} + {{ each images image }} + {{ if image?.src }} +
+ {{ image.alt }} +
+ {{ /if }} + {{ /each }} +{{ /if }} + +{{ if description }} + {{@ description }} +{{ /if }} \ No newline at end of file diff --git a/lib/v2/cntheory/maintainer.js b/lib/v2/cntheory/maintainer.js new file mode 100644 index 0000000000..f146840f72 --- /dev/null +++ b/lib/v2/cntheory/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/paper/:id?': ['nczitzk'], +}; diff --git a/lib/v2/cntheory/paper.js b/lib/v2/cntheory/paper.js new file mode 100644 index 0000000000..c25edb81f7 --- /dev/null +++ b/lib/v2/cntheory/paper.js @@ -0,0 +1,87 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const { art } = require('@/utils/render'); +const path = require('path'); + +module.exports = async (ctx) => { + const id = ctx.params.id; + + const rootUrl = 'https://paper.cntheory.com'; + + let response = await got({ + method: 'get', + url: rootUrl, + }); + + response = await got({ + method: 'get', + url: `${rootUrl}/${response.data.match(/URL=(.*)"/)[1]}`, + }); + + const $ = cheerio.load(response.data); + + const matches = response.data.match(/images\/(\d{4}-\d{2}\/\d{2})\/\w+\/\w+_brief/); + const link = `${rootUrl}/html/${matches[1]}`; + + let items = []; + + await Promise.all( + $('#pageLink') + .toArray() + .filter((p) => (id ? $(p).text().split(':').pop() === id : true)) + .map((p) => `${link}/${$(p).attr('href').replace(/\.\//, '')}`) + .map(async (p) => { + const pageResponse = await got({ + method: 'get', + url: p, + }); + + const page = cheerio.load(pageResponse.data); + + items.push( + ...page('table') + .last() + .find('a') + .toArray() + .map((a) => `${link}/${$(a).attr('href')}`) + ); + }) + ); + + items = await Promise.all( + items.map((item) => + ctx.cache.tryGet(item, async () => { + const detailResponse = await got({ + method: 'get', + url: item, + }); + + const content = cheerio.load(detailResponse.data); + + return { + link: item, + title: content('h1').text(), + pubDate: parseDate(matches[1], 'YYYY-MM/DD'), + enclosure_url: `${rootUrl}${ + content('.ban_t a') + .first() + .attr('href') + .match(/(\/images.*)/)[1] + }`, + description: art(path.join(__dirname, 'templates/description.art'), { + resource: content('#reslist').html().replaceAll('display:none;', ''), + description: content('founder-content').html(), + }), + }; + }) + ) + ); + + ctx.state.data = { + title: `学习时报${id ? ` - ${id}` : ''}`, + link: rootUrl, + item: items, + allowEmpty: true, + }; +}; diff --git a/lib/v2/cntheory/radar.js b/lib/v2/cntheory/radar.js new file mode 100644 index 0000000000..88efdb14cf --- /dev/null +++ b/lib/v2/cntheory/radar.js @@ -0,0 +1,13 @@ +module.exports = { + 'cntheory.com': { + _name: '理论网', + paper: [ + { + title: '学习时报', + docs: 'https://docs.rsshub.app/routes/traditional-media#li-lun-wang-xue-xi-shi-bao', + source: ['/'], + target: (params, url) => `/cntheory/paper/${new URL(url).toString().match(/-(\w+)\.htm/)[1]}`, + }, + ], + }, +}; diff --git a/lib/v2/cntheory/router.js b/lib/v2/cntheory/router.js new file mode 100644 index 0000000000..896721b6d8 --- /dev/null +++ b/lib/v2/cntheory/router.js @@ -0,0 +1,3 @@ +module.exports = function (router) { + router.get('/paper/:id?', require('./paper')); +}; diff --git a/lib/v2/cntheory/templates/description.art b/lib/v2/cntheory/templates/description.art new file mode 100644 index 0000000000..9294c48ed1 --- /dev/null +++ b/lib/v2/cntheory/templates/description.art @@ -0,0 +1,2 @@ +{{@ resource }} +{{@ description }} diff --git a/lib/v2/curiouscat/radar.js b/lib/v2/curiouscat/radar.js index f9b017a748..5904775de5 100644 --- a/lib/v2/curiouscat/radar.js +++ b/lib/v2/curiouscat/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'User', - docs: 'https://docs.rsshub.app/routes/en/social-media#curiouscat', + docs: 'https://docs.rsshub.app/routes/social-media#curiouscat', source: ['/:id'], target: '/curiouscat/user/:id', }, diff --git a/lib/v2/daily/radar.js b/lib/v2/daily/radar.js index 03986d64ce..b937ee8060 100644 --- a/lib/v2/daily/radar.js +++ b/lib/v2/daily/radar.js @@ -4,19 +4,19 @@ module.exports = { '.': [ { title: 'Most Discussed', - docs: 'https://docs.rsshub.app/routes/en/social-media#daily.dev', + docs: 'https://docs.rsshub.app/routes/social-media#daily.dev', source: ['/discussed'], target: '/daily/discussed', }, { title: 'Most Upvoted', - docs: 'https://docs.rsshub.app/routes/en/social-media#daily.dev', + docs: 'https://docs.rsshub.app/routes/social-media#daily.dev', source: ['/upvoted'], target: '/daily/upvoted', }, { title: 'Popular', - docs: 'https://docs.rsshub.app/routes/en/social-media#daily.dev', + docs: 'https://docs.rsshub.app/routes/social-media#daily.dev', source: ['/popular'], target: '/daily', }, diff --git a/lib/v2/deadline/radar.js b/lib/v2/deadline/radar.js index b9b1911365..dbd592d101 100644 --- a/lib/v2/deadline/radar.js +++ b/lib/v2/deadline/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Latest Articles', - docs: 'https://docs.rsshub.app/routes/en/new-media#deadline', + docs: 'https://docs.rsshub.app/routes/new-media#deadline', source: ['/'], target: '/deadline', }, diff --git a/lib/v2/discord/radar.js b/lib/v2/discord/radar.js index 39813e0fc6..420dd290dd 100644 --- a/lib/v2/discord/radar.js +++ b/lib/v2/discord/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Channel Messages', - docs: 'https://docs.rsshub.app/routes/en/social-media#discord', + docs: 'https://docs.rsshub.app/routes/social-media#discord', source: ['/channels/:guildId/:channelId/:messageID', '/channels/:guildId/:channelId'], target: '/discord/channel/:channelId', }, diff --git a/lib/v2/dnaindia/radar.js b/lib/v2/dnaindia/radar.js index 9fbac58890..e279bdfaf8 100644 --- a/lib/v2/dnaindia/radar.js +++ b/lib/v2/dnaindia/radar.js @@ -4,13 +4,13 @@ module.exports = { '.': [ { title: 'News', - docs: 'https://docs.rsshub.app/routes/en/traditional-media#dna-india', + docs: 'https://docs.rsshub.app/routes/traditional-media#dna-india', source: ['/:category'], target: '/dnaindia/:category', }, { title: 'Topic', - docs: 'https://docs.rsshub.app/routes/en/traditional-media#dna-india', + docs: 'https://docs.rsshub.app/routes/traditional-media#dna-india', source: ['/topic/:topic'], target: '/dnaindia/topic/:topic', }, diff --git a/lib/v2/firefox/release.js b/lib/v2/firefox/release.js index b24c09000d..8aaa554154 100644 --- a/lib/v2/firefox/release.js +++ b/lib/v2/firefox/release.js @@ -1,18 +1,24 @@ const got = require('@/utils/got'); const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +const platformSlugs = { + desktop: 'releasenotes', + beta: 'beta/notes', + nightly: 'nightly/notes', + android: 'android/releasenotes', + ios: 'ios/notes', +}; module.exports = async (ctx) => { - const { platform } = ctx.params; - let devicePlatform = platform.replace('-', '/'); - if (devicePlatform === 'desktop') { - devicePlatform = ''; - } + const { platform = 'desktop' } = ctx.params; + const devicePlatform = platform.replace('-', '/'); - const link = ['https://www.mozilla.org/en-US/firefox', devicePlatform, 'releasenotes/'].filter(Boolean).join('/'); + const link = ['https://www.mozilla.org/en-US/firefox', Object.hasOwn(platformSlugs, devicePlatform) ? platformSlugs[devicePlatform] : devicePlatform].filter(Boolean).join('/'); const response = await got.get(link); const $ = cheerio.load(response.data); const version = $('.c-release-version').text(); - const pubDate = new Date($('.c-release-date').text()).toUTCString(); + const pubDate = parseDate($('.c-release-date').text(), 'MMMM D, YYYY'); ctx.state.data = { title: `Firefox ${platform} release notes`, diff --git a/lib/v2/firefox/router.js b/lib/v2/firefox/router.js index eab755767e..49b3d0c6e5 100644 --- a/lib/v2/firefox/router.js +++ b/lib/v2/firefox/router.js @@ -1,5 +1,5 @@ module.exports = function (router) { router.get('/addons/:id', require('./addons')); router.get('/breaches', require('./breaches')); - router.get('/release/:platform', require('./release')); + router.get('/release/:platform?', require('./release')); }; diff --git a/lib/v2/fisher-spb/radar.js b/lib/v2/fisher-spb/radar.js index d9896b7d64..e3a94b3194 100644 --- a/lib/v2/fisher-spb/radar.js +++ b/lib/v2/fisher-spb/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'news', - docs: 'https://docs.rsshub.app/routes/en/other#fisher-spb', + docs: 'https://docs.rsshub.app/routes/other#fisher-spb', source: ['/news'], target: '/fisher-spb/news', }, diff --git a/lib/v2/foresightnews/util.js b/lib/v2/foresightnews/util.js index 528a804d50..9d1d69bdeb 100644 --- a/lib/v2/foresightnews/util.js +++ b/lib/v2/foresightnews/util.js @@ -47,7 +47,7 @@ const processItems = async (apiUrl, limit, ...searchParams) => { let items = JSON.parse(String(zlib.inflateSync(Buffer.from(response.data?.list ?? response.data, 'base64')))); items = (items?.list ?? items).slice(0, limit).map((item) => { - const sourceType = item.source_type ?? (item.source_link ? 'news' : item.event_type ? 'event' : constants.defaultType); + const sourceType = item.source_type ?? (item.source_link ? (item.column?.title ? 'article' : 'news') : item.event_type ? 'event' : constants.defaultType); item = item.source_type ? item[item.source_type] : item; diff --git a/lib/v2/freecomputerbooks/radar.js b/lib/v2/freecomputerbooks/radar.js index eb7b14aa8d..0963e23ae1 100644 --- a/lib/v2/freecomputerbooks/radar.js +++ b/lib/v2/freecomputerbooks/radar.js @@ -4,13 +4,13 @@ module.exports = { '.': [ { title: 'Selected New Books', - docs: 'https://docs.rsshub.app/routes/en/reading#free-computer-books', + docs: 'https://docs.rsshub.app/routes/reading#free-computer-books', source: ['/', '/index.html'], target: '/freecomputerbooks', }, { title: 'Current Book List', - docs: 'https://docs.rsshub.app/routes/en/reading#free-computer-books', + docs: 'https://docs.rsshub.app/routes/reading#free-computer-books', source: ['/:category'], target: (params, _, document) => { const categoryId = params.category.replace('.html', ''); diff --git a/lib/v2/ft/radar.js b/lib/v2/ft/radar.js index 9a49b381ef..319c6ce920 100644 --- a/lib/v2/ft/radar.js +++ b/lib/v2/ft/radar.js @@ -17,7 +17,7 @@ module.exports = { '.': [ { title: 'myFT personal RSS', - docs: 'https://docs.rsshub.app/routes/en/traditional-media#financial-times', + docs: 'https://docs.rsshub.app/routes/traditional-media#financial-times', }, ], }, diff --git a/lib/v2/gov/radar.js b/lib/v2/gov/radar.js index b5fea4cbc0..28ef1c6dc4 100644 --- a/lib/v2/gov/radar.js +++ b/lib/v2/gov/radar.js @@ -872,7 +872,7 @@ module.exports = { immi: [ { title: 'Immigration and Citizenship', - docs: 'https://docs.rsshub.app/routes/en/government#Australia-Department-of-Home-Affairs', + docs: 'https://docs.rsshub.app/routes/government#Australia-Department-of-Home-Affairs', source: '/news-media/archive', target: () => '/gov/immiau/news', }, diff --git a/lib/v2/guanhai/index.js b/lib/v2/guanhai/index.js index 7911aff9c4..44e95278e0 100644 --- a/lib/v2/guanhai/index.js +++ b/lib/v2/guanhai/index.js @@ -7,12 +7,16 @@ module.exports = async (ctx) => { const { data: response } = await got('https://www.guanhai.com.cn'); const $ = cheerio.load(response); - const imgBox = $('.img-box'); - const recommand = { - title: imgBox.find('a').first().attr('title'), - link: imgBox.find('a').first().attr('href'), - pubDate: timezone(parseDate(imgBox.find('time').text()), 8), - }; + const recommand = $('.img-box ul > a') + .toArray() + .map((item) => { + item = $(item); + return { + title: item.attr('title'), + link: item.attr('href'), + }; + }); + const list = [ ...$('.pic-summary .title') .toArray() @@ -21,11 +25,11 @@ module.exports = async (ctx) => { return { title: item.find('a').attr('title'), link: item.find('a').attr('href'), - pubDate: timezone(parseDate(item.find('time').text()), 8), + pubDate: timezone(parseDate(item.find('time').text(), 'YYYY-MM-DD HH:mm'), 8), }; }), - recommand, - ]; + ...recommand, + ].filter((item) => item.link.startsWith('http')); const items = await Promise.all( list.map((item) => @@ -33,7 +37,8 @@ module.exports = async (ctx) => { const { data: response } = await got(item.link); const $ = cheerio.load(response); item.author = $('.source').text(); - item.description = $('.article-content').html(); + item.description = $('.article-content').html() ?? $('.video-content').html(); + item.pubDate = item.pubDate ?? timezone(parseDate($('.date').text(), 'YYYY-MM-DD HH:mm'), 8); return item; }) ) diff --git a/lib/v2/huanqiu/index.js b/lib/v2/huanqiu/index.js index d088c288ad..8a45cc6d21 100644 --- a/lib/v2/huanqiu/index.js +++ b/lib/v2/huanqiu/index.js @@ -20,26 +20,26 @@ module.exports = async (ctx) => { throw new Error('Invalid category'); } - const host = 'https://' + category + '.huanqiu.com'; + const host = `https://${category}.huanqiu.com`; const resp = await got({ method: 'get', - url: [...host, '/api/channel_pc'], + url: `${host}/api/channel_pc`, }).json(); const name = getKeysRecursive(resp.children, 'children', 'domain_name', [])[0]; const nodes = getKeysRecursive(resp.children, 'children', 'node', []) - .map((x) => '"' + x + '"') + .map((x) => `"${x}"`) .join(','); const req = await got({ method: 'get', - url: [...host, '/api/list?node='] + nodes + `&offset=0&limit=${ctx.query.limit ?? 20}`, + url: `${host}/api/list?node=${nodes}&offset=0&limit=${ctx.query.limit ?? 20}`, }).json(); let items = req.list .filter((item) => item.aid) .map((item) => ({ - link: host + '/article/' + item.aid, + link: `${host}/article/${item.aid}`, title: item.title, })); diff --git a/lib/v2/indiansinkuwait/radar.js b/lib/v2/indiansinkuwait/radar.js index feb128de4f..e83c69d155 100644 --- a/lib/v2/indiansinkuwait/radar.js +++ b/lib/v2/indiansinkuwait/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'News', - docs: 'https://docs.rsshub.app/routes/en/new-media#indians-in-kuwait', + docs: 'https://docs.rsshub.app/routes/new-media#indians-in-kuwait', source: ['/latest-news', '/'], target: '/indiansinkuwait/latest', }, diff --git a/lib/v2/javlibrary/utils.js b/lib/v2/javlibrary/utils.js index 21853f4577..b55dcebaf4 100644 --- a/lib/v2/javlibrary/utils.js +++ b/lib/v2/javlibrary/utils.js @@ -55,7 +55,7 @@ module.exports = { content('.icn_edit, .btn_videoplayer, a[rel="bookmark"]').remove(); content('span').each(function () { - if (content(this).attr('class').startsWith('icn_')) { + if (content(this).attr('class')?.startsWith('icn_')) { content(this).remove(); } }); diff --git a/lib/v2/jewishmuseum/radar.js b/lib/v2/jewishmuseum/radar.js index 25d0197263..9672171506 100644 --- a/lib/v2/jewishmuseum/radar.js +++ b/lib/v2/jewishmuseum/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Exhibitions', - docs: 'https://docs.rsshub.app/routes/en/travel#the-jewish-museum', + docs: 'https://docs.rsshub.app/routes/travel#the-jewish-museum', }, ], }, diff --git a/lib/v2/jinse/catalogue.js b/lib/v2/jinse/catalogue.js new file mode 100644 index 0000000000..0ec43bc271 --- /dev/null +++ b/lib/v2/jinse/catalogue.js @@ -0,0 +1,101 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const { art } = require('@/utils/render'); +const path = require('path'); + +const categories = { + zhengce: '政策', + fenxishishuo: '行情', + defi: 'DeFi', + kuang: '矿业', + '以太坊2.0': '以太坊 2.0', + industry: '产业', + IPFS: 'IPFS', + tech: '技术', + baike: '百科', + capitalmarket: '研报', +}; + +module.exports = async (ctx) => { + const { category = 'zhengce' } = ctx.params; + const limit = ctx.query.limit ? Number.parseInt(ctx.query.limit, 10) : 50; + + const rootUrl = 'https://www.jinse.cn'; + const rootApiUrl = 'https://api.jinse.cn'; + const apiUrl = new URL('v6/www/information/list', rootApiUrl).href; + const currentUrl = rootUrl; + + const { data: response } = await got(apiUrl, { + searchParams: { + catelogue_key: category, + limit, + flag: 'up', + }, + }); + + let items = response.list.slice(0, limit).map((item) => ({ + title: item.title, + link: item.extra.topic_url, + description: art(path.join(__dirname, 'templates/description.art'), { + images: + item.extra.thumbnails_pics.length > 0 + ? item.extra.thumbnails_pics.map((p) => ({ + src: p.replace(/_[^\W_]+(\.\w+)$/, '_true$1'), + })) + : undefined, + intro: item.extra.summary, + }), + author: item.extra.nickname, + guid: `jinse${/\/lives\//.test(item.extra.topic_url) ? '-lives' : ''}-${item.extra.topic_id}`, + pubDate: parseDate(item.extra.published_at, 'X'), + upvotes: item.extra.up_counts ?? 0, + downvotes: item.extra.down_counts ?? 0, + comments: item.extra.comment_count ?? 0, + })); + + items = await Promise.all( + items.map((item) => + ctx.cache.tryGet(item.link, async () => { + if (/\/lives\//.test(item.link)) { + return item; + } + + const { data: detailResponse } = await got(item.link); + + const content = cheerio.load(detailResponse); + + item.description += art(path.join(__dirname, 'templates/description.art'), { + description: content('section.js-article-content').html() || content('div.js-article').html(), + }); + item.category = content('section.js-article-tag_state_1 a span') + .toArray() + .map((c) => content(c).text()); + + return item; + }) + ) + ); + + const { data: currentResponse } = await got(currentUrl); + + const $ = cheerio.load(currentResponse); + + const author = $('meta[name="author"]').prop('content'); + const image = $('a.js-logoBox img').prop('src'); + const icon = new URL($('link[rel="favicon"]').prop('href'), rootUrl).href; + + ctx.state.data = { + item: items, + title: `${author} - ${Object.hasOwn(categories, category) ? categories[category] : category}`, + link: currentUrl, + description: $('meta[name="description"]').prop('content'), + language: $('html').prop('lang'), + image, + icon, + logo: icon, + subtitle: $('meta[name="keywords"]').prop('content'), + author, + allowEmpty: true, + }; +}; diff --git a/lib/v2/jinse/lives.js b/lib/v2/jinse/lives.js new file mode 100644 index 0000000000..94de36503e --- /dev/null +++ b/lib/v2/jinse/lives.js @@ -0,0 +1,87 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const { art } = require('@/utils/render'); +const path = require('path'); + +const categories = { + 0: '全部', + 1: '精选', + 2: '政策', + 3: '数据', + 4: 'NFT', + 5: '项目', +}; + +module.exports = async (ctx) => { + const { category = '0' } = ctx.params; + const limit = ctx.query.limit ? Number.parseInt(ctx.query.limit, 10) : 100; + + const rootUrl = 'https://jinse.cn'; + const rootApiUrl = 'https://api.jinse.cn'; + const apiUrl = new URL('noah/v2/lives', rootApiUrl).href; + const currentUrl = new URL('lives', rootUrl).href; + + const { data: response } = await got(apiUrl, { + searchParams: { + limit, + reading: false, + source: 'web', + flag: 'up', + id: 0, + category, + }, + }); + + const items = + response.list + .flatMap((l) => l.lives) + .slice(0, limit) + .map((item) => ({ + title: item.content_prefix, + link: new URL(`lives/${item.id}.html`, rootUrl).href, + description: art(path.join(__dirname, 'templates/description.art'), { + images: + item.images?.map((i) => ({ + src: i.url.replace(/_[^\W_]+(\.\w+)$/, '_true$1'), + width: i.width, + height: i.height, + })) ?? [], + description: item.content, + original: item.link + ? { + link: item.link, + name: item.link_name, + } + : undefined, + }), + author: item.show_source_name, + guid: `jinse-lives-${item.id}`, + pubDate: parseDate(item.created_at, 'X'), + upvotes: item.up_counts ?? 0, + downvotes: item.down_counts ?? 0, + comments: item.comment_count ?? 0, + })) ?? []; + + const { data: currentResponse } = await got(currentUrl); + + const $ = cheerio.load(currentResponse); + + const author = $('meta[name="author"]').prop('content'); + const image = $('a.js-logoBox img').prop('src'); + const icon = new URL($('link[rel="favicon"]').prop('href'), rootUrl).href; + + ctx.state.data = { + item: items, + title: `${author} - ${Object.hasOwn(categories, category) ? categories[category] : category}`, + link: currentUrl, + description: $('meta[name="description"]').prop('content'), + language: $('html').prop('lang'), + image, + icon, + logo: icon, + subtitle: $('meta[name="keywords"]').prop('content'), + author, + allowEmpty: true, + }; +}; diff --git a/lib/v2/jinse/maintainer.js b/lib/v2/jinse/maintainer.js new file mode 100644 index 0000000000..ec958f4a2a --- /dev/null +++ b/lib/v2/jinse/maintainer.js @@ -0,0 +1,5 @@ +module.exports = { + '/lives/:category?': ['nczitzk'], + '/timeline/:category?': ['nczitzk'], + '/:category?': ['nczitzk'], +}; diff --git a/lib/v2/jinse/radar.js b/lib/v2/jinse/radar.js new file mode 100644 index 0000000000..3defac2d27 --- /dev/null +++ b/lib/v2/jinse/radar.js @@ -0,0 +1,187 @@ +module.exports = { + 'jinse.cn': { + _name: '金色财经', + '.': [ + { + title: '首页 - 头条', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/头条', + }, + { + title: '首页 - 独家', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/独家', + }, + { + title: '首页 - 铭文', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/铭文', + }, + { + title: '首页 - 产业', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/产业', + }, + { + title: '首页 - 项目', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/项目', + }, + { + title: '首页 - 政策', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/政策', + }, + { + title: '首页 - AI', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/AI', + }, + { + title: '首页 - Web 3.0', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/Web 3.0', + }, + { + title: '首页 - 以太坊2.0', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/以太坊2.0', + }, + { + title: '首页 - DeFi', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/DeFi', + }, + { + title: '首页 - Layer2', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/Layer2', + }, + { + title: '首页 - NFT', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/NFT', + }, + { + title: '首页 - DAO', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/DAO', + }, + { + title: '首页 - 百科', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-shou-ye', + source: ['/'], + target: '/jinse/timeline/百科', + }, + { + title: '快讯 - 全部', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-kuai-xun', + source: ['/lives'], + target: '/jinse/lives/0', + }, + { + title: '快讯 - 精选', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-kuai-xun', + source: ['/lives'], + target: '/jinse/lives/1', + }, + { + title: '快讯 - 政策', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-kuai-xun', + source: ['/lives'], + target: '/jinse/lives/2', + }, + { + title: '快讯 - 数据', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-kuai-xun', + source: ['/lives'], + target: '/jinse/lives/3', + }, + { + title: '快讯 - NFT', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-kuai-xun', + source: ['/lives'], + target: '/jinse/lives/4', + }, + { + title: '快讯 - 项目', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-kuai-xun', + source: ['/lives'], + target: '/jinse/lives/5', + }, + { + title: '分类 - 政策', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/zhengce', + }, + { + title: '分类 - 行情', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/fenxishishuo', + }, + { + title: '分类 - DeFi', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/defi', + }, + { + title: '分类 - 矿业', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/kuang', + }, + { + title: '分类 - 以太坊 2.0', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/以太坊2.0', + }, + { + title: '分类 - 产业', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/industry', + }, + { + title: '分类 - IPFS', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/IPFS', + }, + { + title: '分类 - 技术', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/tech', + }, + { + title: '分类 - 百科', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/baike', + }, + { + title: '分类 - 研报', + docs: 'https://docs.rsshub.app/routes/finance#jin-se-cai-jing-fen-lei', + source: ['/'], + target: '/jinse/capitalmarket', + }, + ], + }, +}; diff --git a/lib/v2/jinse/router.js b/lib/v2/jinse/router.js new file mode 100644 index 0000000000..c9bd8a42cc --- /dev/null +++ b/lib/v2/jinse/router.js @@ -0,0 +1,5 @@ +module.exports = (router) => { + router.get('/lives/:category?', require('./lives')); + router.get('/timeline/:category?', require('./timeline')); + router.get('/:category?', require('./catalogue')); +}; diff --git a/lib/v2/jinse/templates/description.art b/lib/v2/jinse/templates/description.art new file mode 100644 index 0000000000..210b63ad2d --- /dev/null +++ b/lib/v2/jinse/templates/description.art @@ -0,0 +1,34 @@ +{{ if images }} + {{ each images image }} + {{ if image?.src }} +
+ {{ image.alt }} +
+ {{ /if }} + {{ /each }} +{{ /if }} + +{{ if intro }} +
{{ intro }}
+{{ /if }} + +{{ if description }} + {{@ description }} +{{ /if }} + +{{ if original?.link }} +

+ {{ original.name }}: + {{ original.link }} +

+{{ /if }} \ No newline at end of file diff --git a/lib/v2/jinse/timeline.js b/lib/v2/jinse/timeline.js new file mode 100644 index 0000000000..7bc6e902a4 --- /dev/null +++ b/lib/v2/jinse/timeline.js @@ -0,0 +1,96 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const { art } = require('@/utils/render'); +const path = require('path'); + +module.exports = async (ctx) => { + const { category = '头条' } = ctx.params; + const limit = ctx.query.limit ? Number.parseInt(ctx.query.limit, 10) : 50; + + const rootUrl = 'https://www.jinse.cn'; + const rootApiUrl = 'https://api.jinse.cn'; + const apiUrl = new URL('noah/v3/timelines', rootApiUrl).href; + const currentUrl = rootUrl; + + const { data: response } = await got(apiUrl, { + searchParams: { + catelogue_key: category === '头条' ? 'www' : category, + limit, + information_id: 0, + flag: 'up', + }, + }); + + let items = response.data.list.slice(0, limit).map((item) => { + item = item.object_1 ?? item.object_2; + + return { + title: item.title, + link: item.jump_url, + description: art(path.join(__dirname, 'templates/description.art'), { + images: item.cover + ? [ + { + src: item.cover.replace(/_[^\W_]+(\.\w+)$/, '_true$1'), + alt: item.title, + }, + ] + : undefined, + intro: item.summary, + description: item.content, + }), + author: item.author.nickname, + guid: `jinse${/\/lives\//.test(item.jump_url) ? '-lives' : ''}-${item.id}`, + pubDate: parseDate(item.published_at, 'X'), + upvotes: item.up_counts ?? 0, + downvotes: item.down_counts ?? 0, + comments: item.comment_count ?? 0, + }; + }); + + items = await Promise.all( + items.map((item) => + ctx.cache.tryGet(item.link, async () => { + if (/\/lives\//.test(item.link)) { + return item; + } + + const { data: detailResponse } = await got(item.link); + + const content = cheerio.load(detailResponse); + + item.description += art(path.join(__dirname, 'templates/description.art'), { + description: content('section.js-article-content').html() || content('div.js-article').html(), + }); + item.category = content('section.js-article-tag_state_1 a span') + .toArray() + .map((c) => content(c).text()); + + return item; + }) + ) + ); + + const { data: currentResponse } = await got(currentUrl); + + const $ = cheerio.load(currentResponse); + + const author = $('meta[name="author"]').prop('content'); + const image = $('a.js-logoBox img').prop('src'); + const icon = new URL($('link[rel="favicon"]').prop('href'), rootUrl).href; + + ctx.state.data = { + item: items, + title: `${author} - ${category}`, + link: currentUrl, + description: $('meta[name="description"]').prop('content'), + language: $('html').prop('lang'), + image, + icon, + logo: icon, + subtitle: $('meta[name="keywords"]').prop('content'), + author, + allowEmpty: true, + }; +}; diff --git a/lib/v2/kcna/news.js b/lib/v2/kcna/news.js index 0c49e0732d..ab3e0a026a 100644 --- a/lib/v2/kcna/news.js +++ b/lib/v2/kcna/news.js @@ -4,6 +4,7 @@ const asyncPool = require('tiny-async-pool'); const { art } = require('@/utils/render'); const { parseJucheDate, fixDesc, fetchPhoto, fetchVideo } = require('./utils'); const path = require('path'); +const sanitizeHtml = require('sanitize-html'); module.exports = async (ctx) => { const { lang, category = '1ee9bdb7186944f765208f34ecfb5407' } = ctx.params; @@ -15,9 +16,7 @@ module.exports = async (ctx) => { const $ = cheerio.load(response.data); // fix ??? - const title = $('head > title') - .text() - .replaceAll(/<[^>]*>/g, ''); + const title = sanitizeHtml($('head > title').text(), { allowedTags: [], allowedAttributes: {} }); const list = $('.article-link li a') .map((_, item) => { diff --git a/lib/v2/keepass/maintainer.js b/lib/v2/keepass/maintainer.js new file mode 100644 index 0000000000..83fc5ed48d --- /dev/null +++ b/lib/v2/keepass/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/': ['TonyRL'], +}; diff --git a/lib/v2/keepass/news.js b/lib/v2/keepass/news.js new file mode 100644 index 0000000000..b22e8a10ee --- /dev/null +++ b/lib/v2/keepass/news.js @@ -0,0 +1,46 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const baseUrl = 'https://keepass.info/news/news_all.html'; + const { data: response } = await got(baseUrl); + const $ = cheerio.load(response); + + const list = $('p > a') + .toArray() + .map((elem) => { + elem = $(elem); + return { + title: elem.find('b').text(), + link: new URL(elem.attr('href'), baseUrl).href, + pubDate: parseDate(elem.next().next('small').text().split('.')[0]), + }; + }) + .slice(0, ctx.query.limit ? Number.parseInt(ctx.query.limit, 10) : 10); + + const items = await Promise.all( + list.map((item) => + ctx.cache.tryGet(item.link, async () => { + if (!item.link.startsWith('https://keepass.info/')) { + return item; + } + + const { data } = await got(item.link); + const $ = cheerio.load(data); + + $('.sectionheader').remove(); + $('.laytablews > tbody> tr:nth-child(1) > td:nth-child(2) > p').first().remove(); + + item.description = $('.laytablews > tbody> tr:nth-child(1) > td:nth-child(2)').html(); + return item; + }) + ) + ); + + ctx.state.data = { + title: $('head title').attr('content'), + link: baseUrl, + item: items, + }; +}; diff --git a/lib/v2/keepass/radar.js b/lib/v2/keepass/radar.js new file mode 100644 index 0000000000..d03658c1aa --- /dev/null +++ b/lib/v2/keepass/radar.js @@ -0,0 +1,13 @@ +module.exports = { + 'keepass.info': { + _name: 'KeePass', + '.': [ + { + title: 'News', + docs: 'https://docs.rsshub.app/routes/program-update.html#keepass', + source: ['/news/news_all.html', '/'], + target: '/keepass/news', + }, + ], + }, +}; diff --git a/lib/v2/keepass/router.js b/lib/v2/keepass/router.js new file mode 100644 index 0000000000..bfacc19658 --- /dev/null +++ b/lib/v2/keepass/router.js @@ -0,0 +1,3 @@ +module.exports = (router) => { + router.get('/', require('./news')); +}; diff --git a/lib/v2/kuwaitlocal/radar.js b/lib/v2/kuwaitlocal/radar.js index 1dfd39bce6..e36d022d21 100644 --- a/lib/v2/kuwaitlocal/radar.js +++ b/lib/v2/kuwaitlocal/radar.js @@ -4,13 +4,13 @@ module.exports = { '.': [ { title: 'Latest News', - docs: 'https://docs.rsshub.app/routes/en/new-media#kuwait-local', + docs: 'https://docs.rsshub.app/routes/new-media#kuwait-local', source: ['/news/latest', '/news', '/'], target: '/kuwaitlocal', }, { title: 'Categorised News', - docs: 'https://docs.rsshub.app/routes/en/new-media#kuwait-local', + docs: 'https://docs.rsshub.app/routes/new-media#kuwait-local', source: ['/news/categories/:category'], target: '/kuwaitlocal/:category', }, diff --git a/lib/v2/laimanhua/index.js b/lib/v2/laimanhua/index.js new file mode 100644 index 0000000000..98440a2b7e --- /dev/null +++ b/lib/v2/laimanhua/index.js @@ -0,0 +1,41 @@ +const got = require('@/utils/got'); +const iconv = require('iconv-lite'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const { id } = ctx.params; + const baseUrl = `https://www.laimanhua8.com`; + const link = `${baseUrl}/kanmanhua/${id}/`; + + const { data: response } = await got(link, { + responseType: 'buffer', + }); + let $ = cheerio.load(iconv.decode(response, 'utf-8')); + const charset = $('meta[http-equiv="Content-Type"]') + .attr('content') + ?.match(/charset=(.*)/)?.[1]; + if (charset?.toLowerCase() !== 'utf-8') { + $ = cheerio.load(iconv.decode(response, charset ?? 'utf-8')); + } + + const items = $('.plist a') + .toArray() + .map((item, index) => { + item = $(item); + return { + title: item.attr('title'), + link: `${baseUrl}${item.attr('href')}`, + pubDate: index === 0 ? parseDate($('head meta[property="og:novel:update_time"]').attr('content')) : null, + author: $('head meta[property="og:novel:author"]').attr('content'), + }; + }); + + ctx.state.data = { + title: `${$('head meta[property="og:novel:book_name"]').attr('content')} - 来漫画`, + description: $('.introduction').text(), + image: $('head meta[property="og:image"]').attr('content'), + link, + item: items, + }; +}; diff --git a/lib/v2/laimanhua/maintainer.js b/lib/v2/laimanhua/maintainer.js new file mode 100644 index 0000000000..23772fd7f4 --- /dev/null +++ b/lib/v2/laimanhua/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/:id': ['TonyRL'], +}; diff --git a/lib/v2/laimanhua/radar.js b/lib/v2/laimanhua/radar.js new file mode 100644 index 0000000000..1d4f054cf3 --- /dev/null +++ b/lib/v2/laimanhua/radar.js @@ -0,0 +1,13 @@ +module.exports = { + 'laimanhua8.com': { + _name: '来漫画', + www: [ + { + title: '漫画列表', + docs: 'https://docs.rsshub.app/routes/anime#lai-man-hua', + source: '/kanmanhua/:id', + target: '/laimanhua/:id', + }, + ], + }, +}; diff --git a/lib/v2/laimanhua/router.js b/lib/v2/laimanhua/router.js new file mode 100644 index 0000000000..a9e414c853 --- /dev/null +++ b/lib/v2/laimanhua/router.js @@ -0,0 +1,3 @@ +module.exports = (router) => { + router.get('/:id', require('./index')); +}; diff --git a/lib/v2/layoffs/radar.js b/lib/v2/layoffs/radar.js index 981420254a..75a94bb4bb 100644 --- a/lib/v2/layoffs/radar.js +++ b/lib/v2/layoffs/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Data Tracker Feed', - docs: 'https://docs.rsshub.app/routes/en/other#layoffs-fyi', + docs: 'https://docs.rsshub.app/routes/other#layoffs-fyi', source: '/', target: '/layoffs', }, diff --git a/lib/v2/linkedin/radar.js b/lib/v2/linkedin/radar.js index fae1f37aea..242ecab6c5 100644 --- a/lib/v2/linkedin/radar.js +++ b/lib/v2/linkedin/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Job Listing', - docs: 'https://docs.rsshub.app/routes/en/other#linkedin-jobs', + docs: 'https://docs.rsshub.app/routes/other#linkedin-jobs', source: '/jobs/search/', target: (params, url) => { const searchParams = new URL(url).searchParams; diff --git a/lib/v2/lxixsxa/radar.js b/lib/v2/lxixsxa/radar.js index 66fc2f3d59..9078be3d4c 100644 --- a/lib/v2/lxixsxa/radar.js +++ b/lib/v2/lxixsxa/radar.js @@ -4,13 +4,13 @@ module.exports = { www: [ { title: 'LiSA News', - docs: 'https://docs.rsshub.app/routes/en/live#lisa', + docs: 'https://docs.rsshub.app/routes/live#lisa', source: ['/artist/lisa/', '/artist/lisa/info/'], target: '/lxixsxa/info', }, { title: 'LiSA Albums', - docs: 'https://docs.rsshub.app/routes/en/live#lisa', + docs: 'https://docs.rsshub.app/routes/live#lisa', source: ['/artist/lisa/', '/artist/lisa/discography/'], target: '/lxixsxa/disco', }, @@ -21,13 +21,13 @@ module.exports = { www: [ { title: 'News', - docs: 'https://docs.rsshub.app/routes/en/live#lisa', + docs: 'https://docs.rsshub.app/routes/live#lisa', source: ['/', '/info'], target: '/lxixsxa/info', }, { title: 'Albums', - docs: 'https://docs.rsshub.app/routes/en/live#lisa', + docs: 'https://docs.rsshub.app/routes/live#lisa', source: ['/', '/discography'], target: '/lxixsxa/disco', }, diff --git a/lib/v2/metmuseum/radar.js b/lib/v2/metmuseum/radar.js index 43d1dfdcb0..1373ff49e5 100644 --- a/lib/v2/metmuseum/radar.js +++ b/lib/v2/metmuseum/radar.js @@ -4,7 +4,7 @@ module.exports = { www: [ { title: 'Exhibitions', - docs: 'https://docs.rsshub.app/routes/en/travel#the-metropolitan-museum-of-art', + docs: 'https://docs.rsshub.app/routes/travel#the-metropolitan-museum-of-art', }, ], }, diff --git a/lib/v2/mrm/index.js b/lib/v2/mrm/index.js new file mode 100644 index 0000000000..eef3547418 --- /dev/null +++ b/lib/v2/mrm/index.js @@ -0,0 +1,42 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const { category = 'zonghezixun3' } = ctx.params; + const baseUrl = 'http://www.mrm.com.cn'; + const link = `${baseUrl}/${category}.html`; + + const { data: response } = await got(link); + const $ = cheerio.load(response); + + const list = $('#datalist_wap .li') + .toArray() + .map((item) => { + item = $(item); + const a = item.find('a'); + return { + title: a.text().trim(), + link: `${baseUrl}${a.attr('href')}`, + pubDate: parseDate(item.find('.d').text(), 'YYYY.MM.DD'), + }; + }); + + const items = await Promise.all( + list.map((item) => + ctx.cache.tryGet(item.link, async () => { + const { data } = await got(item.link); + const $ = cheerio.load(data); + + item.description = $('.article-cont').html(); + return item; + }) + ) + ); + + ctx.state.data = { + title: $('head title').text(), + link, + item: items, + }; +}; diff --git a/lib/v2/mrm/maintainer.js b/lib/v2/mrm/maintainer.js new file mode 100644 index 0000000000..9644afe025 --- /dev/null +++ b/lib/v2/mrm/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/:category?': ['TonyRL'], +}; diff --git a/lib/v2/mrm/radar.js b/lib/v2/mrm/radar.js new file mode 100644 index 0000000000..b61df6d6e3 --- /dev/null +++ b/lib/v2/mrm/radar.js @@ -0,0 +1,13 @@ +module.exports = { + 'mrm.com.cn': { + _name: '华储网', + '.': [ + { + title: '通知', + docs: 'https://docs.rsshub.app/finance#hua-chu-wang', + source: ['/:category'], + target: (params) => `/mrm/${params.category.replace('.html', '')}`, + }, + ], + }, +}; diff --git a/lib/v2/mrm/router.js b/lib/v2/mrm/router.js new file mode 100644 index 0000000000..9885c36f13 --- /dev/null +++ b/lib/v2/mrm/router.js @@ -0,0 +1,3 @@ +module.exports = (router) => { + router.get('/:category?', require('./index')); +}; diff --git a/lib/v2/nautil/radar.js b/lib/v2/nautil/radar.js index 1005c53aad..e81d2f3579 100644 --- a/lib/v2/nautil/radar.js +++ b/lib/v2/nautil/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Topics', - docs: 'https://docs.rsshub.app/routes/en/new-media#nautilus', + docs: 'https://docs.rsshub.app/routes/new-media#nautilus', source: ['/topics/:tid'], target: '/nautil/topic/:tid', }, diff --git a/lib/v2/nber/radar.js b/lib/v2/nber/radar.js index 8937a20fb5..02c760ae1a 100644 --- a/lib/v2/nber/radar.js +++ b/lib/v2/nber/radar.js @@ -4,13 +4,13 @@ module.exports = { '.': [ { title: 'New working paper', - docs: 'https://docs.rsshub.app/routes/en/journal#national-bureau-of-economic-research', + docs: 'https://docs.rsshub.app/routes/journal#national-bureau-of-economic-research', source: ['/papers'], target: '/nber/news', }, { title: 'All working paper', - docs: 'https://docs.rsshub.app/routes/en/journal#national-bureau-of-economic-research', + docs: 'https://docs.rsshub.app/routes/journal#national-bureau-of-economic-research', source: ['/papers'], target: '/nber/papers', }, diff --git a/lib/v2/newmuseum/radar.js b/lib/v2/newmuseum/radar.js index 5bf821736d..730b68fe37 100644 --- a/lib/v2/newmuseum/radar.js +++ b/lib/v2/newmuseum/radar.js @@ -4,7 +4,7 @@ module.exports = { www: [ { title: 'Exhibitions', - docs: 'https://docs.rsshub.app/routes/en/travel#new-museum', + docs: 'https://docs.rsshub.app/routes/travel#new-museum', }, ], }, diff --git a/lib/v2/openai/radar.js b/lib/v2/openai/radar.js index 9ee608b968..04502504ce 100644 --- a/lib/v2/openai/radar.js +++ b/lib/v2/openai/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Blog', - docs: 'https://docs.rsshub.app/routes/en/new-media#openai', + docs: 'https://docs.rsshub.app/routes/new-media#openai', source: '/blog', target: (_, url) => { const topics = new URL(url).searchParams.get('topics'); @@ -18,7 +18,7 @@ module.exports = { chat: [ { title: 'ChatGPT - Release Notes', - docs: 'https://docs.rsshub.app/routes/en/new-media#openai', + docs: 'https://docs.rsshub.app/routes/new-media#openai', source: '/chat', target: () => '/openai/chatgpt/release-notes', }, @@ -26,7 +26,7 @@ module.exports = { research: [ { title: 'Research', - docs: 'https://docs.rsshub.app/routes/en/new-media#openai', + docs: 'https://docs.rsshub.app/routes/new-media#openai', source: '/research', target: () => '/openai/research', }, diff --git a/lib/v2/picnob/radar.js b/lib/v2/picnob/radar.js index bdf9499b6d..1f1b444163 100644 --- a/lib/v2/picnob/radar.js +++ b/lib/v2/picnob/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'User profile', - docs: 'https://docs.rsshub.app/routes/en/social-media#picnob', + docs: 'https://docs.rsshub.app/routes/social-media#picnob', source: ['/profile/:id/*'], target: '/picnob/user/:id', }, diff --git a/lib/v2/pikabu/radar.js b/lib/v2/pikabu/radar.js index 2bd3f31061..79078a04c7 100644 --- a/lib/v2/pikabu/radar.js +++ b/lib/v2/pikabu/radar.js @@ -4,19 +4,19 @@ module.exports = { '.': [ { title: 'Community', - docs: 'https://docs.rsshub.app/routes/en/bbs#pikabu', + docs: 'https://docs.rsshub.app/routes/bbs#pikabu', source: ['/community/:name'], target: '/pikabu/community/:name', }, { title: 'Tag', - docs: 'https://docs.rsshub.app/routes/en/bbs#pikabu', + docs: 'https://docs.rsshub.app/routes/bbs#pikabu', source: ['/tag/:name'], target: '/pikabu/tag/:name', }, { title: 'User', - docs: 'https://docs.rsshub.app/routes/en/bbs#pikabu', + docs: 'https://docs.rsshub.app/routes/bbs#pikabu', source: ['/:name'], target: '/pikabu/user/:name', }, diff --git a/lib/v2/pixabay/radar.js b/lib/v2/pixabay/radar.js index 40a006a8ad..61453d4dbc 100644 --- a/lib/v2/pixabay/radar.js +++ b/lib/v2/pixabay/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Search', - docs: 'https://docs.rsshub.app/routes/en/picture#pixabay', + docs: 'https://docs.rsshub.app/routes/picture#pixabay', source: ['/:searchType/search/:q'], target: '/pixabay/search/:q', }, diff --git a/lib/v2/rarehistoricalphotos/radar.js b/lib/v2/rarehistoricalphotos/radar.js index ee93ada239..c832d7accb 100644 --- a/lib/v2/rarehistoricalphotos/radar.js +++ b/lib/v2/rarehistoricalphotos/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Home', - docs: 'https://docs.rsshub.app/routes/en/picture#rare-historical-photos', + docs: 'https://docs.rsshub.app/routes/picture#rare-historical-photos', source: ['/'], target: '/rarehistoricalphotos', }, diff --git a/lib/v2/rattibha/radar.js b/lib/v2/rattibha/radar.js index b853ee9a12..b63268076c 100644 --- a/lib/v2/rattibha/radar.js +++ b/lib/v2/rattibha/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'User Threads', - docs: 'https://docs.rsshub.app/routes/en/social-media#rattibha', + docs: 'https://docs.rsshub.app/routes/social-media#rattibha', source: ['/:user'], target: '/rattibha/user/:user', }, diff --git a/lib/v2/reactnewsletter/radar.js b/lib/v2/reactnewsletter/radar.js index 0ca693028c..5de3068b74 100644 --- a/lib/v2/reactnewsletter/radar.js +++ b/lib/v2/reactnewsletter/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'React Newsletter', - docs: 'https://docs.rsshub.app/routes/en/programming#ui-dev-bytes', + docs: 'https://docs.rsshub.app/routes/programming#ui-dev-bytes', source: ['/issues', '/'], target: '/reactnewsletter', }, diff --git a/lib/v2/scmp/index.js b/lib/v2/scmp/index.js index bf86b25a1c..362408f5c4 100644 --- a/lib/v2/scmp/index.js +++ b/lib/v2/scmp/index.js @@ -1,7 +1,7 @@ const cheerio = require('cheerio'); const got = require('@/utils/got'); const { parseDate } = require('@/utils/parse-date'); -const { renderHTML } = require('./utils'); +const { parseItem } = require('./utils'); module.exports = async (ctx) => { const categoryId = ctx.params.category_id; @@ -42,36 +42,7 @@ module.exports = async (ctx) => { }; }); - const items = await Promise.all( - list.map((item) => - ctx.cache.tryGet(item.link, async () => { - const { data: response, url } = await got(item.link); - - if (new URL(url).hostname !== 'www.scmp.com') { - // e.g., https://multimedia.scmp.com/ - return item; - } - - const $ = cheerio.load(response); - - const nextData = JSON.parse($('script#__NEXT_DATA__').text()); - const { article } = nextData.props.pageProps.payload.data; - - // item.nextData = article; - - item.summary = renderHTML(article.summary.json); - item.description = renderHTML(article.subHeadline.json) + renderHTML(article.images.find((i) => i.type === 'leading')) + renderHTML(article.body.json); - item.updated = parseDate(article.updatedDate, 'x'); - item.category = [...new Set([...article.topics.map((t) => t.name), ...article.sections.flatMap((t) => t.value.map((v) => v.name)), ...article.keywords.map((k) => k?.split(', '))])]; - - // N.B. gallery in article is not rendered - // e.g., { type: 'div', attribs: { class: 'scmp-photo-gallery', 'data-gallery-nid': '3239409' }} - // from https://www.scmp.com/news/china/politics/article/3239355/li-keqiang-former-premier-china-dead - - return item; - }) - ) - ); + const items = await Promise.all(list.map((item) => ctx.cache.tryGet(item.link, () => parseItem))); ctx.state.json = { items, diff --git a/lib/v2/scmp/maintainer.js b/lib/v2/scmp/maintainer.js index cd8980b716..b5bed9d56b 100644 --- a/lib/v2/scmp/maintainer.js +++ b/lib/v2/scmp/maintainer.js @@ -1,3 +1,5 @@ module.exports = { '/:category_id': ['proletarius101'], + '/topics/:topic': ['TonyRL'], + '/coronavirus': ['DIYgod'], }; diff --git a/lib/v2/scmp/radar.js b/lib/v2/scmp/radar.js index 39b63f96c7..494bc8de61 100644 --- a/lib/v2/scmp/radar.js +++ b/lib/v2/scmp/radar.js @@ -4,10 +4,16 @@ module.exports = { '.': [ { title: 'News', - docs: 'https://docs.rsshub.app/routes/en/traditional-media#south-china-morning-post', + docs: 'https://docs.rsshub.app/routes/traditional-media#south-china-morning-post', source: ['/rss/:category_id/feed'], target: '/scmp/:category_id', }, + { + title: 'Topics', + docs: 'https://docs.rsshub.app/routes/traditional-media#south-china-morning-post', + source: ['/topics/:topic'], + target: '/scmp/topics/:topic', + }, ], }, }; diff --git a/lib/v2/scmp/router.js b/lib/v2/scmp/router.js index b42ef475af..34c464f029 100644 --- a/lib/v2/scmp/router.js +++ b/lib/v2/scmp/router.js @@ -1,3 +1,5 @@ module.exports = (router) => { + router.redirect('/coronavirus', '/scmp/topics/coronavirus-pandemic-all-stories'); router.get('/:category_id', require('./index')); + router.get('/topics/:topic', require('./topic')); }; diff --git a/lib/v2/scmp/topic.js b/lib/v2/scmp/topic.js new file mode 100644 index 0000000000..30e3968e17 --- /dev/null +++ b/lib/v2/scmp/topic.js @@ -0,0 +1,66 @@ +const cheerio = require('cheerio'); +const got = require('@/utils/got'); +const { parseDate } = require('@/utils/parse-date'); +const { parseItem } = require('./utils'); + +module.exports = async (ctx) => { + const { topic } = ctx.params; + const limit = Number.parseInt(ctx.query.limit, 10) || 30; + const pageUrl = `https://www.scmp.com/topics/${topic}`; + const { data: pageResponse } = await got(pageUrl); + const $ = cheerio.load(pageResponse); + + const nextData = JSON.parse($('script#__NEXT_DATA__').text()); + const topicData = nextData.props.pageProps.payload.data.topic; + const variables = nextData.props.pageProps.operationDescriptor.root.variables; + + const { data: apiResponse } = await got('https://apigw.scmp.com/content-delivery/v2', { + headers: { + apikey: 'MyYvyg8M9RTaevVlcIRhN5yRIqqVssNY', + 'content-type': 'application/json', + }, + searchParams: { + // got v11 does not support nested object in searchParams + extensions: JSON.stringify({ + persistedQuery: { + sha256Hash: '8c951c1c2d4e94bc37d06dd94571552da4c0440c744acd00f2af84d3d8b6e2cf', + version: 1, + }, + }), + operationName: 'topicContentListPaginationQuery', + variables: JSON.stringify({ + applicationIds: variables.applicationIds, + count: limit, + scmpPlusPaywallTypeIds: variables.scmpPlusPaywallTypeIds, + id: topicData.id, + }), + }, + }); + + const list = apiResponse.data.node.contents.edges.map(({ node }) => ({ + title: node.headline, + summary: node.summary.text, + link: `https://www.scmp.com${node.urlAlias}`, + author: node.authors.map((a) => a.name).join(', '), + pubDate: parseDate(node.publishedDate, 'x'), + updated: parseDate(node.updatedDate, 'x'), + })); + + const items = await Promise.all(list.map((item) => ctx.cache.tryGet(item.link, () => parseItem(item)))); + + ctx.state.json = { + nextData, + apiResponse, + }; + + ctx.state.data = { + title: topicData.name, + link: pageUrl, + description: topicData.description.text, + item: items, + language: 'en-hk', + icon: 'https://assets.i-scmp.com/static/img/icons/scmp-icon-256x256.png', + logo: 'https://customerservice.scmp.com/img/logo_scmp@2x.png', + image: 'https://assets-v2.i-scmp.com/production/_next/static/media/default-image.d1be8967.png', + }; +}; diff --git a/lib/v2/scmp/utils.js b/lib/v2/scmp/utils.js index b75f4a27f4..5b6dfdf77b 100644 --- a/lib/v2/scmp/utils.js +++ b/lib/v2/scmp/utils.js @@ -1,3 +1,7 @@ +const cheerio = require('cheerio'); +const got = require('@/utils/got'); +const { parseDate } = require('@/utils/parse-date'); + const renderHTML = (node) => { if (!node) { return ''; @@ -55,6 +59,34 @@ const renderHTML = (node) => { } }; +const parseItem = async (item) => { + const { data: response, url } = await got(item.link); + + if (new URL(url).hostname !== 'www.scmp.com') { + // e.g., https://multimedia.scmp.com/ + return item; + } + + const $ = cheerio.load(response); + + const nextData = JSON.parse($('script#__NEXT_DATA__').text()); + const { article } = nextData.props.pageProps.payload.data; + + // item.nextData = article; + + item.summary = renderHTML(article.summary.json); + item.description = renderHTML(article.subHeadline.json) + renderHTML(article.images.find((i) => i.type === 'leading')) + renderHTML(article.body.json); + item.updated = parseDate(article.updatedDate, 'x'); + item.category = [...new Set([...article.topics.map((t) => t.name), ...article.sections.flatMap((t) => t.value.map((v) => v.name)), ...article.keywords.map((k) => k?.split(', '))])]; + + // N.B. gallery in article is not rendered + // e.g., { type: 'div', attribs: { class: 'scmp-photo-gallery', 'data-gallery-nid': '3239409' }} + // from https://www.scmp.com/news/china/politics/article/3239355/li-keqiang-former-premier-china-dead + + return item; +}; + module.exports = { renderHTML, + parseItem, }; diff --git a/lib/v2/seekingalpha/radar.js b/lib/v2/seekingalpha/radar.js index 428ca28de7..35bb31332e 100644 --- a/lib/v2/seekingalpha/radar.js +++ b/lib/v2/seekingalpha/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Summary', - docs: 'https://docs.rsshub.app/routes/en/finance#seeking-alpha', + docs: 'https://docs.rsshub.app/routes/finance#seeking-alpha', source: ['/symbol/:symbol/:category', '/symbol/:symbol/earnings/:category'], target: '/seekingalpha/:symbol/:category', }, diff --git a/lib/v2/smashingmagazine/radar.js b/lib/v2/smashingmagazine/radar.js index 5cf3074c57..c2b576b88e 100644 --- a/lib/v2/smashingmagazine/radar.js +++ b/lib/v2/smashingmagazine/radar.js @@ -4,13 +4,13 @@ module.exports = { '.': [ { title: 'Articles', - docs: 'https://docs.rsshub.app/routes/en/programming#a-list-apart', + docs: 'https://docs.rsshub.app/routes/programming#a-list-apart', source: ['/articles/'], target: '/smashingmagazine', }, { title: 'Category', - docs: 'https://docs.rsshub.app/routes/en/programming#a-list-apart', + docs: 'https://docs.rsshub.app/routes/programming#a-list-apart', source: ['/category/:category'], target: '/smashingmagazine/:category', }, diff --git a/lib/v2/stockedge/radar.js b/lib/v2/stockedge/radar.js index ab31792712..334b92ed17 100644 --- a/lib/v2/stockedge/radar.js +++ b/lib/v2/stockedge/radar.js @@ -4,7 +4,7 @@ module.exports = { web: [ { title: 'Daily Updates News', - docs: 'https://docs.rsshub.app/routes/en/finance#stock-edge', + docs: 'https://docs.rsshub.app/routes/finance#stock-edge', source: ['/daily-updates/news'], target: '/stockedge/daily-updates/news', }, diff --git a/lib/v2/stratechery/radar.js b/lib/v2/stratechery/radar.js index c26f98ace8..d93a23717c 100644 --- a/lib/v2/stratechery/radar.js +++ b/lib/v2/stratechery/radar.js @@ -4,7 +4,7 @@ module.exports = { blog: [ { title: 'Articles', - docs: 'https://docs.rsshub.app/routes/en/blog#stratechery-by-ben-thompson', + docs: 'https://docs.rsshub.app/routes/blog#stratechery-by-ben-thompson', }, ], }, diff --git a/lib/v2/techpowerup/radar.js b/lib/v2/techpowerup/radar.js index 5b41baf49e..973fc0dbf8 100644 --- a/lib/v2/techpowerup/radar.js +++ b/lib/v2/techpowerup/radar.js @@ -4,13 +4,13 @@ module.exports = { '.': [ { title: 'Latest Content', - docs: 'https://docs.rsshub.app/routes/en/new-media#techpowerup', + docs: 'https://docs.rsshub.app/routes/new-media#techpowerup', source: ['/'], target: '/techpowerup', }, { title: 'Reviews', - docs: 'https://docs.rsshub.app/routes/en/new-media#techpowerup', + docs: 'https://docs.rsshub.app/routes/new-media#techpowerup', source: ['/review/search', '/review'], target: (_, url) => `/techpowerup/review${new URL(url).searchParams.has('q') ? `/${new URL(url).searchParams.get('q')}` : ''}`, }, diff --git a/lib/v2/tencent/news/author.js b/lib/v2/tencent/news/author.js index 1b025a8ded..290fbf6a0c 100644 --- a/lib/v2/tencent/news/author.js +++ b/lib/v2/tencent/news/author.js @@ -24,34 +24,42 @@ module.exports = async (ctx) => { const author = item.source; const abstract = item.abstract; - return ctx.cache.tryGet(itemUrl, async () => { - const response = await got(itemUrl); - const $ = cheerio.load(response.data); - const data = JSON.parse( - $('script:contains("window.DATA")') - .text() - .match(/window\.DATA = ({.+});/)[1] - ); - const $data = cheerio.load(data.originContent.text, null, false); + return item.articletype === '4' + ? { + title, + description: abstract, + link: itemUrl, + author, + pubDate, + } + : ctx.cache.tryGet(itemUrl, async () => { + const response = await got(itemUrl); + const $ = cheerio.load(response.data); + const data = JSON.parse( + $('script:contains("window.DATA")') + .text() + .match(/window\.DATA = ({.+});/)[1] + ); + const $data = cheerio.load(data.originContent.text, null, false); - $data('*') - .contents() - .filter((_, elem) => elem.type === 'comment') - .replaceWith((_, elem) => - art(path.join(__dirname, '../templates/news/image.art'), { - attribute: elem.data.trim(), - originAttribute: data.originAttribute, - }) - ); + $data('*') + .contents() + .filter((_, elem) => elem.type === 'comment') + .replaceWith((_, elem) => + art(path.join(__dirname, '../templates/news/image.art'), { + attribute: elem.data.trim(), + originAttribute: data.originAttribute, + }) + ); - return { - title, - description: $data.html() || abstract, - link: itemUrl, - author, - pubDate, - }; - }); + return { + title, + description: $data.html() || abstract, + link: itemUrl, + author, + pubDate, + }; + }); }) ); diff --git a/lib/v2/test/index.js b/lib/v2/test/index.js index 18def475af..c79739db21 100644 --- a/lib/v2/test/index.js +++ b/lib/v2/test/index.js @@ -223,6 +223,17 @@ module.exports = async (ctx) => { break; + case 'brief': + item.push({ + title: '小可愛', + description: '

宇宙無敵


'.repeat(1000), + link: `/DIYgod/RSSHub/issues/0`, + pubDate: new Date(1_546_272_000_000).toUTCString(), + author: `DIYgod0`, + }); + + break; + case 'json': item.push( { diff --git a/lib/v2/thehindu/radar.js b/lib/v2/thehindu/radar.js index 7ae8d46939..38844ff50b 100644 --- a/lib/v2/thehindu/radar.js +++ b/lib/v2/thehindu/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Topic', - docs: 'https://docs.rsshub.app/routes/en/traditional-media#the-hindu', + docs: 'https://docs.rsshub.app/routes/traditional-media#the-hindu', source: ['/topic/:topic'], target: '/thehindu/topic/:topic', }, diff --git a/lib/v2/threads/radar.js b/lib/v2/threads/radar.js index f775227f23..e592650d89 100644 --- a/lib/v2/threads/radar.js +++ b/lib/v2/threads/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'User timeline', - docs: 'https://docs.rsshub.app/routes/en/social-media#threads', + docs: 'https://docs.rsshub.app/routes/social-media#threads', source: ['/:user'], target: (params) => `/threads/${params.user.substring(1)}`, }, diff --git a/lib/v2/tiktok/radar.js b/lib/v2/tiktok/radar.js index b3a37fc118..43d09d6109 100644 --- a/lib/v2/tiktok/radar.js +++ b/lib/v2/tiktok/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'User', - docs: 'https://docs.rsshub.app/routes/en/social-media#tiktok', + docs: 'https://docs.rsshub.app/routes/social-media#tiktok', source: ['/:user'], target: '/tiktok/user/:user', }, diff --git a/lib/v2/twitter/utils.js b/lib/v2/twitter/utils.js index 15a3924e2e..36fb991df5 100644 --- a/lib/v2/twitter/utils.js +++ b/lib/v2/twitter/utils.js @@ -31,9 +31,11 @@ const replaceBreak = (text) => text.replaceAll(/

|
/g, ' '); const formatText = (item) => { let text = item.full_text; + const id_str = item.id_str || item.conversation_id_str; const urls = item.entities.urls || []; for (const url of urls) { - text = text.replaceAll(url.url, url.expanded_url); + // trim link pointing to the tweet itself (usually appears when the tweet is truncated) + text = text.replaceAll(url.url, url.expanded_url.endsWith(id_str) ? '' : url.expanded_url); } const media = item.extended_entities?.media || []; for (const m of media) { @@ -361,20 +363,27 @@ const ProcessFeed = (ctx, { data = [] }, params = {}) => { description += quote; if (readable) { - description += `

`; + description += `
`; } if (showTimestampInDescription) { + if (readable) { + description += `
`; + } description += `${parseDate(item.created_at)}`; } const authorName = originalItem.user.name; + const link = + originalItem.user.screen_name && (originalItem.id_str || originalItem.conversation_id_str) + ? `https://twitter.com/${originalItem.user.screen_name}/status/${originalItem.id_str || originalItem.conversation_id_str}` + : `https://twitter.com/${item.user.screen_name}/status/${item.id_str || item.conversation_id_str}`; return { title, author: authorName, description, pubDate: parseDate(item.created_at), - link: `https://twitter.com/${item.user.screen_name}/status/${item.id_str || item.conversation_id_str}`, + link, _extra: (isRetweet && { diff --git a/lib/v2/twitter/web-api/constants.js b/lib/v2/twitter/web-api/constants.js index 72a907907d..287093e4c4 100644 --- a/lib/v2/twitter/web-api/constants.js +++ b/lib/v2/twitter/web-api/constants.js @@ -79,6 +79,10 @@ const timelineParams = { simple_quoted_tweet: 1, }; +const bearerToken = 'Bearer AAAAAAAAAAAAAAAAAAAAAFXzAwAAAAAAMHCxpeSDG1gLNLghVe8d74hl6k4%3DRUMF4xAQLsbeBhTSRrCiQpJtxoGWeyHrDb5te2jpGskWDFW82F'; + +const guestActivateUrl = baseUrl + '/1.1/guest/activate.json'; + module.exports = { baseUrl, consumerKey, @@ -86,4 +90,6 @@ module.exports = { gqlMap, gqlFeatures, timelineParams, + bearerToken, + guestActivateUrl, }; diff --git a/lib/v2/twitter/web-api/login.js b/lib/v2/twitter/web-api/login.js new file mode 100644 index 0000000000..bdc5c3360e --- /dev/null +++ b/lib/v2/twitter/web-api/login.js @@ -0,0 +1,133 @@ +// https://github.com/BANKA2017/twitter-monitor/blob/node/apps/open_account/scripts/login.mjs + +const { bearerToken, guestActivateUrl } = require('./constants'); +const got = require('@/utils/got'); +const crypto = require('crypto'); +const config = require('@/config').value; +const { v5: uuidv5 } = require('uuid'); + +const NAMESPACE = 'd41d092b-b007-48f7-9129-e9538d2d8fe9'; +const username = config.twitter.username; +const password = config.twitter.password; + +let authentication = null; + +const headers = { + 'User-Agent': 'TwitterAndroid/10.21.0-release.0 (310210000-r-0) ONEPLUS+A3010/9 (OnePlus;ONEPLUS+A3010;OnePlus;OnePlus3;0;;1;2016)', + 'X-Twitter-API-Version': 5, + 'X-Twitter-Client': 'TwitterAndroid', + 'X-Twitter-Client-Version': '10.21.0-release.0', + 'OS-Version': '28', + 'System-User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 9; ONEPLUS A3010 Build/PKQ1.181203.001)', + 'X-Twitter-Active-User': 'yes', + 'Content-Type': 'application/json', + Authorization: bearerToken, +}; + +async function login() { + const android_id = uuidv5(username, NAMESPACE); + headers['X-Twitter-Client-DeviceID'] = android_id; + + const ct0 = crypto.randomUUID().replaceAll('-', ''); + const guestToken = await got(guestActivateUrl, { + headers: { + authorization: bearerToken, + 'x-csrf-token': ct0, + cookie: 'ct0=' + ct0, + }, + method: 'POST', + }); + + headers['x-guest-token'] = guestToken.data.guest_token; + + const task1 = await got.post( + 'https://api.twitter.com/1.1/onboarding/task.json?' + + new URLSearchParams({ + flow_name: 'login', + api_version: '1', + known_device_token: `${ct0}${ct0}`.slice(0, 40), + sim_country_code: 'us', + }).toString(), + { + headers, + json: { + flow_token: null, + input_flow_data: { + country_code: null, + flow_context: { + referrer_context: { + referral_details: 'utm_source=google-play&utm_medium=organic', + referrer_url: '', + }, + start_location: { + location: 'deeplink', + }, + }, + requested_variant: null, + target_user_id: 0, + }, + }, + } + ); + + headers.att = task1.headers.att; + + const task2 = await got.post('https://api.twitter.com/1.1/onboarding/task.json', { + headers, + json: { + flow_token: task1.data.flow_token, + subtask_inputs: [ + { + enter_text: { + suggestion_id: null, + text: username, + link: 'next_link', + }, + subtask_id: 'LoginEnterUserIdentifier', + }, + ], + }, + }); + + const task3 = await got.post('https://api.twitter.com/1.1/onboarding/task.json', { + headers, + json: { + flow_token: task2.data.flow_token, + subtask_inputs: [ + { + enter_password: { + password, + link: 'next_link', + }, + subtask_id: 'LoginEnterPassword', + }, + ], + }, + }); + + const task4 = await got.post('https://api.twitter.com/1.1/onboarding/task.json', { + headers, + json: { + flow_token: task3.data.flow_token, + subtask_inputs: [ + { + check_logged_in_account: { + link: 'AccountDuplicationCheck_false', + }, + subtask_id: 'AccountDuplicationCheck', + }, + ], + }, + }); + + for (const subtask of task4.data?.subtasks || []) { + if (subtask.open_account) { + authentication = subtask.open_account; + break; + } + } + + return authentication; +} + +module.exports = login; diff --git a/lib/v2/twitter/web-api/twitter-api.js b/lib/v2/twitter/web-api/twitter-api.js index d153da5a0c..c14dc143c7 100644 --- a/lib/v2/twitter/web-api/twitter-api.js +++ b/lib/v2/twitter/web-api/twitter-api.js @@ -5,12 +5,35 @@ const got = require('@/utils/got'); const OAuth = require('oauth-1.0a'); const CryptoJS = require('crypto-js'); const queryString = require('query-string'); +const login = require('./login'); let tokenIndex = 0; +let authentication = null; const twitterGot = async (url, params) => { - if (!config.twitter.oauthTokens?.length || !config.twitter.oauthTokenSecrets?.length || config.twitter.oauthTokens.length !== config.twitter.oauthTokenSecrets.length) { - throw new Error('Invalid twitter oauth tokens'); + let token; + if (config.twitter.username && config.twitter.password) { + if (!authentication) { + authentication = await login(); + } + token = { + key: authentication.oauth_token, + secret: authentication.oauth_token_secret, + }; + } else if (config.twitter.oauthTokens?.length && config.twitter.oauthTokenSecrets.length && config.twitter.oauthTokens.length === config.twitter.oauthTokenSecrets.length) { + token = { + key: config.twitter.oauthTokens[tokenIndex], + secret: config.twitter.oauthTokenSecrets[tokenIndex], + }; + + tokenIndex++; + if (tokenIndex >= config.twitter.oauthTokens.length) { + tokenIndex = 0; + } + } + + if (!token) { + throw new Error('Invalid twitter configs'); } const oauth = OAuth({ @@ -22,15 +45,6 @@ const twitterGot = async (url, params) => { hash_function: (base_string, key) => CryptoJS.HmacSHA1(base_string, key).toString(CryptoJS.enc.Base64), }); - const token = { - key: config.twitter.oauthTokens[tokenIndex], - secret: config.twitter.oauthTokenSecrets[tokenIndex], - }; - tokenIndex++; - if (tokenIndex >= config.twitter.oauthTokens.length) { - tokenIndex = 0; - } - const requestData = { url: `${url}?${queryString.stringify(params)}`, method: 'GET', @@ -151,6 +165,7 @@ function gatherLegacyFromData(entries, filterNested, userId) { continue; } t.legacy.user = t.core?.user_result?.result?.legacy || t.core?.user_results?.result?.legacy; + t.legacy.id_str = t.rest_id; // avoid falling back to conversation_id_str elsewhere const quote = t.quoted_status_result?.result; if (quote) { t.legacy.quoted_status = quote.legacy; @@ -257,10 +272,17 @@ const getUserTweets = async (cache, id, params = {}) => { } const idSet = new Set(); tweets = tweets - .filter((tweet) => !tweet.in_reply_to_screen_name) // exclude replies - .map((tweet) => (idSet.has(tweet.id_str) ? null : idSet.add(tweet.id_str)) && tweet) // deduplicate + .filter( + (tweet) => + !tweet.in_reply_to_user_id_str || // exclude replies + tweet.in_reply_to_user_id_str === rest_id // but include replies to self (threads) + ) + .map((tweet) => { + const id_str = tweet.id_str || tweet.conversation_id_str; + return !idSet.has(id_str) && idSet.add(id_str) && tweet; + }) // deduplicate .filter(Boolean) // remove null - .sort((a, b) => b.id_str - a.id_str) // desc + .sort((a, b) => (b.id_str || b.conversation_id_str) - (a.id_str || a.conversation_id_str)) // desc .slice(0, 20); cache.set(cacheKey, JSON.stringify(tweets)); return tweets; diff --git a/lib/v2/unusualwhales/radar.js b/lib/v2/unusualwhales/radar.js index cd92d91ea1..46cb33ea7f 100644 --- a/lib/v2/unusualwhales/radar.js +++ b/lib/v2/unusualwhales/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'News Flow', - docs: 'https://docs.rsshub.app/routes/en/finance#unusual-whales', + docs: 'https://docs.rsshub.app/routes/finance#unusual-whales', source: ['/news', '/'], target: '/unusualwhales/news', }, diff --git a/lib/v2/urbandictionary/radar.js b/lib/v2/urbandictionary/radar.js index 38105dab5c..fd51101d9f 100644 --- a/lib/v2/urbandictionary/radar.js +++ b/lib/v2/urbandictionary/radar.js @@ -4,7 +4,7 @@ module.exports = { '.': [ { title: 'Random words', - docs: 'https://docs.rsshub.app/routes/en/other#urban-dictionary', + docs: 'https://docs.rsshub.app/routes/other#urban-dictionary', source: ['/random.php', '/'], target: '/urbandictionary/random', }, diff --git a/lib/v2/verfghbw/radar.js b/lib/v2/verfghbw/radar.js index 2250573fa4..7bcc67597d 100644 --- a/lib/v2/verfghbw/radar.js +++ b/lib/v2/verfghbw/radar.js @@ -4,7 +4,7 @@ module.exports = { verfgh: [ { title: 'Press releases', - docs: 'https://docs.rsshub.app/routes/en/government#constitutional-court-of-baden-wurttemberg-germany', + docs: 'https://docs.rsshub.app/routes/government#constitutional-court-of-baden-wurttemberg-germany', source: ['/de/presse-und-service/pressemitteilungen/'], target: '/verfghbw/press', }, diff --git a/lib/v2/xueqiu/hots.js b/lib/v2/xueqiu/hots.js index ffd1376e9e..13e5f31463 100644 --- a/lib/v2/xueqiu/hots.js +++ b/lib/v2/xueqiu/hots.js @@ -1,6 +1,7 @@ const got = require('@/utils/got'); const queryString = require('query-string'); const { parseDate } = require('@/utils/parse-date'); +const sanitizeHtml = require('sanitize-html'); module.exports = async (ctx) => { const res1 = await got({ @@ -34,7 +35,7 @@ module.exports = async (ctx) => { item: data.map((item) => { const description = item.text; return { - title: item.title ?? description.replaceAll(/<[^>]+>/g, ''), + title: item.title ?? sanitizeHtml(description, { allowedTags: [], allowedAttributes: {} }), description: item.text, pubDate: parseDate(item.created_at), link: `https://xueqiu.com${item.target}`, diff --git a/lib/v2/xueqiu/router.js b/lib/v2/xueqiu/router.js index 678520d3d2..75a18b264d 100644 --- a/lib/v2/xueqiu/router.js +++ b/lib/v2/xueqiu/router.js @@ -4,7 +4,7 @@ module.exports = (router) => { router.get('/fund/:id', require('./fund')); router.get('/hots', require('./hots')); router.get('/snb/:id', require('./snb')); - router.get('/stock_comments/:id/:titleLength?', require('./stock-comments')); + router.get('/stock_comments/:id', require('./stock-comments')); router.get('/stock_info/:id/:type?', require('./stock-info')); router.get('/today', require('./today')); router.get('/user/:id/:type?', require('./user')); diff --git a/lib/v2/xueqiu/stock-comments.js b/lib/v2/xueqiu/stock-comments.js index e7d584c7fc..769d653835 100644 --- a/lib/v2/xueqiu/stock-comments.js +++ b/lib/v2/xueqiu/stock-comments.js @@ -3,10 +3,10 @@ const cheerio = require('cheerio'); const { art } = require('@/utils/render'); const path = require('path'); const { parseDate } = require('@/utils/parse-date'); +const sanitizeHtml = require('sanitize-html'); module.exports = async (ctx) => { const id = ctx.params.id; - const titleLength = ctx.params.titleLength ? Number.parseInt(ctx.params.titleLength) : 30; const res = await got({ method: 'get', @@ -35,7 +35,7 @@ module.exports = async (ctx) => { } const description = art(path.join(__dirname, 'templates/comments_description.art'), { item }); return { - title: item.title === '' ? item.text.replaceAll(/<[^>]+>/g, '').slice(0, titleLength) : item.title, + title: item.title || sanitizeHtml(item.text, { allowedTags: [], allowedAttributes: {} }), description, pubDate: parseDate(item.created_at), link, diff --git a/lib/v2/xueqiu/stock-info.js b/lib/v2/xueqiu/stock-info.js index ad58a77030..3bd3589c7e 100644 --- a/lib/v2/xueqiu/stock-info.js +++ b/lib/v2/xueqiu/stock-info.js @@ -2,6 +2,7 @@ const got = require('@/utils/got'); const cheerio = require('cheerio'); const queryString = require('query-string'); const { parseDate } = require('@/utils/parse-date'); +const sanitizeHtml = require('sanitize-html'); module.exports = async (ctx) => { const id = ctx.params.id; @@ -58,7 +59,7 @@ module.exports = async (ctx) => { link = item.quote_cards[0].target_url; } return { - title: item.title === '' ? item.description.replaceAll(/<[^>]+>/g, '') : item.title, + title: item.title || sanitizeHtml(item.description, { allowedTags: [], allowedAttributes: {} }), description: item.description, pubDate: parseDate(item.created_at), link, diff --git a/lib/v2/xueqiu/user.js b/lib/v2/xueqiu/user.js index c33a94cd66..f2e6c7d87c 100644 --- a/lib/v2/xueqiu/user.js +++ b/lib/v2/xueqiu/user.js @@ -1,6 +1,7 @@ const got = require('@/utils/got'); const queryString = require('query-string'); const { parseDate } = require('@/utils/parse-date'); +const sanitizeHtml = require('sanitize-html'); const rootUrl = 'https://xueqiu.com'; @@ -57,7 +58,7 @@ module.exports = async (ctx) => { const description = item.description + retweetedStatus; return { - title: item.title ?? description.replaceAll(/<[^>]+>/g, ''), + title: item.title ?? sanitizeHtml(description, { allowedTags: [], allowedAttributes: {} }), description: item.text ? item.text + retweetedStatus : description, pubDate: parseDate(item.created_at), link: rootUrl + item.target, diff --git a/lib/v2/yoasobi-music/radar.js b/lib/v2/yoasobi-music/radar.js index 7ff324f627..346805ae1a 100644 --- a/lib/v2/yoasobi-music/radar.js +++ b/lib/v2/yoasobi-music/radar.js @@ -4,25 +4,25 @@ module.exports = { www: [ { title: 'News', - docs: 'https://docs.rsshub.app/routes/en/live#yoasobi', + docs: 'https://docs.rsshub.app/routes/live#yoasobi', source: ['/', '/:category'], target: '/yoasobi-music/info/:category', }, { title: 'Biography', - docs: 'https://docs.rsshub.app/routes/en/live#yoasobi', + docs: 'https://docs.rsshub.app/routes/live#yoasobi', source: ['/', '/:category'], target: '/yoasobi-music/info/:category', }, { title: 'Live', - docs: 'https://docs.rsshub.app/routes/en/live#yoasobi', + docs: 'https://docs.rsshub.app/routes/live#yoasobi', source: ['/', '/live'], target: '/yoasobi-music/live', }, { title: 'Media', - docs: 'https://docs.rsshub.app/routes/en/live#yoasobi', + docs: 'https://docs.rsshub.app/routes/live#yoasobi', source: ['/', '/media'], target: '/yoasobi-music/media', }, diff --git a/package.json b/package.json index 51cf9566cd..fe54c2a06a 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "jest:coverage": "cross-env NODE_ENV=test jest --coverage --reporters=default --reporters=jest-junit --runInBand --forceExit --detectOpenHandles", "jest:watch": "cross-env NODE_ENV=test jest --watch", "lint": "eslint --cache .", - "prepare": "node -e \"try { require('husky').install() } catch (e) {if (e.code !== 'MODULE_NOT_FOUND') throw e}\"", + "prepare": "husky || true", "profiling": "NODE_ENV=production node --prof lib/index.js", "start": "node lib/index.js", "test": "npm run format:check && npm run jest:coverage" @@ -79,20 +79,20 @@ "@koa/router": "12.0.1", "@notionhq/client": "2.2.14", "@postlight/parser": "2.2.3", - "@sentry/node": "7.94.1", - "@tonyrl/rand-user-agent": "2.0.46", + "@sentry/node": "7.98.0", + "@tonyrl/rand-user-agent": "2.0.47", "@types/node": "20.11.5", "aes-js": "3.1.2", "art-template": "4.13.2", "bbcodejs": "0.0.4", "cheerio": "1.0.0-rc.12", - "chrono-node": "2.7.4", + "chrono-node": "2.7.5", "city-timezones": "1.2.1", "crypto-js": "4.2.0", "currency-symbol-map": "5.1.0", "dayjs": "1.11.8", "directory-import": "3.2.1", - "dotenv": "16.3.2", + "dotenv": "16.4.1", "entities": "4.5.0", "etag": "1.8.1", "fanfou-sdk": "4.2.0", @@ -108,7 +108,7 @@ "ioredis": "5.3.2", "ip-regex": "4.3.0", "is-localhost-ip": "2.0.0", - "jsdom": "23.2.0", + "jsdom": "24.0.0", "json-bigint": "1.0.0", "json5": "2.2.3", "jsrsasign": "10.9.0", @@ -117,7 +117,7 @@ "koa-favicon": "2.1.0", "koa-mount": "4.0.0", "koa-static": "5.0.0", - "lru-cache": "10.1.0", + "lru-cache": "10.2.0", "lz-string": "1.5.0", "mailparser": "3.6.6", "markdown-it": "14.0.0", @@ -127,7 +127,7 @@ "pac-proxy-agent": "7.0.1", "plist": "3.1.0", "proxy-chain": "2.4.0", - "puppeteer": "21.7.0", + "puppeteer": "21.9.0", "puppeteer-extra": "3.3.6", "puppeteer-extra-plugin-stealth": "2.11.2", "puppeteer-extra-plugin-user-data-dir": "2.4.1", @@ -145,6 +145,7 @@ "title": "3.5.3", "tough-cookie": "4.1.3", "twitter-api-v2": "1.16.0", + "uuid": "9.0.1", "winston": "3.11.0", "xxhash-wasm": "1.0.2" }, @@ -152,7 +153,7 @@ "@microsoft/eslint-formatter-sarif": "3.0.0", "@stylistic/eslint-plugin-js": "1.5.4", "@types/aes-js": "3.1.4", - "@types/crypto-js": "4.2.1", + "@types/crypto-js": "4.2.2", "@types/eslint": "8.56.2", "@types/eslint-config-prettier": "6.11.3", "@types/etag": "1.8.3", @@ -188,7 +189,7 @@ "eslint-plugin-unicorn": "50.0.1", "eslint-plugin-yml": "1.12.2", "fs-extra": "11.2.0", - "husky": "8.0.3", + "husky": "9.0.6", "jest": "29.7.0", "jest-junit": "16.0.0", "lint-staged": "15.2.0", @@ -206,7 +207,7 @@ "remark-preset-prettier": "0.5.1", "request-promise-native": "1.0.9", "staged-git-files": "1.3.0", - "string-width": "7.0.0", + "string-width": "7.1.0", "supertest": "6.3.4", "to-vfile": "8.0.0", "tosource": "2.0.0-alpha.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bc79bcd6b4..cc9b210498 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,11 +18,11 @@ dependencies: specifier: 2.2.3 version: 2.2.3 '@sentry/node': - specifier: 7.94.1 - version: 7.94.1 + specifier: 7.98.0 + version: 7.98.0 '@tonyrl/rand-user-agent': - specifier: 2.0.46 - version: 2.0.46 + specifier: 2.0.47 + version: 2.0.47 '@types/node': specifier: 20.11.5 version: 20.11.5 @@ -39,8 +39,8 @@ dependencies: specifier: 1.0.0-rc.12 version: 1.0.0-rc.12 chrono-node: - specifier: 2.7.4 - version: 2.7.4 + specifier: 2.7.5 + version: 2.7.5 city-timezones: specifier: 1.2.1 version: 1.2.1 @@ -57,8 +57,8 @@ dependencies: specifier: 3.2.1 version: 3.2.1 dotenv: - specifier: 16.3.2 - version: 16.3.2 + specifier: 16.4.1 + version: 16.4.1 entities: specifier: 4.5.0 version: 4.5.0 @@ -105,8 +105,8 @@ dependencies: specifier: 2.0.0 version: 2.0.0 jsdom: - specifier: 23.2.0 - version: 23.2.0 + specifier: 24.0.0 + version: 24.0.0 json-bigint: specifier: 1.0.0 version: 1.0.0 @@ -132,8 +132,8 @@ dependencies: specifier: 5.0.0 version: 5.0.0 lru-cache: - specifier: 10.1.0 - version: 10.1.0 + specifier: 10.2.0 + version: 10.2.0 lz-string: specifier: 1.5.0 version: 1.5.0 @@ -162,11 +162,11 @@ dependencies: specifier: 2.4.0 version: 2.4.0 puppeteer: - specifier: 21.7.0 - version: 21.7.0 + specifier: 21.9.0 + version: 21.9.0 puppeteer-extra: specifier: 3.3.6 - version: 3.3.6(puppeteer@21.7.0) + version: 3.3.6(puppeteer@21.9.0) puppeteer-extra-plugin-stealth: specifier: 2.11.2 version: 2.11.2(puppeteer-extra@3.3.6) @@ -215,6 +215,9 @@ dependencies: twitter-api-v2: specifier: 1.16.0 version: 1.16.0 + uuid: + specifier: 9.0.1 + version: 9.0.1 winston: specifier: 3.11.0 version: 3.11.0 @@ -233,8 +236,8 @@ devDependencies: specifier: 3.1.4 version: 3.1.4 '@types/crypto-js': - specifier: 4.2.1 - version: 4.2.1 + specifier: 4.2.2 + version: 4.2.2 '@types/eslint': specifier: 8.56.2 version: 8.56.2 @@ -341,8 +344,8 @@ devDependencies: specifier: 11.2.0 version: 11.2.0 husky: - specifier: 8.0.3 - version: 8.0.3 + specifier: 9.0.6 + version: 9.0.6 jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.11.5) @@ -395,8 +398,8 @@ devDependencies: specifier: 1.3.0 version: 1.3.0 string-width: - specifier: 7.0.0 - version: 7.0.0 + specifier: 7.1.0 + version: 7.1.0 supertest: specifier: 6.3.4 version: 6.3.4 @@ -434,14 +437,6 @@ packages: '@jridgewell/trace-mapping': 0.3.19 dev: true - /@asamuzakjp/dom-selector@2.0.1: - resolution: {integrity: sha512-QJAJffmCiymkv6YyQ7voyQb5caCth6jzZsQncYCpHXrJ7RqdYG5y43+is8mnFcYubdOkr7cn1+na9BdFMxqw7w==} - dependencies: - bidi-js: 1.0.3 - css-tree: 2.3.1 - is-potential-custom-element-name: 1.0.1 - dev: false - /@babel/code-frame@7.0.0: resolution: {integrity: sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==} dependencies: @@ -1524,43 +1519,43 @@ packages: selderee: 0.11.0 dev: false - /@sentry-internal/tracing@7.94.1: - resolution: {integrity: sha512-znxCdrz7tPXm9Bwoe46PW72Zr0Iv7bXT6+b2LNg5fxWiCQVBbQFrMuVvtXEmHxeRRJVEgTh/4TdulB7wrtQIUQ==} + /@sentry-internal/tracing@7.98.0: + resolution: {integrity: sha512-FnhD2uMLIAJvv4XsYPv3qsTTtxrImyLxiZacudJyaWFhxoeVQ8bKKbWJ/Ar68FAwqTtjXMeY5evnEBbRMcQlaA==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.94.1 - '@sentry/types': 7.94.1 - '@sentry/utils': 7.94.1 + '@sentry/core': 7.98.0 + '@sentry/types': 7.98.0 + '@sentry/utils': 7.98.0 dev: false - /@sentry/core@7.94.1: - resolution: {integrity: sha512-4sjiMnkbGpv9O98YHVZe7fHNwwdYl+zLoCOoEOadtrJ1EYYvnK/MSixN2HJF7g/0s22xd4xY958QyNIRVR+Iiw==} + /@sentry/core@7.98.0: + resolution: {integrity: sha512-baRUcpCNGyk7cApQHMfqEZJkXdvAKK+z/dVWiMqWc5T5uhzMnPE8/gjP1JZsMtJSQ8g5nHimBdI5TwOyZtxPaA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.94.1 - '@sentry/utils': 7.94.1 + '@sentry/types': 7.98.0 + '@sentry/utils': 7.98.0 dev: false - /@sentry/node@7.94.1: - resolution: {integrity: sha512-30nyrfVbY1vNoWg5ptGW+soykU532VvKLuXiKty3SKEXjp5bv23JrCcVtuwp9KrW4josHOJbxZUqeNni85YplQ==} + /@sentry/node@7.98.0: + resolution: {integrity: sha512-9cHW217DnU9wC4iR+QxmY3q59N1Touh23hPMDtpMRmbRHSgrmLMoHTVPhK9zHsXRs0mUeidmMqY1ubAWauQByw==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.94.1 - '@sentry/core': 7.94.1 - '@sentry/types': 7.94.1 - '@sentry/utils': 7.94.1 + '@sentry-internal/tracing': 7.98.0 + '@sentry/core': 7.98.0 + '@sentry/types': 7.98.0 + '@sentry/utils': 7.98.0 dev: false - /@sentry/types@7.94.1: - resolution: {integrity: sha512-A7CdEXFSgGyWv2BT2p9cAvJfb+dypvOtsY8ZvZvdPLUa7kqCV7ndhURUqKjvMBzsL2GParHn3ehDTl2eVc7pvA==} + /@sentry/types@7.98.0: + resolution: {integrity: sha512-pc034ziM0VTETue4bfBcBqTWGy4w0okidtoZJjGVrYAfE95ObZnUGVj/XYIQ3FeCYWIa7NFN2MvdsCS0buwivQ==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.94.1: - resolution: {integrity: sha512-gQ2EaMpUU1gGH3S+iqpog9gkXbCo8tlhGYA9a5FUtEtER3D3OAlp8dGFwClwzWDAwzjdLT1+X55zmEptU1cP/A==} + /@sentry/utils@7.98.0: + resolution: {integrity: sha512-0/LY+kpHxItVRY0xPDXPXVsKRb95cXsGSQf8sVMtfSjz++0bLL1U4k7PFz1c5s2/Vk0B8hS6duRrgMv6dMIZDw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.94.1 + '@sentry/types': 7.98.0 dev: false /@sinclair/typebox@0.27.8: @@ -1609,8 +1604,8 @@ packages: defer-to-connect: 2.0.1 dev: false - /@tonyrl/rand-user-agent@2.0.46: - resolution: {integrity: sha512-qVLkIplifuX3exa6FPEehuJ/YnXDN8fsum2vNprE/bBqJLm6MEJ71RbFeutSrIwnwmrX2ZE+kILRgZCL7jDkLg==} + /@tonyrl/rand-user-agent@2.0.47: + resolution: {integrity: sha512-gML00qj/aglX9vVOLi0tfvrVQemC9ndbqpVXXRefRogWGnulMli+neI/R9Z/A1KNvLfN49Cq/t/qii6Vq0gLRg==} engines: {node: '>=14.16'} dev: false @@ -1713,8 +1708,8 @@ packages: '@types/node': 20.11.5 dev: true - /@types/crypto-js@4.2.1: - resolution: {integrity: sha512-FSPGd9+OcSok3RsM0UZ/9fcvMOXJ1ENE/ZbLfOPlBWj7BgXtEAM8VYfTtT760GiLbQIMoVozwVuisjvsVwqYWw==} + /@types/crypto-js@4.2.2: + resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==} dev: true /@types/debug@4.1.8: @@ -2487,12 +2482,6 @@ packages: dependencies: tweetnacl: 0.14.5 - /bidi-js@1.0.3: - resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} - dependencies: - require-from-string: 2.0.2 - dev: false - /big-integer@1.6.51: resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} engines: {node: '>=0.6'} @@ -2833,18 +2822,18 @@ packages: engines: {node: '>=10'} dev: true - /chromium-bidi@0.5.2(devtools-protocol@0.0.1203626): - resolution: {integrity: sha512-PbVOSddxgKyj+JByqavWMNqWPCoCaT6XK5Z1EFe168sxnB/BM51LnZEPXSbFcFAJv/+u2B4XNTs9uXxy4GW3cQ==} + /chromium-bidi@0.5.4(devtools-protocol@0.0.1232444): + resolution: {integrity: sha512-p9CdiHl0xNh4P7oVa44zXgJJw+pvnHXFDB+tVdo25xaPLgQDVf2kQO+TDxD2fp2Evqi7vs/vGRINMzl1qJrWiw==} peerDependencies: devtools-protocol: '*' dependencies: - devtools-protocol: 0.0.1203626 + devtools-protocol: 0.0.1232444 mitt: 3.0.1 urlpattern-polyfill: 9.0.0 dev: false - /chrono-node@2.7.4: - resolution: {integrity: sha512-gk2xUWroQftZW3Z9mDqD3/HZW1d7fxSf0S0rNxOCfY+uUQP1FuuEcb5ulFcsEWSOQvzl02dqTeY1RK+zmc0WOQ==} + /chrono-node@2.7.5: + resolution: {integrity: sha512-VJWqFN5rWmXVvXAxOD4i0jX8Tb4cLswaslyaAFhxM45zNXPsZleygPbgiaYBD7ORb9fj07zBgJb0Q6eKL+0iJg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dayjs: 1.11.8 @@ -2912,7 +2901,7 @@ packages: engines: {node: '>=18'} dependencies: slice-ansi: 5.0.0 - string-width: 7.0.0 + string-width: 7.1.0 dev: true /cli-width@3.0.0: @@ -3095,8 +3084,8 @@ packages: /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - /cosmiconfig@8.3.6: - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + /cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' @@ -3104,10 +3093,10 @@ packages: typescript: optional: true dependencies: + env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - path-type: 4.0.0 dev: false /create-jest@29.7.0(@types/node@20.11.5): @@ -3185,14 +3174,6 @@ packages: nth-check: 2.1.1 dev: false - /css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.0.2 - dev: false - /css-what@2.1.3: resolution: {integrity: sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==} dev: false @@ -3403,8 +3384,8 @@ packages: dequal: 2.0.3 dev: true - /devtools-protocol@0.0.1203626: - resolution: {integrity: sha512-nEzHZteIUZfGCZtTiS1fRpC8UZmsfD1SiyPvaUNvS13dvKf666OAm8YTi0+Ca3n1nLEyu49Cy4+dPWpaHFJk9g==} + /devtools-protocol@0.0.1232444: + resolution: {integrity: sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg==} dev: false /dezalgo@1.0.4: @@ -3498,8 +3479,8 @@ packages: domhandler: 5.0.3 dev: false - /dotenv@16.3.2: - resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} + /dotenv@16.4.1: + resolution: {integrity: sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==} engines: {node: '>=12'} dev: false @@ -3584,6 +3565,11 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: false + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -4534,7 +4520,7 @@ packages: google-auth-library: 9.0.0 qs: 6.11.2 url-template: 2.0.8 - uuid: 9.0.0 + uuid: 9.0.1 transitivePeerDependencies: - encoding - supports-color @@ -4868,9 +4854,9 @@ packages: engines: {node: '>=16.17.0'} dev: true - /husky@8.0.3: - resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} - engines: {node: '>=14'} + /husky@9.0.6: + resolution: {integrity: sha512-EEuw/rfTiMjOfuL7pGO/i9otg1u36TXxqjIA6D9qxVjd/UXoDOsLor/BSFf5hTK50shwzCU3aVVwdXDp/lp7RA==} + engines: {node: '>=18'} hasBin: true dev: true @@ -5781,8 +5767,8 @@ packages: engines: {node: '>=0.1.90'} dev: true - /jsdom@23.2.0: - resolution: {integrity: sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==} + /jsdom@24.0.0: + resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==} engines: {node: '>=18'} peerDependencies: canvas: ^2.11.2 @@ -5790,7 +5776,6 @@ packages: canvas: optional: true dependencies: - '@asamuzakjp/dom-selector': 2.0.1 cssstyle: 4.0.1 data-urls: 5.0.0 decimal.js: 10.4.3 @@ -5799,6 +5784,7 @@ packages: http-proxy-agent: 7.0.0 https-proxy-agent: 7.0.2 is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.7 parse5: 7.1.2 rrweb-cssom: 0.6.0 saxes: 6.0.0 @@ -6259,8 +6245,8 @@ packages: engines: {node: '>=8'} dev: false - /lru-cache@10.1.0: - resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} dev: false @@ -6619,10 +6605,6 @@ packages: '@types/mdast': 4.0.3 dev: true - /mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - dev: false - /mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} dev: false @@ -7500,6 +7482,10 @@ packages: boolbase: 1.0.0 dev: false + /nwsapi@2.2.7: + resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + dev: false + /oauth-1.0a@2.2.6: resolution: {integrity: sha512-6bkxv3N4Gu5lty4viIcIAnq5GbxECviMBeKR3WX/q87SPQ8E8aursPZUtsXDnxCs787af09WPRBLqYrf/lwoYQ==} dev: false @@ -7799,11 +7785,6 @@ packages: resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: false - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: false - /peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} dev: false @@ -8033,15 +8014,15 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - /puppeteer-core@21.7.0: - resolution: {integrity: sha512-elPYPozrgiM3phSy7VDUJCVWQ07SPnOm78fpSaaSNFoQx5sur/MqhTSro9Wz8lOEjqCykGC6WRkwxDgmqcy1dQ==} + /puppeteer-core@21.9.0: + resolution: {integrity: sha512-QgowcczLAoLWlV38s3y3VuEvjJGfKU5rR6Q23GUbiGOaiQi+QpaWQ+aXdzP9LHVSUPmHdAaWhcvMztYSw3f8gQ==} engines: {node: '>=16.13.2'} dependencies: '@puppeteer/browsers': 1.9.1 - chromium-bidi: 0.5.2(devtools-protocol@0.0.1203626) + chromium-bidi: 0.5.4(devtools-protocol@0.0.1232444) cross-fetch: 4.0.0 - debug: 4.3.4 - devtools-protocol: 0.0.1203626 + debug: 4.3.4(supports-color@5.5.0) + devtools-protocol: 0.0.1232444 ws: 8.16.0 transitivePeerDependencies: - bufferutil @@ -8062,8 +8043,8 @@ packages: puppeteer-extra: optional: true dependencies: - debug: 4.3.4 - puppeteer-extra: 3.3.6(puppeteer@21.7.0) + debug: 4.3.4(supports-color@5.5.0) + puppeteer-extra: 3.3.6(puppeteer@21.9.0) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6) puppeteer-extra-plugin-user-preferences: 2.4.1(puppeteer-extra@3.3.6) transitivePeerDependencies: @@ -8084,7 +8065,7 @@ packages: dependencies: debug: 4.3.4 fs-extra: 10.1.0 - puppeteer-extra: 3.3.6(puppeteer@21.7.0) + puppeteer-extra: 3.3.6(puppeteer@21.9.0) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6) rimraf: 3.0.2 transitivePeerDependencies: @@ -8105,7 +8086,7 @@ packages: dependencies: debug: 4.3.4 deepmerge: 4.3.1 - puppeteer-extra: 3.3.6(puppeteer@21.7.0) + puppeteer-extra: 3.3.6(puppeteer@21.9.0) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6) puppeteer-extra-plugin-user-data-dir: 2.4.1(puppeteer-extra@3.3.6) transitivePeerDependencies: @@ -8127,12 +8108,12 @@ packages: '@types/debug': 4.1.8 debug: 4.3.4 merge-deep: 3.0.3 - puppeteer-extra: 3.3.6(puppeteer@21.7.0) + puppeteer-extra: 3.3.6(puppeteer@21.9.0) transitivePeerDependencies: - supports-color dev: false - /puppeteer-extra@3.3.6(puppeteer@21.7.0): + /puppeteer-extra@3.3.6(puppeteer@21.9.0): resolution: {integrity: sha512-rsLBE/6mMxAjlLd06LuGacrukP2bqbzKCLzV1vrhHFavqQE/taQ2UXv3H5P0Ls7nsrASa+6x3bDbXHpqMwq+7A==} engines: {node: '>=8'} peerDependencies: @@ -8150,20 +8131,20 @@ packages: '@types/debug': 4.1.8 debug: 4.3.4 deepmerge: 4.3.1 - puppeteer: 21.7.0 + puppeteer: 21.9.0 transitivePeerDependencies: - supports-color dev: false - /puppeteer@21.7.0: - resolution: {integrity: sha512-Yy+UUy0b9siJezbhHO/heYUoZQUwyqDK1yOQgblTt0l97tspvDVFkcW9toBlnSvSfkDmMI3Dx9cZL6R8bDArHA==} + /puppeteer@21.9.0: + resolution: {integrity: sha512-vcLR81Rp+MBrgqhiXZfpwEBbyKTa88Hd+8Al3+emWzcJb9evLLSfUYli0QUqhofPFrXsO2A/dAF9OunyOivL6w==} engines: {node: '>=16.13.2'} hasBin: true requiresBuild: true dependencies: '@puppeteer/browsers': 1.9.1 - cosmiconfig: 8.3.6 - puppeteer-core: 21.7.0 + cosmiconfig: 9.0.0 + puppeteer-core: 21.9.0 transitivePeerDependencies: - bufferutil - encoding @@ -8501,11 +8482,6 @@ packages: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false - /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: false @@ -9004,8 +8980,8 @@ packages: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@7.0.0: - resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + /string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} engines: {node: '>=18'} dependencies: emoji-regex: 10.3.0 @@ -9714,8 +9690,8 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - /uuid@9.0.0: - resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + /uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true dev: false @@ -9937,7 +9913,7 @@ packages: engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 - string-width: 7.0.0 + string-width: 7.1.0 strip-ansi: 7.1.0 dev: true diff --git a/scripts/docs-scraper/docs.rsshub.app.json b/scripts/docs-scraper/docs.rsshub.app.json index 5603bd0f5b..bc4b4cb2b3 100644 --- a/scripts/docs-scraper/docs.rsshub.app.json +++ b/scripts/docs-scraper/docs.rsshub.app.json @@ -19,7 +19,7 @@ "scrap_start_urls": false, "min_indexed_level": 1, "js_render": true, - "js_wait": 3, + "js_wait": 1, "custom_settings": { "displayedAttributes": [ "hierarchy_radio_lvl1", diff --git a/test/middleware/parameter.js b/test/middleware/parameter.js index af84b8ac7e..c4ca70318a 100644 --- a/test/middleware/parameter.js +++ b/test/middleware/parameter.js @@ -406,6 +406,17 @@ describe('opencc', () => { }); }); +describe('brief', () => { + it(`brief`, async () => { + const response = await request.get('/test/brief?brief=100'); + const parsed = await parser.parseString(response.text); + expect(parsed.items[0].title).toBe('小可愛'); + expect(parsed.items[0].content).toBe( + '

宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵宇宙無敵…

' + ); + }); +}); + describe('multi parameter', () => { it(`filter before limit`, async () => { const response = await request.get('/test/filter-limit?filterout_title=2&limit=2'); diff --git a/website/docs/install/config.md b/website/docs/install/config.md index 85bc93d065..513c424958 100644 --- a/website/docs/install/config.md +++ b/website/docs/install/config.md @@ -488,14 +488,10 @@ For user data related routes ### Twitter -Given the recent changes in Twitter and its API access a new method for accessing Twitter anonymously was devised. This method involves using temporary guest accounts created when going through the onboarding process with the Android app. +Please use an account without two-step verification enabled, and it is recommended to use a non-important account. -Please see the details in [Nitter - Guest Account Branch Deployment](https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment) and [zedeus/nitter#983](https://github.com/zedeus/nitter/issues/983). - -In addition, we have prepared a Node.js script to help you use proxies to create these tokens in batches. [Please click here](https://github.com/DIYgod/RSSHub/tree/master/scripts/twitter-token/generate.js). - -- `TWITTER_OAUTH_TOKEN`: Support multiple keys, split them with `,` -- `TWITTER_OAUTH_TOKEN_SECRET`: Support multiple keys, split them with `,` +- `TWITTER_USERNAME`: Twitter username +- `TWITTER_PASSWORD`: Twitter password ### Wordpress diff --git a/website/docs/routes/anime.mdx b/website/docs/routes/anime.mdx index d03ea1026c..8ecb005ee4 100644 --- a/website/docs/routes/anime.mdx +++ b/website/docs/routes/anime.mdx @@ -694,6 +694,12 @@ You can use some RSS parsing libraries (like `feedpraser` in `Python`) to receiv +## 来漫画 {#lai-man-hua} + +### 漫画列表 {#lai-man-hua-man-hua-lie-biao} + + + ## 漫画 DB {#man-hua-db} ### 漫画 DB {#man-hua-db-man-hua-db} diff --git a/website/docs/routes/blog.mdx b/website/docs/routes/blog.mdx index 04ef21213b..ad0e629998 100644 --- a/website/docs/routes/blog.mdx +++ b/website/docs/routes/blog.mdx @@ -284,6 +284,12 @@ 通过提取文章全文,以提供比官方源更佳的阅读体验. +## 川流 {#chuan-liu} + +### 严选 {#chuan-liu-yan-xuan} + + + ## 大侠阿木 {#da-xia-a-mu} ### 首页 {#da-xia-a-mu-shou-ye} diff --git a/website/docs/routes/finance.mdx b/website/docs/routes/finance.mdx index 056e4b1b6c..0f527d56d2 100644 --- a/website/docs/routes/finance.mdx +++ b/website/docs/routes/finance.mdx @@ -457,12 +457,53 @@ TokenInsight also provides official RSS, you can take a look at [https://api.tok `http://www.nifd.cn/Research?categoryGuid=7a6a826d-b525-42aa-b550-4236e524227f` 对应 `/nifd/research/7a6a826d-b525-42aa-b550-4236e524227f` +## 华储网 {#hua-chu-wang} + +### 通知 {#hua-chu-wang-tong-zhi} + + + | 交易通知 | 政策规定 | 业务通知 | + | ------------ | -------------------- | ----------------- | + | zonghezixun3 | zhengceguiding\_list | yewutongzhi\_list | + + ## 汇通网 {#hui-tong-wang} ### 7x24 小时快讯 {#hui-tong-wang-7x24-xiao-shi-kuai-xun} +## 金色财经 {#jin-se-cai-jing} + +### 首页 {#jin-se-cai-jing-shou-ye} + + + | 头条 | 独家 | 铭文 | 产业 | 项目 | + | ------ | ---- | ------- | ---------- | ---- | + | 政策 | AI | Web 3.0 | 以太坊 2.0 | DeFi | + | Layer2 | NFT | DAO | 百科 | | + + +### 快讯 {#jin-se-cai-jing-kuai-xun} + + + | 全部 | 精选 | 政策 | 数据 | NFT | 项目 | + | ---- | ---- | ---- | ---- | --- | ---- | + | 0 | 1 | 2 | 3 | 4 | 5 | + + +### 分类 {#jin-se-cai-jing-fen-lei} + + + | 政策 | 行情 | DeFi | 矿业 | 以太坊 2.0 | + | ------- | ------------ | ---- | ----- | ---------- | + | zhengce | fenxishishuo | defi | kuang | 以太坊 2.0 | + + | 产业 | IPFS | 技术 | 百科 | 研报 | + | -------- | ---- | ---- | ----- | ------------- | + | industry | IPFS | tech | baike | capitalmarket | + + ## 金十数据 {#jin-shi-shu-ju} ### 市场快讯 {#jin-shi-shu-ju-shi-chang-kuai-xun} @@ -711,7 +752,7 @@ TokenInsight also provides official RSS, you can take a look at [https://api.tok ### 股票评论 {#xue-qiu-gu-piao-ping-lun} - + ### 热帖 {#xue-qiu-re-tie} diff --git a/website/docs/routes/new-media.mdx b/website/docs/routes/new-media.mdx index 1cf7184d74..a4ee1d1278 100644 --- a/website/docs/routes/new-media.mdx +++ b/website/docs/routes/new-media.mdx @@ -2872,24 +2872,6 @@ 将榜单条目集合到一个列表中,可避免推送大量条目,更符合阅读习惯且有热度排序,推荐使用。 ::: -## 金色财经 {#jin-se-cai-jing} - -### 快讯 {#jin-se-cai-jing-kuai-xun} - - - -### 头条 {#jin-se-cai-jing-tou-tiao} - - - -### 分类 {#jin-se-cai-jing-fen-lei} - - - | 政策 | 行情 | DeFi | 矿业 | 以太坊 2.0 | 产业 | IPFS | 技术 | 百科 | 研报 | - | ------- | ------------ | ---- | ----- | ---------- | -------- | ---- | ---- | ----- | ------------- | - | zhengce | fenxishishuo | defi | kuang | 以太坊 2.0 | industry | IPFS | tech | baike | capitalmarket | - - ## 巨潮资讯 {#ju-chao-zi-xun} ### 公告 {#ju-chao-zi-xun-gong-gao} diff --git a/website/docs/routes/other.mdx b/website/docs/routes/other.mdx index 048e589396..272f4ff7d7 100644 --- a/website/docs/routes/other.mdx +++ b/website/docs/routes/other.mdx @@ -119,7 +119,7 @@ See [#app-store-mac-app-store](/routes/program-update#app-store-mac-app-store) ### South China Morning Post - China coronavirus outbreak {#corona-virus-disease-2019-south-china-morning-post-china-coronavirus-outbreak} - + ### Macao Pagina Electrónica Especial Contra Epidemias: What’s New {#corona-virus-disease-2019-macao-pagina-electronica-especial-contra-epidemias-what-s-new} diff --git a/website/docs/routes/program-update.mdx b/website/docs/routes/program-update.mdx index c0c2f83f88..972a2b25d2 100644 --- a/website/docs/routes/program-update.mdx +++ b/website/docs/routes/program-update.mdx @@ -329,6 +329,12 @@ Need to configure `CIVITAI_COOKIE` to obtain image information of NSFW models. +## KeePass {#keepass} + +### News {#keepass-news} + + + ## Logseq {#logseq} :::warning diff --git a/website/docs/routes/traditional-media.mdx b/website/docs/routes/traditional-media.mdx index fd34a09781..33e96144eb 100644 --- a/website/docs/routes/traditional-media.mdx +++ b/website/docs/routes/traditional-media.mdx @@ -500,11 +500,15 @@ This route adds the missing photo and Link element. (Offical RSS doesn't have Li See the [official RSS page](https://www.scmp.com/rss) to get the ID of each category. This route provides fulltext that the offical feed doesn't. +### Topics {#south-china-morning-post-nan-hua-zao-bao-topics} + + + ## Sputnik News 俄罗斯卫星通讯社 {#sputnik-news-e-luo-si-wei-xing-tong-xun-she} ### Category {#sputnik-news-e-luo-si-wei-xing-tong-xun-she-category} - + Categories for International site: | WORLD | COVID-19 | BUSINESS | SPORT | TECH | OPINION | @@ -1485,6 +1489,14 @@ This route adds the missing photo and Link element. (Offical RSS doesn't have Li | hakka | political | medical | local | international | +## 理论网 {#li-lun-wang} + +### 学习时报 {#li-lun-wang-xue-xi-shi-bao} + + + 如订阅 **第 A1 版:国内大局**,路由为 [`/cntheory/paper/国内大局`](https://rsshub.app/cntheory/paper/国内大局)。 + + ## 联合早报 {#lian-he-zao-bao} :::warning diff --git a/website/i18n/zh/docusaurus-plugin-content-docs/current/install/config.md b/website/i18n/zh/docusaurus-plugin-content-docs/current/install/config.md index 0145b4105a..abd5087f60 100644 --- a/website/i18n/zh/docusaurus-plugin-content-docs/current/install/config.md +++ b/website/i18n/zh/docusaurus-plugin-content-docs/current/install/config.md @@ -467,14 +467,10 @@ RSSHub 支持使用访问密钥 / 码,允许清单和拒绝清单三种方式 ### Twitter -鉴于 Twitter 和其 API 访问的最新变化,已经设计了一种新的匿名访问 Twitter 的方法。该方法涉及使用在通过 Android 应用程序进行注册流程时创建的临时访客账户。 +请使用未开启两步验证的账号,并建议使用非重要账号 -详细信息请参阅 [Nitter - Guest Account Branch Deployment](https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment) 和 [zedeus/nitter#983](https://github.com/zedeus/nitter/issues/983)。 - -另外我们也准备了一个 Node.js 脚本来帮助你使用代理批量创建这些 token,[请点击这里](https://github.com/DIYgod/RSSHub/tree/master/scripts/twitter-token/generate.js)。 - -- `TWITTER_OAUTH_TOKEN`: 支持多个 key,用英文逗号 `,` 隔开 -- `TWITTER_OAUTH_TOKEN_SECRET`: 支持多个 key,用英文逗号 `,` 隔开 +- `TWITTER_USERNAME`: Twitter 用户名 +- `TWITTER_PASSWORD`: Twitter 密码 ### Wordpress diff --git a/website/package.json b/website/package.json index 0d8865a70e..ea412a460f 100644 --- a/website/package.json +++ b/website/package.json @@ -16,11 +16,11 @@ "typecheck": "tsc" }, "dependencies": { - "@dipakparmar/docusaurus-plugin-umami": "^2.1.2", - "@docusaurus/core": "3.1.0", - "@docusaurus/plugin-client-redirects": "3.1.0", - "@docusaurus/plugin-pwa": "3.1.0", - "@docusaurus/preset-classic": "3.1.0", + "@dipakparmar/docusaurus-plugin-umami": "^2.1.3", + "@docusaurus/core": "3.1.1", + "@docusaurus/plugin-client-redirects": "3.1.1", + "@docusaurus/plugin-pwa": "3.1.1", + "@docusaurus/preset-classic": "3.1.1", "@mdx-js/react": "^3.0.0", "clsx": "^2.1.0", "markdown-it": "^14.0.0", @@ -31,9 +31,9 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.1.0", - "@docusaurus/tsconfig": "^3.1.0", - "@docusaurus/types": "3.1.0", + "@docusaurus/module-type-aliases": "3.1.1", + "@docusaurus/tsconfig": "^3.1.1", + "@docusaurus/types": "3.1.1", "@types/markdown-it": "^13.0.7", "@types/mdx-js__react": "^1.5.8", "@types/react": "^18.2.48", diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml index 1ab26af104..dc6a9b24bd 100644 --- a/website/pnpm-lock.yaml +++ b/website/pnpm-lock.yaml @@ -6,20 +6,20 @@ settings: dependencies: '@dipakparmar/docusaurus-plugin-umami': - specifier: ^2.1.2 - version: 2.1.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + specifier: ^2.1.3 + version: 2.1.3(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/core': - specifier: 3.1.0 - version: 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + specifier: 3.1.1 + version: 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/plugin-client-redirects': - specifier: 3.1.0 - version: 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + specifier: 3.1.1 + version: 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/plugin-pwa': - specifier: 3.1.0 - version: 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + specifier: 3.1.1 + version: 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/preset-classic': - specifier: 3.1.0 - version: 3.1.0(@algolia/client-search@4.22.0)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) + specifier: 3.1.1 + version: 3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) '@mdx-js/react': specifier: ^3.0.0 version: 3.0.0(@types/react@18.2.48)(react@18.2.0) @@ -47,14 +47,14 @@ dependencies: devDependencies: '@docusaurus/module-type-aliases': - specifier: 3.1.0 - version: 3.1.0(react-dom@18.2.0)(react@18.2.0) + specifier: 3.1.1 + version: 3.1.1(react-dom@18.2.0)(react@18.2.0) '@docusaurus/tsconfig': - specifier: ^3.1.0 - version: 3.1.0 + specifier: ^3.1.1 + version: 3.1.1 '@docusaurus/types': - specifier: 3.1.0 - version: 3.1.0(react-dom@18.2.0)(react@18.2.0) + specifier: 3.1.1 + version: 3.1.1(react-dom@18.2.0)(react@18.2.0) '@types/markdown-it': specifier: ^13.0.7 version: 13.0.7 @@ -73,142 +73,142 @@ devDependencies: packages: - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0): + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights dev: false - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch dev: false - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0): + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) - '@algolia/client-search': 4.22.0 - algoliasearch: 4.22.0 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + '@algolia/client-search': 4.22.1 + algoliasearch: 4.22.1 dev: false - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0): + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/client-search': 4.22.0 - algoliasearch: 4.22.0 + '@algolia/client-search': 4.22.1 + algoliasearch: 4.22.1 dev: false - /@algolia/cache-browser-local-storage@4.22.0: - resolution: {integrity: sha512-uZ1uZMLDZb4qODLfTSNHxSi4fH9RdrQf7DXEzW01dS8XK7QFtFh29N5NGKa9S+Yudf1vUMIF+/RiL4i/J0pWlQ==} + /@algolia/cache-browser-local-storage@4.22.1: + resolution: {integrity: sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==} dependencies: - '@algolia/cache-common': 4.22.0 + '@algolia/cache-common': 4.22.1 dev: false - /@algolia/cache-common@4.22.0: - resolution: {integrity: sha512-TPwUMlIGPN16eW67qamNQUmxNiGHg/WBqWcrOoCddhqNTqGDPVqmgfaM85LPbt24t3r1z0zEz/tdsmuq3Q6oaA==} + /@algolia/cache-common@4.22.1: + resolution: {integrity: sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==} dev: false - /@algolia/cache-in-memory@4.22.0: - resolution: {integrity: sha512-kf4Cio9NpPjzp1+uXQgL4jsMDeck7MP89BYThSvXSjf2A6qV/0KeqQf90TL2ECS02ovLOBXkk98P7qVarM+zGA==} + /@algolia/cache-in-memory@4.22.1: + resolution: {integrity: sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==} dependencies: - '@algolia/cache-common': 4.22.0 + '@algolia/cache-common': 4.22.1 dev: false - /@algolia/client-account@4.22.0: - resolution: {integrity: sha512-Bjb5UXpWmJT+yGWiqAJL0prkENyEZTBzdC+N1vBuHjwIJcjLMjPB6j1hNBRbT12Lmwi55uzqeMIKS69w+0aPzA==} + /@algolia/client-account@4.22.1: + resolution: {integrity: sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==} dependencies: - '@algolia/client-common': 4.22.0 - '@algolia/client-search': 4.22.0 - '@algolia/transporter': 4.22.0 + '@algolia/client-common': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/transporter': 4.22.1 dev: false - /@algolia/client-analytics@4.22.0: - resolution: {integrity: sha512-os2K+kHUcwwRa4ArFl5p/3YbF9lN3TLOPkbXXXxOvDpqFh62n9IRZuzfxpHxMPKAQS3Et1s0BkKavnNP02E9Hg==} + /@algolia/client-analytics@4.22.1: + resolution: {integrity: sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==} dependencies: - '@algolia/client-common': 4.22.0 - '@algolia/client-search': 4.22.0 - '@algolia/requester-common': 4.22.0 - '@algolia/transporter': 4.22.0 + '@algolia/client-common': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 dev: false - /@algolia/client-common@4.22.0: - resolution: {integrity: sha512-BlbkF4qXVWuwTmYxVWvqtatCR3lzXwxx628p1wj1Q7QP2+LsTmGt1DiUYRuy9jG7iMsnlExby6kRMOOlbhv2Ag==} + /@algolia/client-common@4.22.1: + resolution: {integrity: sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==} dependencies: - '@algolia/requester-common': 4.22.0 - '@algolia/transporter': 4.22.0 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 dev: false - /@algolia/client-personalization@4.22.0: - resolution: {integrity: sha512-pEOftCxeBdG5pL97WngOBi9w5Vxr5KCV2j2D+xMVZH8MuU/JX7CglDSDDb0ffQWYqcUN+40Ry+xtXEYaGXTGow==} + /@algolia/client-personalization@4.22.1: + resolution: {integrity: sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==} dependencies: - '@algolia/client-common': 4.22.0 - '@algolia/requester-common': 4.22.0 - '@algolia/transporter': 4.22.0 + '@algolia/client-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 dev: false - /@algolia/client-search@4.22.0: - resolution: {integrity: sha512-bn4qQiIdRPBGCwsNuuqB8rdHhGKKWIij9OqidM1UkQxnSG8yzxHdb7CujM30pvp5EnV7jTqDZRbxacbjYVW20Q==} + /@algolia/client-search@4.22.1: + resolution: {integrity: sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==} dependencies: - '@algolia/client-common': 4.22.0 - '@algolia/requester-common': 4.22.0 - '@algolia/transporter': 4.22.0 + '@algolia/client-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 dev: false /@algolia/events@4.0.1: resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} dev: false - /@algolia/logger-common@4.22.0: - resolution: {integrity: sha512-HMUQTID0ucxNCXs5d1eBJ5q/HuKg8rFVE/vOiLaM4Abfeq1YnTtGV3+rFEhOPWhRQxNDd+YHa4q864IMc0zHpQ==} + /@algolia/logger-common@4.22.1: + resolution: {integrity: sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==} dev: false - /@algolia/logger-console@4.22.0: - resolution: {integrity: sha512-7JKb6hgcY64H7CRm3u6DRAiiEVXMvCJV5gRE672QFOUgDxo4aiDpfU61g6Uzy8NKjlEzHMmgG4e2fklELmPXhQ==} + /@algolia/logger-console@4.22.1: + resolution: {integrity: sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==} dependencies: - '@algolia/logger-common': 4.22.0 + '@algolia/logger-common': 4.22.1 dev: false - /@algolia/requester-browser-xhr@4.22.0: - resolution: {integrity: sha512-BHfv1h7P9/SyvcDJDaRuIwDu2yrDLlXlYmjvaLZTtPw6Ok/ZVhBR55JqW832XN/Fsl6k3LjdkYHHR7xnsa5Wvg==} + /@algolia/requester-browser-xhr@4.22.1: + resolution: {integrity: sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==} dependencies: - '@algolia/requester-common': 4.22.0 + '@algolia/requester-common': 4.22.1 dev: false - /@algolia/requester-common@4.22.0: - resolution: {integrity: sha512-Y9cEH/cKjIIZgzvI1aI0ARdtR/xRrOR13g5psCxkdhpgRN0Vcorx+zePhmAa4jdQNqexpxtkUdcKYugBzMZJgQ==} + /@algolia/requester-common@4.22.1: + resolution: {integrity: sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==} dev: false - /@algolia/requester-node-http@4.22.0: - resolution: {integrity: sha512-8xHoGpxVhz3u2MYIieHIB6MsnX+vfd5PS4REgglejJ6lPigftRhTdBCToe6zbwq4p0anZXjjPDvNWMlgK2+xYA==} + /@algolia/requester-node-http@4.22.1: + resolution: {integrity: sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==} dependencies: - '@algolia/requester-common': 4.22.0 + '@algolia/requester-common': 4.22.1 dev: false - /@algolia/transporter@4.22.0: - resolution: {integrity: sha512-ieO1k8x2o77GNvOoC+vAkFKppydQSVfbjM3YrSjLmgywiBejPTvU1R1nEvG59JIIUvtSLrZsLGPkd6vL14zopA==} + /@algolia/transporter@4.22.1: + resolution: {integrity: sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==} dependencies: - '@algolia/cache-common': 4.22.0 - '@algolia/logger-common': 4.22.0 - '@algolia/requester-common': 4.22.0 + '@algolia/cache-common': 4.22.1 + '@algolia/logger-common': 4.22.1 + '@algolia/requester-common': 4.22.1 dev: false /@ampproject/remapping@2.2.1: @@ -216,7 +216,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 dev: false /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): @@ -244,20 +244,20 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.23.7: - resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + /@babel/core@7.23.9: + resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.23.5 '@babel/generator': 7.23.6 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) - '@babel/helpers': 7.23.7 - '@babel/parser': 7.23.6 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -267,23 +267,13 @@ packages: - supports-color dev: false - /@babel/generator@7.23.5: - resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 - jsesc: 2.5.2 - dev: false - /@babel/generator@7.23.6: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 jsesc: 2.5.2 dev: false @@ -291,14 +281,14 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-compilation-targets@7.23.6: @@ -307,47 +297,47 @@ packages: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + browserslist: 4.22.3 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.23.7): - resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==} + /@babel/helper-create-class-features-plugin@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-B2L9neXTIyPQoXDm+NtovPvG6VOLWnaXu3BIeVDWwdKFgG30oNa6CqVGiJPDWQwIAK49t9gnQI9c6K6RzabiKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: false - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: false - /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.7): - resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==} + /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.9): + resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 @@ -366,38 +356,38 @@ packages: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 dev: false /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -409,7 +399,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-plugin-utils@7.22.5: @@ -417,25 +407,25 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.7): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.7): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -445,21 +435,21 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-string-parser@7.23.4: @@ -482,17 +472,17 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 dev: false - /@babel/helpers@7.23.7: - resolution: {integrity: sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==} + /@babel/helpers@7.23.9: + resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color dev: false @@ -506,1073 +496,1022 @@ packages: js-tokens: 4.0.0 dev: false - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.7): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) dev: false - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.7): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.9): resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.7): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.23.7): - resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==} + /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.7): - resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==} + /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9): + resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: false - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.15 + '@babel/template': 7.23.9 dev: false - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.7): + /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9): resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.7): - resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.7): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7) + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.7): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.9): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) - '@babel/types': 7.23.6 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/types': 7.23.9 dev: false - /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-runtime@7.23.4(@babel/core@7.23.7): - resolution: {integrity: sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==} + /@babel/plugin-transform-runtime@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.7) - babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.7) - babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.7) + babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9) + babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-runtime@7.23.7(@babel/core@7.23.7): - resolution: {integrity: sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.7) - babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.7) - babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.7) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.7): + /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9): resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7) + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/preset-env@7.23.7(@babel/core@7.23.7): - resolution: {integrity: sha512-SY27X/GtTz/L4UryMNJ6p4fH4nsgWbz84y9FE0bQeWJP6O5BhgVCt53CotQKHCOeXJel8VyhlhujhlltKms/CA==} + /@babel/preset-env@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.7) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.23.7) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.7) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.7) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.7) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.7) - babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.7) - babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.7) - babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.7) - core-js-compat: 3.35.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.9) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.9) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.9) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.9) + babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9) + babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9) + core-js-compat: 3.35.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.7): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 esutils: 2.0.3 dev: false - /@babel/preset-react@7.23.3(@babel/core@7.23.7): + /@babel/preset-react@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.7) - '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) + '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.9) dev: false - /@babel/preset-typescript@7.23.3(@babel/core@7.23.7): + /@babel/preset-typescript@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.7) + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) dev: false /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: false - /@babel/runtime-corejs3@7.23.5: - resolution: {integrity: sha512-7+ziVclejQTLYhXl+Oi1f6gTGD1XDCeLa4R472TNGQxb08zbEJ0OdNoh5Piz+57Ltmui6xR88BXR4gS3/Toslw==} + /@babel/runtime-corejs3@7.23.9: + resolution: {integrity: sha512-oeOFTrYWdWXCvXGB5orvMTJ6gCZ9I6FBjR+M38iKNXCsPxr4xT0RTdg5uz1H7QP8pp74IzPtwritEr+JscqHXQ==} engines: {node: '>=6.9.0'} dependencies: - core-js-pure: 3.35.0 + core-js-pure: 3.35.1 regenerator-runtime: 0.14.1 dev: false - /@babel/runtime-corejs3@7.23.7: - resolution: {integrity: sha512-ER55qzLREVA5YxeyQ3Qu48tgsF2ZrFjFjUS6V6wF0cikSw+goBJgB9PBRM1T6+Ah4iiM+sxmfS/Sy/jdzFfhiQ==} - engines: {node: '>=6.9.0'} - dependencies: - core-js-pure: 3.35.0 - regenerator-runtime: 0.14.1 - dev: false - - /@babel/runtime@7.23.5: - resolution: {integrity: sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - dev: false - - /@babel/runtime@7.23.7: - resolution: {integrity: sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==} + /@babel/runtime@7.23.9: + resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 - /@babel/template@7.22.15: - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + /@babel/template@7.23.9: + resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 dev: false - /@babel/traverse@7.23.5: - resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/traverse@7.23.7: - resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + /@babel/traverse@7.23.9: + resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 @@ -1581,16 +1520,16 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 @@ -1605,15 +1544,16 @@ packages: dev: false optional: true - /@dipakparmar/docusaurus-plugin-umami@2.1.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-7oanAuR8nEK/gPIGo8J7ngbN7q3pgZQeLk2sxdSyo2rJDNPOHJRl4ZtDeQVDxtbmPV3sfsCfH+oZzWEAjdI3GA==} + /@dipakparmar/docusaurus-plugin-umami@2.1.3(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-bKPOk4pMDWVvn1hEw0wyMMRNbB8Yv9Lj0AIPHcUva+YHhSOSqKp3Z+7yj/pLkoHyfTu7XK6ept9pBX6j+8U3PQ==} dependencies: - '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) tslib: 2.6.2 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -1641,7 +1581,7 @@ packages: resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: false - /@docsearch/react@3.5.2(@algolia/client-search@4.22.0)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): + /@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -1658,11 +1598,11 @@ packages: search-insights: optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) '@docsearch/css': 3.5.2 '@types/react': 18.2.48 - algoliasearch: 4.22.0 + algoliasearch: 4.22.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) search-insights: 2.13.0 @@ -1670,105 +1610,6 @@ packages: - '@algolia/client-search' dev: false - /@docusaurus/core@3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-bHWtY55tJTkd6pZhHrWz1MpWuwN4edZe0/UWgFF7PW/oJeDZvLSXKqwny3L91X1/LGGoypBGkeZn8EOuKeL4yQ==} - engines: {node: '>=18.0'} - hasBin: true - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - '@babel/core': 7.23.7 - '@babel/generator': 7.23.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-transform-runtime': 7.23.4(@babel/core@7.23.7) - '@babel/preset-env': 7.23.7(@babel/core@7.23.7) - '@babel/preset-react': 7.23.3(@babel/core@7.23.7) - '@babel/preset-typescript': 7.23.3(@babel/core@7.23.7) - '@babel/runtime': 7.23.5 - '@babel/runtime-corejs3': 7.23.5 - '@babel/traverse': 7.23.5 - '@docusaurus/cssnano-preset': 3.0.0 - '@docusaurus/logger': 3.0.0 - '@docusaurus/mdx-loader': 3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/react-loadable': 5.5.2(react@18.2.0) - '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) - '@docusaurus/utils-common': 3.0.0(@docusaurus/types@3.0.0) - '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) - '@slorber/static-site-generator-webpack-plugin': 4.0.7 - '@svgr/webpack': 6.5.1 - autoprefixer: 10.4.16(postcss@8.4.31) - babel-loader: 9.1.3(@babel/core@7.23.7)(webpack@5.89.0) - babel-plugin-dynamic-import-node: 2.3.3 - boxen: 6.2.1 - chalk: 4.1.2 - chokidar: 3.5.3 - clean-css: 5.3.3 - cli-table3: 0.6.3 - combine-promises: 1.2.0 - commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.89.0) - core-js: 3.35.0 - css-loader: 6.8.1(webpack@5.89.0) - css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.89.0) - cssnano: 5.1.15(postcss@8.4.31) - del: 6.1.1 - detect-port: 1.5.1 - escape-html: 1.0.3 - eta: 2.2.0 - file-loader: 6.2.0(webpack@5.89.0) - fs-extra: 11.2.0 - html-minifier-terser: 7.2.0 - html-tags: 3.3.1 - html-webpack-plugin: 5.5.3(webpack@5.89.0) - leven: 3.1.0 - lodash: 4.17.21 - mini-css-extract-plugin: 2.7.6(webpack@5.89.0) - postcss: 8.4.31 - postcss-loader: 7.3.3(postcss@8.4.31)(typescript@5.3.3)(webpack@5.89.0) - prompts: 2.4.2 - react: 18.2.0 - react-dev-utils: 12.0.1(typescript@5.3.3)(webpack@5.89.0) - react-dom: 18.2.0(react@18.2.0) - react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) - react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.89.0) - react-router: 5.3.4(react@18.2.0) - react-router-config: 5.1.1(react-router@5.3.4)(react@18.2.0) - react-router-dom: 5.3.4(react@18.2.0) - rtl-detect: 1.1.2 - semver: 7.5.4 - serve-handler: 6.1.5 - shelljs: 0.8.5 - terser-webpack-plugin: 5.3.10(webpack@5.89.0) - tslib: 2.6.2 - update-notifier: 6.0.2 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) - wait-on: 7.2.0 - webpack: 5.89.0 - webpack-bundle-analyzer: 4.10.1 - webpack-dev-server: 4.15.1(webpack@5.89.0) - webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.89.0) - transitivePeerDependencies: - - '@docusaurus/types' - - '@parcel/css' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - /@docusaurus/core@3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-GWudMGYA9v26ssbAWJNfgeDZk+lrudUTclLPRsmxiknEBk7UMp7Rglonhqbsf3IKHOyHkMU4Fr5jFyg5SBx9jQ==} engines: {node: '>=18.0'} @@ -1777,16 +1618,16 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/generator': 7.23.6 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-transform-runtime': 7.23.7(@babel/core@7.23.7) - '@babel/preset-env': 7.23.7(@babel/core@7.23.7) - '@babel/preset-react': 7.23.3(@babel/core@7.23.7) - '@babel/preset-typescript': 7.23.3(@babel/core@7.23.7) - '@babel/runtime': 7.23.7 - '@babel/runtime-corejs3': 7.23.7 - '@babel/traverse': 7.23.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-runtime': 7.23.9(@babel/core@7.23.9) + '@babel/preset-env': 7.23.9(@babel/core@7.23.9) + '@babel/preset-react': 7.23.3(@babel/core@7.23.9) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.9) + '@babel/runtime': 7.23.9 + '@babel/runtime-corejs3': 7.23.9 + '@babel/traverse': 7.23.9 '@docusaurus/cssnano-preset': 3.1.0 '@docusaurus/logger': 3.1.0 '@docusaurus/mdx-loader': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0) @@ -1796,8 +1637,8 @@ packages: '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) '@slorber/static-site-generator-webpack-plugin': 4.0.7 '@svgr/webpack': 6.5.1 - autoprefixer: 10.4.16(postcss@8.4.33) - babel-loader: 9.1.3(@babel/core@7.23.7)(webpack@5.89.0) + autoprefixer: 10.4.17(postcss@8.4.33) + babel-loader: 9.1.3(@babel/core@7.23.9)(webpack@5.90.0) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 chalk: 4.1.2 @@ -1806,32 +1647,32 @@ packages: cli-table3: 0.6.3 combine-promises: 1.2.0 commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.89.0) - core-js: 3.35.0 - css-loader: 6.8.1(webpack@5.89.0) - css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.89.0) + copy-webpack-plugin: 11.0.0(webpack@5.90.0) + core-js: 3.35.1 + css-loader: 6.9.1(webpack@5.90.0) + css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.90.0) cssnano: 5.1.15(postcss@8.4.33) del: 6.1.1 detect-port: 1.5.1 escape-html: 1.0.3 eta: 2.2.0 - file-loader: 6.2.0(webpack@5.89.0) + file-loader: 6.2.0(webpack@5.90.0) fs-extra: 11.2.0 html-minifier-terser: 7.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.90.0) leven: 3.1.0 lodash: 4.17.21 - mini-css-extract-plugin: 2.7.6(webpack@5.89.0) + mini-css-extract-plugin: 2.7.7(webpack@5.90.0) postcss: 8.4.33 - postcss-loader: 7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.89.0) + postcss-loader: 7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.90.0) prompts: 2.4.2 react: 18.2.0 - react-dev-utils: 12.0.1(typescript@5.3.3)(webpack@5.89.0) + react-dev-utils: 12.0.1(typescript@5.3.3)(webpack@5.90.0) react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.89.0) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.90.0) react-router: 5.3.4(react@18.2.0) react-router-config: 5.1.1(react-router@5.3.4)(react@18.2.0) react-router-dom: 5.3.4(react@18.2.0) @@ -1839,15 +1680,15 @@ packages: semver: 7.5.4 serve-handler: 6.1.5 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(webpack@5.90.0) tslib: 2.6.2 update-notifier: 6.0.2 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) - webpack: 5.89.0 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) + webpack: 5.90.0 webpack-bundle-analyzer: 4.10.1 - webpack-dev-server: 4.15.1(webpack@5.89.0) + webpack-dev-server: 4.15.1(webpack@5.90.0) webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.89.0) + webpackbar: 5.0.2(webpack@5.90.0) transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' @@ -1868,14 +1709,103 @@ packages: - webpack-cli dev: false - /@docusaurus/cssnano-preset@3.0.0: - resolution: {integrity: sha512-FHiRfwmVvIVdIGsHcijUOaX7hMn0mugVYB7m4GkpYI6Mi56zwQV4lH5p7DxcW5CUYNWMVxz2loWSCiWEm5ikwA==} + /@docusaurus/core@3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-2nQfKFcf+MLEM7JXsXwQxPOmQAR6ytKMZVSx7tVi9HEm9WtfwBH1fp6bn8Gj4zLUhjWKCLoysQ9/Wm+EZCQ4yQ==} engines: {node: '>=18.0'} + hasBin: true + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 dependencies: - cssnano-preset-advanced: 5.3.10(postcss@8.4.31) - postcss: 8.4.31 - postcss-sort-media-queries: 4.4.1(postcss@8.4.31) + '@babel/core': 7.23.9 + '@babel/generator': 7.23.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-runtime': 7.23.9(@babel/core@7.23.9) + '@babel/preset-env': 7.23.9(@babel/core@7.23.9) + '@babel/preset-react': 7.23.3(@babel/core@7.23.9) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.9) + '@babel/runtime': 7.23.9 + '@babel/runtime-corejs3': 7.23.9 + '@babel/traverse': 7.23.9 + '@docusaurus/cssnano-preset': 3.1.1 + '@docusaurus/logger': 3.1.1 + '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/react-loadable': 5.5.2(react@18.2.0) + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) + '@slorber/static-site-generator-webpack-plugin': 4.0.7 + '@svgr/webpack': 6.5.1 + autoprefixer: 10.4.17(postcss@8.4.33) + babel-loader: 9.1.3(@babel/core@7.23.9)(webpack@5.90.0) + babel-plugin-dynamic-import-node: 2.3.3 + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.5.3 + clean-css: 5.3.3 + cli-table3: 0.6.3 + combine-promises: 1.2.0 + commander: 5.1.0 + copy-webpack-plugin: 11.0.0(webpack@5.90.0) + core-js: 3.35.1 + css-loader: 6.9.1(webpack@5.90.0) + css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.90.0) + cssnano: 5.1.15(postcss@8.4.33) + del: 6.1.1 + detect-port: 1.5.1 + escape-html: 1.0.3 + eta: 2.2.0 + file-loader: 6.2.0(webpack@5.90.0) + fs-extra: 11.2.0 + html-minifier-terser: 7.2.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.0(webpack@5.90.0) + leven: 3.1.0 + lodash: 4.17.21 + mini-css-extract-plugin: 2.7.7(webpack@5.90.0) + postcss: 8.4.33 + postcss-loader: 7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.90.0) + prompts: 2.4.2 + react: 18.2.0 + react-dev-utils: 12.0.1(typescript@5.3.3)(webpack@5.90.0) + react-dom: 18.2.0(react@18.2.0) + react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) + react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.90.0) + react-router: 5.3.4(react@18.2.0) + react-router-config: 5.1.1(react-router@5.3.4)(react@18.2.0) + react-router-dom: 5.3.4(react@18.2.0) + rtl-detect: 1.1.2 + semver: 7.5.4 + serve-handler: 6.1.5 + shelljs: 0.8.5 + terser-webpack-plugin: 5.3.10(webpack@5.90.0) tslib: 2.6.2 + update-notifier: 6.0.2 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) + webpack: 5.90.0 + webpack-bundle-analyzer: 4.10.1 + webpack-dev-server: 4.15.1(webpack@5.90.0) + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.90.0) + transitivePeerDependencies: + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli dev: false /@docusaurus/cssnano-preset@3.1.0: @@ -1888,11 +1818,13 @@ packages: tslib: 2.6.2 dev: false - /@docusaurus/logger@3.0.0: - resolution: {integrity: sha512-6eX0eOfioMQCk+qgCnHvbLLuyIAA+r2lSID6d6JusiLtDKmYMfNp3F4yyE8bnb0Abmzt2w68XwptEFYyALSAXw==} + /@docusaurus/cssnano-preset@3.1.1: + resolution: {integrity: sha512-LnoIDjJWbirdbVZDMq+4hwmrTl2yHDnBf9MLG9qyExeAE3ac35s4yUhJI8yyTCdixzNfKit4cbXblzzqMu4+8g==} engines: {node: '>=18.0'} dependencies: - chalk: 4.1.2 + cssnano-preset-advanced: 5.3.10(postcss@8.4.33) + postcss: 8.4.33 + postcss-sort-media-queries: 4.4.1(postcss@8.4.33) tslib: 2.6.2 dev: false @@ -1904,48 +1836,12 @@ packages: tslib: 2.6.2 dev: false - /@docusaurus/mdx-loader@3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-JkGge6WYDrwjNgMxwkb6kNQHnpISt5L1tMaBWFDBKeDToFr5Kj29IL35MIQm0RfrnoOfr/29RjSH4aRtvlAR0A==} + /@docusaurus/logger@3.1.1: + resolution: {integrity: sha512-BjkNDpQzewcTnST8trx4idSoAla6zZ3w22NqM/UMcFtvYJgmoE4layuTzlfql3VFPNuivvj7BOExa/+21y4X2Q==} engines: {node: '>=18.0'} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 dependencies: - '@babel/parser': 7.23.6 - '@babel/traverse': 7.23.5 - '@docusaurus/logger': 3.0.0 - '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) - '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) - '@mdx-js/mdx': 3.0.0 - '@slorber/remark-comment': 1.0.0 - escape-html: 1.0.3 - estree-util-value-to-estree: 3.0.1 - file-loader: 6.2.0(webpack@5.89.0) - fs-extra: 11.2.0 - image-size: 1.1.1 - mdast-util-mdx: 3.0.0 - mdast-util-to-string: 4.0.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - rehype-raw: 7.0.0 - remark-directive: 3.0.0 - remark-emoji: 4.0.1 - remark-frontmatter: 5.0.0 - remark-gfm: 4.0.0 - stringify-object: 3.3.0 + chalk: 4.1.2 tslib: 2.6.2 - unified: 11.0.4 - unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) - vfile: 6.0.1 - webpack: 5.89.0 - transitivePeerDependencies: - - '@docusaurus/types' - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli dev: false /@docusaurus/mdx-loader@3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0): @@ -1955,8 +1851,8 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/parser': 7.23.6 - '@babel/traverse': 7.23.7 + '@babel/parser': 7.23.9 + '@babel/traverse': 7.23.9 '@docusaurus/logger': 3.1.0 '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) @@ -1964,7 +1860,7 @@ packages: '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 estree-util-value-to-estree: 3.0.1 - file-loader: 6.2.0(webpack@5.89.0) + file-loader: 6.2.0(webpack@5.90.0) fs-extra: 11.2.0 image-size: 1.1.1 mdast-util-mdx: 3.0.0 @@ -1980,9 +1876,9 @@ packages: tslib: 2.6.2 unified: 11.0.4 unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) vfile: 6.0.1 - webpack: 5.89.0 + webpack: 5.90.0 transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' @@ -1992,14 +1888,58 @@ packages: - webpack-cli dev: false - /@docusaurus/module-type-aliases@3.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-XUl7Z4PWlKg4l6KF05JQ3iDHQxnPxbQUqTNKvviHyuHdlalOFv6qeDAm7IbzyQPJD5VA6y4dpRbTWSqP9ClwPg==} + /@docusaurus/mdx-loader@3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-xN2IccH9+sv7TmxwsDJNS97BHdmlqWwho+kIVY4tcCXkp+k4QuzvWBeunIMzeayY4Fu13A6sAjHGv5qm72KyGA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@babel/parser': 7.23.9 + '@babel/traverse': 7.23.9 + '@docusaurus/logger': 3.1.1 + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) + '@mdx-js/mdx': 3.0.0 + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.0.1 + file-loader: 6.2.0(webpack@5.90.0) + fs-extra: 11.2.0 + image-size: 1.1.1 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + rehype-raw: 7.0.0 + remark-directive: 3.0.0 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 + stringify-object: 3.3.0 + tslib: 2.6.2 + unified: 11.0.4 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) + vfile: 6.0.1 + webpack: 5.90.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/module-type-aliases@3.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-xBJyx0TMfAfVZ9ZeIOb1awdXgR4YJMocIEzTps91rq+hJDFJgJaylDtmoRhUxkwuYmNK1GJpW95b7DLztSBJ3A==} peerDependencies: react: '*' react-dom: '*' dependencies: '@docusaurus/react-loadable': 5.5.2(react@18.2.0) - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@types/history': 4.7.11 '@types/react': 18.2.48 '@types/react-router-config': 5.0.11 @@ -2015,18 +1955,18 @@ packages: - uglify-js - webpack-cli - /@docusaurus/plugin-client-redirects@3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-CuFbdciMGvtGYiIPSOpj5idsHOQUcqZWTLCmZV3ePhviekm4dRZm1+QK/BxigmSTL5ICJMGbtOQnz7bgFSWHqg==} + /@docusaurus/plugin-client-redirects@3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-J/1Z75XkO+BmUXHW17FrCIYZQ3b0IKaJECH6yCxW5RQ8NMMJ+SZCtPtx5oYoAd0VHersNiUu+ZAxfOqbsn1jKQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/logger': 3.1.0 - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-common': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/logger': 3.1.1 + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) eta: 2.2.0 fs-extra: 11.2.0 lodash: 4.17.21 @@ -2053,20 +1993,20 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-blog@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-iMa6WBaaEdYuxckvJtLcq/HQdlA4oEbCXf/OFfsYJCCULcDX7GDZpKxLF3X1fLsax3sSm5bmsU+CA0WD+R1g3A==} + /@docusaurus/plugin-content-blog@3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-ew/3VtVoG3emoAKmoZl7oKe1zdFOsI0NbcHS26kIxt2Z8vcXKCUgK9jJJrz0TbOipyETPhqwq4nbitrY3baibg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/logger': 3.1.0 - '@docusaurus/mdx-loader': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-common': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/logger': 3.1.1 + '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 11.2.0 @@ -2077,8 +2017,8 @@ packages: srcset: 4.0.0 tslib: 2.6.2 unist-util-visit: 5.0.0 - utility-types: 3.10.0 - webpack: 5.89.0 + utility-types: 3.11.0 + webpack: 5.90.0 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -2098,20 +2038,20 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-docs@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-el5GxhT8BLrsWD0qGa8Rq+Ttb/Ni6V3DGT2oAPio0qcs/mUAxeyXEAmihkvmLCnAgp6xD27Ce7dISZ5c6BXeqA==} + /@docusaurus/plugin-content-docs@3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-lhFq4E874zw0UOH7ujzxnCayOyAt0f9YPVYSb9ohxrdCM8B4szxitUw9rIX4V9JLLHVoqIJb6k+lJJ1jrcGJ0A==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/logger': 3.1.0 - '@docusaurus/mdx-loader': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/module-type-aliases': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/logger': 3.1.1 + '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/module-type-aliases': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 @@ -2120,8 +2060,8 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 - utility-types: 3.10.0 - webpack: 5.89.0 + utility-types: 3.11.0 + webpack: 5.90.0 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -2141,23 +2081,23 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-pages@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-9gntYQFpk+93+Xl7gYczJu8I9uWoyRLnRwS0+NUFcs9iZtHKsdqKWPRrONC9elfN3wJ9ORwTbcVzsTiB8jvYlg==} + /@docusaurus/plugin-content-pages@3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-NQHncNRAJbyLtgTim9GlEnNYsFhuCxaCNkMwikuxLTiGIPH7r/jpb7O3f3jUMYMebZZZrDq5S7om9a6rvB/YCA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/mdx-loader': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 - webpack: 5.89.0 + webpack: 5.90.0 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -2177,16 +2117,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-debug@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-AbvJwCVRbmQ8w9d8QXbF4Iq/ui0bjPZNYFIhtducGFnm2YQRN1mraK8mCEQb0Aq0T8SqRRvSfC/far4n/s531w==} + /@docusaurus/plugin-debug@3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-xWeMkueM9wE/8LVvl4+Qf1WqwXmreMjI5Kgr7GYCDoJ8zu4kD+KaMhrh7py7MNM38IFvU1RfrGKacCEe2DRRfQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2211,16 +2151,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-analytics@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-zvUOMzu9Uhz0ciqnSbtnp/5i1zEYlzarQrOXG90P3Is3efQI43p2YLW/rzSGdLb5MfQo2HvKT6Q5+tioMO045Q==} + /@docusaurus/plugin-google-analytics@3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-+q2UpWTqVi8GdlLoSlD5bS/YpxW+QMoBwrPrUH/NpvpuOi0Of7MTotsQf9JWd3hymZxl2uu1o3PIrbpxfeDFDQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 @@ -2243,16 +2183,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-gtag@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-0txshvaY8qIBdkk2UATdVcfiCLGq3KAUfuRQD2cRNgO39iIf4/ihQxH9NXcRTwKs4Q5d9yYHoix3xT6pFuEYOg==} + /@docusaurus/plugin-google-gtag@3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-0mMPiBBlQ5LFHTtjxuvt/6yzh8v7OxLi3CbeEsxXZpUzcKO/GC7UA1VOWUoBeQzQL508J12HTAlR3IBU9OofSw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) '@types/gtag.js': 0.0.12 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2276,16 +2216,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-tag-manager@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-zOWPEi8kMyyPtwG0vhyXrdbLs8fIZmY5vlbi9lUU+v8VsroO5iHmfR2V3SMsrsfOanw5oV/ciWqbxezY00qEZg==} + /@docusaurus/plugin-google-tag-manager@3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-d07bsrMLdDIryDtY17DgqYUbjkswZQr8cLWl4tzXrt5OR/T/zxC1SYKajzB3fd87zTu5W5klV5GmUwcNSMXQXA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 @@ -2308,31 +2248,31 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-pwa@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-8UXyD35x3BALl7GuWWqSbC/ldnJHW8wfk5xzMDHfi5kKK+8OxpayJNxmXFXd0FlCVGN1PxE5EAhpdYIj9SBMUQ==} + /@docusaurus/plugin-pwa@3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-vCXC4YUtyblcc3mivj77a5vHz1a867mzKylc1r95XG5fAzbVibp9gA2SkfbLl1WHJv4jSvVuYBOoulKC1ngcGg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/preset-env': 7.23.7(@babel/core@7.23.7) - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-translations': 3.1.0 - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) - babel-loader: 9.1.3(@babel/core@7.23.7)(webpack@5.89.0) + '@babel/core': 7.23.9 + '@babel/preset-env': 7.23.9(@babel/core@7.23.9) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-translations': 3.1.1 + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) + babel-loader: 9.1.3(@babel/core@7.23.9)(webpack@5.90.0) clsx: 2.1.0 - core-js: 3.35.0 + core-js: 3.35.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(webpack@5.90.0) tslib: 2.6.2 - webpack: 5.89.0 + webpack: 5.90.0 webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.89.0) + webpackbar: 5.0.2(webpack@5.90.0) workbox-build: 7.0.0 workbox-precaching: 7.0.0 workbox-window: 7.0.0 @@ -2356,19 +2296,19 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-sitemap@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-TkR5vGBpUooEB9SoW42thahqqwKzfHrQQhkB+JrEGERsl4bKODSuJNle4aA4h6LSkg4IyfXOW8XOI0NIPWb9Cg==} + /@docusaurus/plugin-sitemap@3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-iJ4hCaMmDaUqRv131XJdt/C/jJQx8UreDWTRqZKtNydvZVh/o4yXGRRFOplea1D9b/zpwL1Y+ZDwX7xMhIOTmg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/logger': 3.1.0 - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-common': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/logger': 3.1.1 + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2393,26 +2333,26 @@ packages: - webpack-cli dev: false - /@docusaurus/preset-classic@3.1.0(@algolia/client-search@4.22.0)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): - resolution: {integrity: sha512-xGLQRFmmT9IinAGUDVRYZ54Ys28USNbA3OTXQXnSJLPr1rCY7CYnHI4XoOnKWrNnDiAI4ruMzunXWyaElUYCKQ==} + /@docusaurus/preset-classic@3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): + resolution: {integrity: sha512-jG4ys/hWYf69iaN/xOmF+3kjs4Nnz1Ay3CjFLDtYa8KdxbmUhArA9HmP26ru5N0wbVWhY+6kmpYhTJpez5wTyg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-blog': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-docs': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-pages': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-debug': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-google-analytics': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-google-gtag': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-google-tag-manager': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-sitemap': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-classic': 3.1.0(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-search-algolia': 3.1.0(@algolia/client-search@4.22.0)(@docusaurus/types@3.1.0)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-blog': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-debug': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-analytics': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-gtag': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-tag-manager': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-sitemap': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-classic': 3.1.1(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-search-algolia': 3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -2446,25 +2386,25 @@ packages: prop-types: 15.8.1 react: 18.2.0 - /@docusaurus/theme-classic@3.1.0(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-/+jMl2Z9O8QQxves5AtHdt91gWsEZFgOV3La/6eyKEd7QLqQUtM5fxEJ40rq9NKYjqCd1HzZ9egIMeJoWwillw==} + /@docusaurus/theme-classic@3.1.1(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-GiPE/jbWM8Qv1A14lk6s9fhc0LhPEQ00eIczRO4QL2nAQJZXkjPG6zaVx+1cZxPFWbAsqSjKe2lqkwF3fGkQ7Q==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/mdx-loader': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/module-type-aliases': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-docs': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-pages': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-translations': 3.1.0 - '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-common': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/module-type-aliases': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/plugin-content-blog': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-translations': 3.1.1 + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) '@mdx-js/react': 3.0.0(@types/react@18.2.48)(react@18.2.0) clsx: 2.1.0 copy-text-to-clipboard: 3.2.0 @@ -2479,7 +2419,7 @@ packages: react-router-dom: 5.3.4(react@18.2.0) rtlcss: 4.1.1 tslib: 2.6.2 - utility-types: 3.10.0 + utility-types: 3.11.0 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -2500,20 +2440,20 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-common@3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-YGwEFALLIbF5ocW/Fy6Ae7tFWUOugEN3iwxTx8UkLAcLqYUboDSadesYtVBmRCEB4FVA2qoP7YaW3lu3apUPPw==} + /@docusaurus/theme-common@3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-38urZfeMhN70YaXkwIGXmcUcv2CEYK/2l4b05GkJPrbEbgpsIZM3Xc+Js2ehBGGZmfZq8GjjQ5RNQYG+MYzCYg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/mdx-loader': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/module-type-aliases': 3.1.0(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-docs': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-pages': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-common': 3.1.0(@docusaurus/types@3.1.0) + '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/module-type-aliases': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/plugin-content-blog': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1) '@types/history': 4.7.11 '@types/react': 18.2.48 '@types/react-router-config': 5.0.11 @@ -2523,7 +2463,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 - utility-types: 3.10.0 + utility-types: 3.11.0 transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' @@ -2544,23 +2484,23 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-search-algolia@3.1.0(@algolia/client-search@4.22.0)(@docusaurus/types@3.1.0)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): - resolution: {integrity: sha512-8cJH0ZhPsEDjq3jR3I+wHmWzVY2bXMQJ59v2QxUmsTZxbWA4u+IzccJMIJx4ooFl9J6iYynwYsFuHxyx/KUmfQ==} + /@docusaurus/theme-search-algolia@3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): + resolution: {integrity: sha512-tBH9VY5EpRctVdaAhT+b1BY8y5dyHVZGFXyCHgTrvcXQy5CV4q7serEX7U3SveNT9zksmchPyct6i1sFDC4Z5g==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docsearch/react': 3.5.2(@algolia/client-search@4.22.0)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) - '@docusaurus/core': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/logger': 3.1.0 - '@docusaurus/plugin-content-docs': 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-translations': 3.1.0 - '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - '@docusaurus/utils-validation': 3.1.0(@docusaurus/types@3.1.0) - algoliasearch: 4.22.0 - algoliasearch-helper: 3.16.1(algoliasearch@4.22.0) + '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/logger': 3.1.1 + '@docusaurus/plugin-content-docs': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-translations': 3.1.1 + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) + algoliasearch: 4.22.1 + algoliasearch-helper: 3.16.2(algoliasearch@4.22.1) clsx: 2.1.0 eta: 2.2.0 fs-extra: 11.2.0 @@ -2568,7 +2508,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 - utility-types: 3.10.0 + utility-types: 3.11.0 transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/types' @@ -2592,41 +2532,18 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-translations@3.1.0: - resolution: {integrity: sha512-DApE4AbDI+WBajihxB54L4scWQhVGNZAochlC9fkbciPuFAgdRBD3NREb0rgfbKexDC/rioppu/WJA0u8tS+yA==} + /@docusaurus/theme-translations@3.1.1: + resolution: {integrity: sha512-xvWQFwjxHphpJq5fgk37FXCDdAa2o+r7FX8IpMg+bGZBNXyWBu3MjZ+G4+eUVNpDhVinTc+j6ucL0Ain5KCGrg==} engines: {node: '>=18.0'} dependencies: fs-extra: 11.2.0 tslib: 2.6.2 dev: false - /@docusaurus/tsconfig@3.1.0: - resolution: {integrity: sha512-PE6fSuj5gJy5sNC1OO+bYAU1/xZH5YqddGjhrNu3/T7OAUroqkMZfVl13Tz70CjYB8no4OWcraqSkObAeNdIcQ==} + /@docusaurus/tsconfig@3.1.1: + resolution: {integrity: sha512-FTBuY3KvaHfMVBgvlPmDQ+KS9Q/bYtVftq2ugou3PgBDJoQmw2aUZ4Sg15HKqLGbfIkxoy9t6cqE4Yw1Ta8Q1A==} dev: true - /@docusaurus/types@3.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Qb+l/hmCOVemReuzvvcFdk84bUmUFyD0Zi81y651ie3VwMrXqC7C0E7yZLKMOsLj/vkqsxHbtkAuYMI89YzNzg==} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - '@types/history': 4.7.11 - '@types/react': 18.2.48 - commander: 5.1.0 - joi: 17.11.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) - utility-types: 3.10.0 - webpack: 5.89.0 - webpack-merge: 5.10.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack-cli - dev: false - /@docusaurus/types@3.1.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-VaczOZf7+re8aFBIWnex1XENomwHdsSTkrdX43zyor7G/FY4OIsP6X28Xc3o0jiY0YdNuvIDyA5TNwOtpgkCVw==} peerDependencies: @@ -2637,12 +2554,12 @@ packages: '@types/history': 4.7.11 '@types/react': 18.2.48 commander: 5.1.0 - joi: 17.11.0 + joi: 17.12.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) - utility-types: 3.10.0 - webpack: 5.89.0 + utility-types: 3.11.0 + webpack: 5.90.0 webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' @@ -2650,20 +2567,32 @@ packages: - supports-color - uglify-js - webpack-cli - - /@docusaurus/utils-common@3.0.0(@docusaurus/types@3.0.0): - resolution: {integrity: sha512-7iJWAtt4AHf4PFEPlEPXko9LZD/dbYnhLe0q8e3GRK1EXZyRASah2lznpMwB3lLmVjq/FR6ZAKF+E0wlmL5j0g==} - engines: {node: '>=18.0'} - peerDependencies: - '@docusaurus/types': '*' - peerDependenciesMeta: - '@docusaurus/types': - optional: true - dependencies: - '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) - tslib: 2.6.2 dev: false + /@docusaurus/types@3.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-grBqOLnubUecgKFXN9q3uit2HFbCxTWX4Fam3ZFbMN0sWX9wOcDoA7lwdX/8AmeL20Oc4kQvWVgNrsT8bKRvzg==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@mdx-js/mdx': 3.0.0 + '@types/history': 4.7.11 + '@types/react': 18.2.48 + commander: 5.1.0 + joi: 17.12.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) + utility-types: 3.11.0 + webpack: 5.90.0 + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + /@docusaurus/utils-common@3.1.0(@docusaurus/types@3.1.0): resolution: {integrity: sha512-SfvnRLHoZ9bwTw67knkSs7IcUR0GY2SaGkpdB/J9pChrDiGhwzKNUhcieoPyPYrOWGRPk3rVNYtoy+Bc7psPAw==} engines: {node: '>=18.0'} @@ -2677,22 +2606,17 @@ packages: tslib: 2.6.2 dev: false - /@docusaurus/utils-validation@3.0.0(@docusaurus/types@3.0.0): - resolution: {integrity: sha512-MlIGUspB/HBW5CYgHvRhmkZbeMiUWKbyVoCQYvbGN8S19SSzVgzyy97KRpcjCOYYeEdkhmRCUwFBJBlLg3IoNQ==} + /@docusaurus/utils-common@3.1.1(@docusaurus/types@3.1.1): + resolution: {integrity: sha512-eGne3olsIoNfPug5ixjepZAIxeYFzHHnor55Wb2P57jNbtVaFvij/T+MS8U0dtZRFi50QU+UPmRrXdVUM8uyMg==} engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true dependencies: - '@docusaurus/logger': 3.0.0 - '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) - joi: 17.11.0 - js-yaml: 4.1.0 + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) tslib: 2.6.2 - transitivePeerDependencies: - - '@docusaurus/types' - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli dev: false /@docusaurus/utils-validation@3.1.0(@docusaurus/types@3.1.0): @@ -2701,7 +2625,7 @@ packages: dependencies: '@docusaurus/logger': 3.1.0 '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0) - joi: 17.11.0 + joi: 17.12.0 js-yaml: 4.1.0 tslib: 2.6.2 transitivePeerDependencies: @@ -2713,34 +2637,17 @@ packages: - webpack-cli dev: false - /@docusaurus/utils@3.0.0(@docusaurus/types@3.0.0): - resolution: {integrity: sha512-JwGjh5mtjG9XIAESyPxObL6CZ6LO/yU4OSTpq7Q0x+jN25zi/AMbvLjpSyZzWy+qm5uQiFiIhqFaOxvy+82Ekg==} + /@docusaurus/utils-validation@3.1.1(@docusaurus/types@3.1.1): + resolution: {integrity: sha512-KlY4P9YVDnwL+nExvlIpu79abfEv6ZCHuOX4ZQ+gtip+Wxj0daccdReIWWtqxM/Fb5Cz1nQvUCc7VEtT8IBUAA==} engines: {node: '>=18.0'} - peerDependencies: - '@docusaurus/types': '*' - peerDependenciesMeta: - '@docusaurus/types': - optional: true dependencies: - '@docusaurus/logger': 3.0.0 - '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) - '@svgr/webpack': 6.5.1 - escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.89.0) - fs-extra: 11.2.0 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - jiti: 1.21.0 + '@docusaurus/logger': 3.1.1 + '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) + joi: 17.12.0 js-yaml: 4.1.0 - lodash: 4.17.21 - micromatch: 4.0.5 - resolve-pathname: 3.0.0 - shelljs: 0.8.5 tslib: 2.6.2 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) - webpack: 5.89.0 transitivePeerDependencies: + - '@docusaurus/types' - '@swc/core' - esbuild - supports-color @@ -2761,7 +2668,7 @@ packages: '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0) '@svgr/webpack': 6.5.1 escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.89.0) + file-loader: 6.2.0(webpack@5.90.0) fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 @@ -2773,8 +2680,43 @@ packages: resolve-pathname: 3.0.0 shelljs: 0.8.5 tslib: 2.6.2 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) - webpack: 5.89.0 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) + webpack: 5.90.0 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/utils@3.1.1(@docusaurus/types@3.1.1): + resolution: {integrity: sha512-ZJfJa5cJQtRYtqijsPEnAZoduW6sjAQ7ZCWSZavLcV10Fw0Z3gSaPKA/B4micvj2afRZ4gZxT7KfYqe5H8Cetg==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + dependencies: + '@docusaurus/logger': 3.1.1 + '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) + '@svgr/webpack': 6.5.1 + escape-string-regexp: 4.0.0 + file-loader: 6.2.0(webpack@5.90.0) + fs-extra: 11.2.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + jiti: 1.21.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.5 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.6.2 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) + webpack: 5.90.0 transitivePeerDependencies: - '@swc/core' - esbuild @@ -2805,7 +2747,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.10.6 + '@types/node': 20.11.7 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: false @@ -2816,7 +2758,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} @@ -2830,13 +2772,13 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.20: - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + /@jridgewell/trace-mapping@0.3.22: + resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 @@ -2864,7 +2806,7 @@ packages: periscopic: 3.1.0 remark-mdx: 3.0.0 remark-parse: 11.0.0 - remark-rehype: 11.0.0 + remark-rehype: 11.1.0 source-map: 0.7.4 unified: 11.0.4 unist-util-position-from-estree: 2.0.0 @@ -2903,7 +2845,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.16.0 + fastq: 1.17.0 dev: false /@pnpm/config.env-replace@1.1.0: @@ -2931,7 +2873,7 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@rollup/plugin-babel@5.3.1(@babel/core@7.23.7)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.23.9)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -2942,7 +2884,7 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 @@ -3036,101 +2978,101 @@ packages: string.prototype.matchall: 4.0.10 dev: false - /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.23.7): + /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.23.9): resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.7): + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.9): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.7): + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.9): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.23.7): + /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.23.9): resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.23.7): + /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.23.9): resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.23.7): + /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.23.9): resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.23.7): + /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.23.9): resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.23.7): + /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.23.9): resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@svgr/babel-preset@6.5.1(@babel/core@7.23.7): + /@svgr/babel-preset@6.5.1(@babel/core@7.23.9): resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.23.7) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.7) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.7) - '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.23.7) - '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.23.7) - '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.23.7) - '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.23.7) - '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.23.9) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.9) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.9) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.23.9) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.23.9) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.23.9) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.23.9) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.23.9) dev: false /@svgr/core@6.5.1: resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.23.7 - '@svgr/babel-preset': 6.5.1(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@svgr/babel-preset': 6.5.1(@babel/core@7.23.9) '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) camelcase: 6.3.0 cosmiconfig: 7.1.0 @@ -3142,7 +3084,7 @@ packages: resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} engines: {node: '>=10'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 entities: 4.5.0 dev: false @@ -3152,8 +3094,8 @@ packages: peerDependencies: '@svgr/core': ^6.0.0 dependencies: - '@babel/core': 7.23.7 - '@svgr/babel-preset': 6.5.1(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@svgr/babel-preset': 6.5.1(@babel/core@7.23.9) '@svgr/core': 6.5.1 '@svgr/hast-util-to-babel-ast': 6.5.1 svg-parser: 2.0.4 @@ -3177,11 +3119,11 @@ packages: resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.7) - '@babel/preset-env': 7.23.7(@babel/core@7.23.7) - '@babel/preset-react': 7.23.3(@babel/core@7.23.7) - '@babel/preset-typescript': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.9) + '@babel/preset-env': 7.23.9(@babel/core@7.23.9) + '@babel/preset-react': 7.23.3(@babel/core@7.23.9) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.9) '@svgr/core': 6.5.1 '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) @@ -3210,26 +3152,26 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: - '@types/express-serve-static-core': 4.17.41 - '@types/node': 20.10.6 + '@types/express-serve-static-core': 4.17.42 + '@types/node': 20.11.7 dev: false /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/debug@4.1.12: @@ -3240,11 +3182,11 @@ packages: /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.56.1 + '@types/eslint': 8.56.2 '@types/estree': 1.0.5 - /@types/eslint@8.56.1: - resolution: {integrity: sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==} + /@types/eslint@8.56.2: + resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -3261,10 +3203,10 @@ packages: /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/express-serve-static-core@4.17.41: - resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} + /@types/express-serve-static-core@4.17.42: + resolution: {integrity: sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 '@types/qs': 6.9.11 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -3274,7 +3216,7 @@ packages: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.17.41 + '@types/express-serve-static-core': 4.17.42 '@types/qs': 6.9.11 '@types/serve-static': 1.15.5 dev: false @@ -3306,7 +3248,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/istanbul-lib-coverage@2.0.6: @@ -3375,15 +3317,15 @@ packages: /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/node@20.10.6: - resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==} + /@types/node@20.11.7: + resolution: {integrity: sha512-GPmeN1C3XAyV5uybAf4cMLWT9fDWcmQhZVtMFu7OR32WjrqGG+Wnk2V1d0bmtUyE/Zy1QJ9BxyiTih9z8Oks8A==} dependencies: undici-types: 5.26.5 @@ -3442,7 +3384,7 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/retry@0.12.0: @@ -3452,7 +3394,7 @@ packages: /@types/sax@1.2.7: resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} dependencies: - '@types/node': 17.0.45 + '@types/node': 20.11.7 dev: false /@types/scheduler@0.16.5: @@ -3462,7 +3404,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/serve-index@1.9.4: @@ -3476,13 +3418,13 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/trusted-types@2.0.7: @@ -3498,7 +3440,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 dev: false /@types/yargs-parser@21.0.3: @@ -3633,8 +3575,8 @@ packages: dependencies: acorn: 8.11.3 - /acorn-walk@8.3.1: - resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} dev: false @@ -3700,32 +3642,32 @@ packages: uri-js: 4.4.1 dev: false - /algoliasearch-helper@3.16.1(algoliasearch@4.22.0): - resolution: {integrity: sha512-qxAHVjjmT7USVvrM8q6gZGaJlCK1fl4APfdAA7o8O6iXEc68G0xMNrzRkxoB/HmhhvyHnoteS/iMTiHiTcQQcg==} + /algoliasearch-helper@3.16.2(algoliasearch@4.22.1): + resolution: {integrity: sha512-Yl/Gu5Cq4Z5s/AJ0jR37OPI1H3+z7PHz657ibyaXgMOaWvPlZ3OACN13N+7HCLPUlB0BN+8BtmrG/CqTilowBA==} peerDependencies: algoliasearch: '>= 3.1 < 6' dependencies: '@algolia/events': 4.0.1 - algoliasearch: 4.22.0 + algoliasearch: 4.22.1 dev: false - /algoliasearch@4.22.0: - resolution: {integrity: sha512-gfceltjkwh7PxXwtkS8KVvdfK+TSNQAWUeNSxf4dA29qW5tf2EGwa8jkJujlT9jLm17cixMVoGNc+GJFO1Mxhg==} + /algoliasearch@4.22.1: + resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==} dependencies: - '@algolia/cache-browser-local-storage': 4.22.0 - '@algolia/cache-common': 4.22.0 - '@algolia/cache-in-memory': 4.22.0 - '@algolia/client-account': 4.22.0 - '@algolia/client-analytics': 4.22.0 - '@algolia/client-common': 4.22.0 - '@algolia/client-personalization': 4.22.0 - '@algolia/client-search': 4.22.0 - '@algolia/logger-common': 4.22.0 - '@algolia/logger-console': 4.22.0 - '@algolia/requester-browser-xhr': 4.22.0 - '@algolia/requester-common': 4.22.0 - '@algolia/requester-node-http': 4.22.0 - '@algolia/transporter': 4.22.0 + '@algolia/cache-browser-local-storage': 4.22.1 + '@algolia/cache-common': 4.22.1 + '@algolia/cache-in-memory': 4.22.1 + '@algolia/client-account': 4.22.1 + '@algolia/client-analytics': 4.22.1 + '@algolia/client-common': 4.22.1 + '@algolia/client-personalization': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/logger-common': 4.22.1 + '@algolia/logger-console': 4.22.1 + '@algolia/requester-browser-xhr': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/requester-node-http': 4.22.1 + '@algolia/transporter': 4.22.1 dev: false /ansi-align@3.0.1: @@ -3828,40 +3770,20 @@ packages: resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: false - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: false - /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} dev: false - /autoprefixer@10.4.16(postcss@8.4.31): - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + /autoprefixer@10.4.17(postcss@8.4.33): + resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001574 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - - /autoprefixer@10.4.16(postcss@8.4.33): - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001574 + browserslist: 4.22.3 + caniuse-lite: 1.0.30001580 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -3874,27 +3796,17 @@ packages: engines: {node: '>= 0.4'} dev: false - /axios@1.6.2: - resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} - dependencies: - follow-redirects: 1.15.4 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: false - - /babel-loader@9.1.3(@babel/core@7.23.7)(webpack@5.89.0): + /babel-loader@9.1.3(@babel/core@7.23.9)(webpack@5.90.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.89.0 + webpack: 5.90.0 dev: false /babel-plugin-dynamic-import-node@2.3.3: @@ -3903,38 +3815,38 @@ packages: object.assign: 4.1.5 dev: false - /babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.7): - resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==} + /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.9): + resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.23.7): - resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==} + /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.23.9): + resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) - core-js-compat: 3.35.0 + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) + core-js-compat: 3.35.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.7): - resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==} + /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.9): + resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) transitivePeerDependencies: - supports-color dev: false @@ -3979,8 +3891,8 @@ packages: - supports-color dev: false - /bonjour-service@1.2.0: - resolution: {integrity: sha512-xdzMA6JGckxyJzZByjEWRcfKmDxXaGXZWVftah3FkCqdlePNS9DjHSUN5zkP4oEfz/t0EXXlro88EIhzwMB4zA==} + /bonjour-service@1.2.1: + resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} dependencies: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 @@ -4038,15 +3950,15 @@ packages: fill-range: 7.0.1 dev: false - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + /browserslist@4.22.3: + resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001574 - electron-to-chromium: 1.4.623 + caniuse-lite: 1.0.30001580 + electron-to-chromium: 1.4.648 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + update-browserslist-db: 1.0.13(browserslist@4.22.3) /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -4089,7 +4001,7 @@ packages: dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.2 - set-function-length: 1.1.1 + set-function-length: 1.2.0 dev: false /callsites@3.1.0: @@ -4117,14 +4029,14 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001574 + browserslist: 4.22.3 + caniuse-lite: 1.0.30001580 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001574: - resolution: {integrity: sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==} + /caniuse-lite@1.0.30001580: + resolution: {integrity: sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA==} /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -4292,13 +4204,6 @@ packages: engines: {node: '>=10'} dev: false - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: false - /comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} @@ -4421,7 +4326,7 @@ packages: engines: {node: '>=12'} dev: false - /copy-webpack-plugin@11.0.0(webpack@5.89.0): + /copy-webpack-plugin@11.0.0(webpack@5.90.0): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -4432,23 +4337,23 @@ packages: globby: 13.2.2 normalize-path: 3.0.0 schema-utils: 4.2.0 - serialize-javascript: 6.0.1 - webpack: 5.89.0 + serialize-javascript: 6.0.2 + webpack: 5.90.0 dev: false - /core-js-compat@3.35.0: - resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} + /core-js-compat@3.35.1: + resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==} dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 dev: false - /core-js-pure@3.35.0: - resolution: {integrity: sha512-f+eRYmkou59uh7BPcyJ8MC76DiGhspj1KMxVIcF24tzP8NA9HVa1uC7BTW2tgx7E1QVCzDzsgp7kArrzhlz8Ew==} + /core-js-pure@3.35.1: + resolution: {integrity: sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==} requiresBuild: true dev: false - /core-js@3.35.0: - resolution: {integrity: sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==} + /core-js@3.35.1: + resolution: {integrity: sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==} requiresBuild: true dev: false @@ -4523,15 +4428,6 @@ packages: type-fest: 1.4.0 dev: false - /css-declaration-sorter@6.4.1(postcss@8.4.31): - resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} - engines: {node: ^10 || ^12 || >=14} - peerDependencies: - postcss: ^8.0.9 - dependencies: - postcss: 8.4.31 - dev: false - /css-declaration-sorter@6.4.1(postcss@8.4.33): resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} @@ -4541,8 +4437,8 @@ packages: postcss: 8.4.33 dev: false - /css-loader@6.8.1(webpack@5.89.0): - resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} + /css-loader@6.9.1(webpack@5.90.0): + resolution: {integrity: sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -4550,15 +4446,15 @@ packages: icss-utils: 5.1.0(postcss@8.4.33) postcss: 8.4.33 postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.33) - postcss-modules-scope: 3.1.0(postcss@8.4.33) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.33) + postcss-modules-scope: 3.1.1(postcss@8.4.33) postcss-modules-values: 4.0.0(postcss@8.4.33) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.89.0 + webpack: 5.90.0 dev: false - /css-minimizer-webpack-plugin@4.2.2(clean-css@5.3.3)(webpack@5.89.0): + /css-minimizer-webpack-plugin@4.2.2(clean-css@5.3.3)(webpack@5.90.0): resolution: {integrity: sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -4588,9 +4484,9 @@ packages: jest-worker: 29.7.0 postcss: 8.4.33 schema-utils: 4.2.0 - serialize-javascript: 6.0.1 + serialize-javascript: 6.0.2 source-map: 0.6.1 - webpack: 5.89.0 + webpack: 5.90.0 dev: false /css-select@4.3.0: @@ -4632,28 +4528,13 @@ packages: hasBin: true dev: false - /cssnano-preset-advanced@5.3.10(postcss@8.4.31): - resolution: {integrity: sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - autoprefixer: 10.4.16(postcss@8.4.31) - cssnano-preset-default: 5.2.14(postcss@8.4.31) - postcss: 8.4.31 - postcss-discard-unused: 5.1.0(postcss@8.4.31) - postcss-merge-idents: 5.1.1(postcss@8.4.31) - postcss-reduce-idents: 5.2.0(postcss@8.4.31) - postcss-zindex: 5.1.0(postcss@8.4.31) - dev: false - /cssnano-preset-advanced@5.3.10(postcss@8.4.33): resolution: {integrity: sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - autoprefixer: 10.4.16(postcss@8.4.33) + autoprefixer: 10.4.17(postcss@8.4.33) cssnano-preset-default: 5.2.14(postcss@8.4.33) postcss: 8.4.33 postcss-discard-unused: 5.1.0(postcss@8.4.33) @@ -4662,44 +4543,6 @@ packages: postcss-zindex: 5.1.0(postcss@8.4.33) dev: false - /cssnano-preset-default@5.2.14(postcss@8.4.31): - resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - css-declaration-sorter: 6.4.1(postcss@8.4.31) - cssnano-utils: 3.1.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-calc: 8.2.4(postcss@8.4.31) - postcss-colormin: 5.3.1(postcss@8.4.31) - postcss-convert-values: 5.1.3(postcss@8.4.31) - postcss-discard-comments: 5.1.2(postcss@8.4.31) - postcss-discard-duplicates: 5.1.0(postcss@8.4.31) - postcss-discard-empty: 5.1.1(postcss@8.4.31) - postcss-discard-overridden: 5.1.0(postcss@8.4.31) - postcss-merge-longhand: 5.1.7(postcss@8.4.31) - postcss-merge-rules: 5.1.4(postcss@8.4.31) - postcss-minify-font-values: 5.1.0(postcss@8.4.31) - postcss-minify-gradients: 5.1.1(postcss@8.4.31) - postcss-minify-params: 5.1.4(postcss@8.4.31) - postcss-minify-selectors: 5.2.1(postcss@8.4.31) - postcss-normalize-charset: 5.1.0(postcss@8.4.31) - postcss-normalize-display-values: 5.1.0(postcss@8.4.31) - postcss-normalize-positions: 5.1.1(postcss@8.4.31) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.31) - postcss-normalize-string: 5.1.0(postcss@8.4.31) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.31) - postcss-normalize-unicode: 5.1.1(postcss@8.4.31) - postcss-normalize-url: 5.1.0(postcss@8.4.31) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.31) - postcss-ordered-values: 5.1.3(postcss@8.4.31) - postcss-reduce-initial: 5.1.2(postcss@8.4.31) - postcss-reduce-transforms: 5.1.0(postcss@8.4.31) - postcss-svgo: 5.1.0(postcss@8.4.31) - postcss-unique-selectors: 5.1.1(postcss@8.4.31) - dev: false - /cssnano-preset-default@5.2.14(postcss@8.4.33): resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} engines: {node: ^10 || ^12 || >=14.0} @@ -4738,15 +4581,6 @@ packages: postcss-unique-selectors: 5.1.1(postcss@8.4.33) dev: false - /cssnano-utils@3.1.0(postcss@8.4.31): - resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: false - /cssnano-utils@3.1.0(postcss@8.4.33): resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} engines: {node: ^10 || ^12 || >=14.0} @@ -4756,18 +4590,6 @@ packages: postcss: 8.4.33 dev: false - /cssnano@5.1.15(postcss@8.4.31): - resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-preset-default: 5.2.14(postcss@8.4.31) - lilconfig: 2.1.0 - postcss: 8.4.31 - yaml: 1.10.2 - dev: false - /cssnano@5.1.15(postcss@8.4.33): resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} engines: {node: ^10 || ^12 || >=14.0} @@ -4887,11 +4709,6 @@ packages: slash: 3.0.0 dev: false - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: false - /depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} @@ -5045,8 +4862,8 @@ packages: jake: 10.8.7 dev: false - /electron-to-chromium@1.4.623: - resolution: {integrity: sha512-lKoz10iCYlP1WtRYdh5MvocQPWVRoI7ysp6qf18bmeBgR8abE6+I2CsfyNKztRDZvhdWc+krKT6wS7Neg8sw3A==} + /electron-to-chromium@1.4.648: + resolution: {integrity: sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==} /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5128,8 +4945,8 @@ packages: object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.2 string.prototype.trim: 1.2.8 string.prototype.trimend: 1.0.7 string.prototype.trimstart: 1.0.7 @@ -5282,7 +5099,7 @@ packages: resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} engines: {node: '>= 0.8'} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 require-like: 0.1.2 dev: false @@ -5381,8 +5198,8 @@ packages: punycode: 1.4.1 dev: false - /fastq@1.16.0: - resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + /fastq@1.17.0: + resolution: {integrity: sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==} dependencies: reusify: 1.0.4 dev: false @@ -5407,7 +5224,7 @@ packages: xml-js: 1.6.11 dev: false - /file-loader@6.2.0(webpack@5.89.0): + /file-loader@6.2.0(webpack@5.90.0): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -5415,7 +5232,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0 + webpack: 5.90.0 dev: false /filelist@1.0.4: @@ -5486,8 +5303,8 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - /follow-redirects@1.15.4: - resolution: {integrity: sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==} + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -5502,7 +5319,7 @@ packages: is-callable: 1.2.7 dev: false - /fork-ts-checker-webpack-plugin@6.5.3(typescript@5.3.3)(webpack@5.89.0): + /fork-ts-checker-webpack-plugin@6.5.3(typescript@5.3.3)(webpack@5.90.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -5530,7 +5347,7 @@ packages: semver: 7.5.4 tapable: 1.1.3 typescript: 5.3.3 - webpack: 5.89.0 + webpack: 5.90.0 dev: false /form-data-encoder@2.1.4: @@ -5538,15 +5355,6 @@ packages: engines: {node: '>= 14.17'} dev: false - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: false - /format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} @@ -5846,7 +5654,7 @@ packages: '@types/unist': 3.0.2 devlop: 1.1.0 hastscript: 8.0.0 - property-information: 6.4.0 + property-information: 6.4.1 vfile: 6.0.1 vfile-location: 5.0.2 web-namespaces: 2.0.1 @@ -5858,8 +5666,8 @@ packages: '@types/hast': 3.0.3 dev: false - /hast-util-raw@9.0.1: - resolution: {integrity: sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==} + /hast-util-raw@9.0.2: + resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} dependencies: '@types/hast': 3.0.3 '@types/unist': 3.0.2 @@ -5867,7 +5675,7 @@ packages: hast-util-from-parse5: 8.0.1 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.0.2 + mdast-util-to-hast: 13.1.0 parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -5890,7 +5698,7 @@ packages: mdast-util-mdx-expression: 2.0.0 mdast-util-mdx-jsx: 3.0.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.4.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 style-to-object: 0.4.4 unist-util-position: 5.0.0 @@ -5911,7 +5719,7 @@ packages: mdast-util-mdx-expression: 2.0.0 mdast-util-mdx-jsx: 3.0.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.4.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 style-to-object: 1.0.5 unist-util-position: 5.0.0 @@ -5925,7 +5733,7 @@ packages: '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 6.4.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -5942,7 +5750,7 @@ packages: '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 6.4.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 dev: false @@ -5954,7 +5762,7 @@ packages: /history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.3.1 @@ -5996,7 +5804,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.26.0 + terser: 5.27.0 dev: false /html-minifier-terser@7.2.0: @@ -6010,7 +5818,7 @@ packages: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.26.0 + terser: 5.27.0 dev: false /html-tags@3.3.1: @@ -6022,21 +5830,7 @@ packages: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} dev: false - /html-webpack-plugin@5.5.3(webpack@5.89.0): - resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} - engines: {node: '>=10.13.0'} - peerDependencies: - webpack: ^5.20.0 - dependencies: - '@types/html-minifier-terser': 6.1.0 - html-minifier-terser: 6.1.0 - lodash: 4.17.21 - pretty-error: 4.0.0 - tapable: 2.2.1 - webpack: 5.89.0 - dev: false - - /html-webpack-plugin@5.6.0(webpack@5.89.0): + /html-webpack-plugin@5.6.0(webpack@5.90.0): resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: @@ -6053,7 +5847,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.89.0 + webpack: 5.90.0 dev: false /htmlparser2@6.1.0: @@ -6131,7 +5925,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.4 + follow-redirects: 1.15.5 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -6562,7 +6356,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.7 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6573,7 +6367,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -6582,7 +6376,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6590,7 +6384,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.7 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6601,8 +6395,8 @@ packages: hasBin: true dev: false - /joi@17.11.0: - resolution: {integrity: sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==} + /joi@17.12.0: + resolution: {integrity: sha512-HSLsmSmXz+PV9PYoi3p7cgIbj06WnEBNT28n+bbBNcPZXZFqCzzvGqpTBPujx/Z0nh1+KNQPDrNgdmQ8dq0qYw==} dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -7028,8 +6822,8 @@ packages: '@types/mdast': 4.0.3 unist-util-is: 6.0.0 - /mdast-util-to-hast@13.0.2: - resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==} + /mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} dependencies: '@types/hast': 3.0.3 '@types/mdast': 4.0.3 @@ -7039,6 +6833,7 @@ packages: trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 + vfile: 6.0.1 /mdast-util-to-markdown@2.1.0: resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} @@ -7511,14 +7306,14 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false - /mini-css-extract-plugin@2.7.6(webpack@5.89.0): - resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} + /mini-css-extract-plugin@2.7.7(webpack@5.90.0): + resolution: {integrity: sha512-+0n11YGyRavUR3IlaOzJ0/4Il1avMvJ1VJfhWfCn24ITQXhRr1gghbhhrda6tgtNcpZaWKdSuwKq20Jb7fnlyw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.89.0 + webpack: 5.90.0 dev: false /minimalistic-assert@1.0.1: @@ -7947,16 +7742,6 @@ packages: find-up: 3.0.0 dev: false - /postcss-calc@8.2.4(postcss@8.4.31): - resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} - peerDependencies: - postcss: ^8.2.2 - dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.15 - postcss-value-parser: 4.2.0 - dev: false - /postcss-calc@8.2.4(postcss@8.4.33): resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} peerDependencies: @@ -7967,63 +7752,30 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@5.3.1(postcss@8.4.31): - resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.22.2 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-colormin@5.3.1(postcss@8.4.33): resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@5.1.3(postcss@8.4.31): - resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.22.2 - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-convert-values@5.1.3(postcss@8.4.33): resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-discard-comments@5.1.2(postcss@8.4.31): - resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: false - /postcss-discard-comments@5.1.2(postcss@8.4.33): resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -8033,15 +7785,6 @@ packages: postcss: 8.4.33 dev: false - /postcss-discard-duplicates@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: false - /postcss-discard-duplicates@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} @@ -8051,15 +7794,6 @@ packages: postcss: 8.4.33 dev: false - /postcss-discard-empty@5.1.1(postcss@8.4.31): - resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: false - /postcss-discard-empty@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} engines: {node: ^10 || ^12 || >=14.0} @@ -8069,15 +7803,6 @@ packages: postcss: 8.4.33 dev: false - /postcss-discard-overridden@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: false - /postcss-discard-overridden@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} engines: {node: ^10 || ^12 || >=14.0} @@ -8087,16 +7812,6 @@ packages: postcss: 8.4.33 dev: false - /postcss-discard-unused@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.15 - dev: false - /postcss-discard-unused@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==} engines: {node: ^10 || ^12 || >=14.0} @@ -8107,23 +7822,7 @@ packages: postcss-selector-parser: 6.0.15 dev: false - /postcss-loader@7.3.3(postcss@8.4.31)(typescript@5.3.3)(webpack@5.89.0): - resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - dependencies: - cosmiconfig: 8.3.6(typescript@5.3.3) - jiti: 1.21.0 - postcss: 8.4.31 - semver: 7.5.4 - webpack: 5.89.0 - transitivePeerDependencies: - - typescript - dev: false - - /postcss-loader@7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.89.0): + /postcss-loader@7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.90.0): resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -8134,22 +7833,11 @@ packages: jiti: 1.21.0 postcss: 8.4.33 semver: 7.5.4 - webpack: 5.89.0 + webpack: 5.90.0 transitivePeerDependencies: - typescript dev: false - /postcss-merge-idents@5.1.1(postcss@8.4.31): - resolution: {integrity: sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-utils: 3.1.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-merge-idents@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==} engines: {node: ^10 || ^12 || >=14.0} @@ -8161,17 +7849,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-merge-longhand@5.1.7(postcss@8.4.31): - resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.4.31) - dev: false - /postcss-merge-longhand@5.1.7(postcss@8.4.33): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -8183,42 +7860,19 @@ packages: stylehacks: 5.1.1(postcss@8.4.33) dev: false - /postcss-merge-rules@5.1.4(postcss@8.4.31): - resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.22.2 - caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-selector-parser: 6.0.15 - dev: false - /postcss-merge-rules@5.1.4(postcss@8.4.33): resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.4.33) postcss: 8.4.33 postcss-selector-parser: 6.0.15 dev: false - /postcss-minify-font-values@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-minify-font-values@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} engines: {node: ^10 || ^12 || >=14.0} @@ -8229,18 +7883,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@5.1.1(postcss@8.4.31): - resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-minify-gradients@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} engines: {node: ^10 || ^12 || >=14.0} @@ -8253,40 +7895,18 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@5.1.4(postcss@8.4.31): - resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.22.2 - cssnano-utils: 3.1.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-minify-params@5.1.4(postcss@8.4.33): resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 cssnano-utils: 3.1.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@5.2.1(postcss@8.4.31): - resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.15 - dev: false - /postcss-minify-selectors@5.2.1(postcss@8.4.33): resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} engines: {node: ^10 || ^12 || >=14.0} @@ -8306,8 +7926,8 @@ packages: postcss: 8.4.33 dev: false - /postcss-modules-local-by-default@4.0.3(postcss@8.4.33): - resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + /postcss-modules-local-by-default@4.0.4(postcss@8.4.33): + resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 @@ -8318,8 +7938,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.1.0(postcss@8.4.33): - resolution: {integrity: sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg==} + /postcss-modules-scope@3.1.1(postcss@8.4.33): + resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 @@ -8338,15 +7958,6 @@ packages: postcss: 8.4.33 dev: false - /postcss-normalize-charset@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: false - /postcss-normalize-charset@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} engines: {node: ^10 || ^12 || >=14.0} @@ -8356,16 +7967,6 @@ packages: postcss: 8.4.33 dev: false - /postcss-normalize-display-values@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-display-values@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} engines: {node: ^10 || ^12 || >=14.0} @@ -8376,16 +7977,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@5.1.1(postcss@8.4.31): - resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-positions@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} engines: {node: ^10 || ^12 || >=14.0} @@ -8396,16 +7987,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.31): - resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} engines: {node: ^10 || ^12 || >=14.0} @@ -8416,16 +7997,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-string@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} engines: {node: ^10 || ^12 || >=14.0} @@ -8436,16 +8007,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} engines: {node: ^10 || ^12 || >=14.0} @@ -8456,39 +8017,17 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@5.1.1(postcss@8.4.31): - resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.22.2 - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-unicode@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - normalize-url: 6.1.0 - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-url@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} engines: {node: ^10 || ^12 || >=14.0} @@ -8500,16 +8039,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@5.1.1(postcss@8.4.31): - resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-whitespace@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} engines: {node: ^10 || ^12 || >=14.0} @@ -8520,17 +8049,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-ordered-values@5.1.3(postcss@8.4.31): - resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-utils: 3.1.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-ordered-values@5.1.3(postcss@8.4.33): resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -8542,16 +8060,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-idents@5.2.0(postcss@8.4.31): - resolution: {integrity: sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-reduce-idents@5.2.0(postcss@8.4.33): resolution: {integrity: sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==} engines: {node: ^10 || ^12 || >=14.0} @@ -8562,38 +8070,17 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@5.1.2(postcss@8.4.31): - resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.22.2 - caniuse-api: 3.0.0 - postcss: 8.4.31 - dev: false - /postcss-reduce-initial@5.1.2(postcss@8.4.33): resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 caniuse-api: 3.0.0 postcss: 8.4.33 dev: false - /postcss-reduce-transforms@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: false - /postcss-reduce-transforms@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -8612,16 +8099,6 @@ packages: util-deprecate: 1.0.2 dev: false - /postcss-sort-media-queries@4.4.1(postcss@8.4.31): - resolution: {integrity: sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==} - engines: {node: '>=10.0.0'} - peerDependencies: - postcss: ^8.4.16 - dependencies: - postcss: 8.4.31 - sort-css-media-queries: 2.1.0 - dev: false - /postcss-sort-media-queries@4.4.1(postcss@8.4.33): resolution: {integrity: sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==} engines: {node: '>=10.0.0'} @@ -8632,17 +8109,6 @@ packages: sort-css-media-queries: 2.1.0 dev: false - /postcss-svgo@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - svgo: 2.8.0 - dev: false - /postcss-svgo@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} @@ -8654,16 +8120,6 @@ packages: svgo: 2.8.0 dev: false - /postcss-unique-selectors@5.1.1(postcss@8.4.31): - resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.15 - dev: false - /postcss-unique-selectors@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} engines: {node: ^10 || ^12 || >=14.0} @@ -8678,15 +8134,6 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: false - /postcss-zindex@5.1.0(postcss@8.4.31): - resolution: {integrity: sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: false - /postcss-zindex@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==} engines: {node: ^10 || ^12 || >=14.0} @@ -8696,15 +8143,6 @@ packages: postcss: 8.4.33 dev: false - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - /postcss@8.4.33: resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} @@ -8765,8 +8203,8 @@ packages: object-assign: 4.1.1 react-is: 16.13.1 - /property-information@6.4.0: - resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} + /property-information@6.4.1: + resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} /proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} @@ -8780,10 +8218,6 @@ packages: ipaddr.js: 1.9.1 dev: false - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false - /punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -8861,7 +8295,7 @@ packages: strip-json-comments: 2.0.1 dev: false - /react-dev-utils@12.0.1(typescript@5.3.3)(webpack@5.89.0): + /react-dev-utils@12.0.1(typescript@5.3.3)(webpack@5.90.0): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -8873,14 +8307,14 @@ packages: dependencies: '@babel/code-frame': 7.23.5 address: 1.2.2 - browserslist: 4.22.2 + browserslist: 4.22.3 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.3.3)(webpack@5.89.0) + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.3.3)(webpack@5.90.0) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -8896,7 +8330,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 5.3.3 - webpack: 5.89.0 + webpack: 5.90.0 transitivePeerDependencies: - eslint - supports-color @@ -8925,7 +8359,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 invariant: 2.2.4 prop-types: 15.8.1 react: 18.2.0 @@ -8957,16 +8391,16 @@ packages: react: 18.2.0 dev: false - /react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.89.0): + /react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.90.0): resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} engines: {node: '>=10.13.0'} peerDependencies: react-loadable: '*' webpack: '>=4.41.1 || 5.x' dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) - webpack: 5.89.0 + webpack: 5.90.0 dev: false /react-router-config@5.1.1(react-router@5.3.4)(react@18.2.0): @@ -8975,7 +8409,7 @@ packages: react: '>=15' react-router: '>=5' dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 react: 18.2.0 react-router: 5.3.4(react@18.2.0) dev: false @@ -8985,7 +8419,7 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -9000,7 +8434,7 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 @@ -9081,7 +8515,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 dev: false /regexp.prototype.flags@1.5.1: @@ -9130,7 +8564,7 @@ packages: resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} dependencies: '@types/hast': 3.0.3 - hast-util-raw: 9.0.1 + hast-util-raw: 9.0.2 vfile: 6.0.1 dev: false @@ -9203,12 +8637,12 @@ packages: transitivePeerDependencies: - supports-color - /remark-rehype@11.0.0: - resolution: {integrity: sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==} + /remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} dependencies: '@types/hast': 3.0.3 '@types/mdast': 4.0.3 - mdast-util-to-hast: 13.0.2 + mdast-util-to-hast: 13.1.0 unified: 11.0.4 vfile: 6.0.1 @@ -9299,7 +8733,7 @@ packages: jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.26.0 + terser: 5.27.0 dev: false /rollup@2.79.1: @@ -9331,14 +8765,8 @@ packages: queue-microtask: 1.2.3 dev: false - /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - dependencies: - tslib: 2.6.2 - dev: false - - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + /safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.5 @@ -9354,8 +8782,9 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-regex-test@1.0.2: + resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 @@ -9473,8 +8902,8 @@ packages: randombytes: 2.1.0 dev: false - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 @@ -9523,11 +8952,12 @@ packages: - supports-color dev: false - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + /set-function-length@1.2.0: + resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.1 + function-bind: 1.1.2 get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.1 @@ -9879,24 +9309,13 @@ packages: dependencies: inline-style-parser: 0.2.2 - /stylehacks@5.1.1(postcss@8.4.31): - resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.22.2 - postcss: 8.4.31 - postcss-selector-parser: 6.0.15 - dev: false - /stylehacks@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 postcss: 8.4.33 postcss-selector-parser: 6.0.15 dev: false @@ -9968,7 +9387,7 @@ packages: unique-string: 2.0.0 dev: false - /terser-webpack-plugin@5.3.10(webpack@5.89.0): + /terser-webpack-plugin@5.3.10(webpack@5.90.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -9984,15 +9403,15 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 jest-worker: 27.5.1 schema-utils: 3.3.0 - serialize-javascript: 6.0.1 - terser: 5.26.0 - webpack: 5.89.0 + serialize-javascript: 6.0.2 + terser: 5.27.0 + webpack: 5.90.0 - /terser@5.26.0: - resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==} + /terser@5.27.0: + resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} engines: {node: '>=10'} hasBin: true dependencies: @@ -10254,13 +9673,13 @@ packages: engines: {node: '>=4'} dev: false - /update-browserslist-db@1.0.13(browserslist@4.22.2): + /update-browserslist-db@1.0.13(browserslist@4.22.3): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 escalade: 3.1.1 picocolors: 1.0.0 @@ -10289,7 +9708,7 @@ packages: dependencies: punycode: 2.3.1 - /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.89.0): + /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.90.0): resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10299,11 +9718,11 @@ packages: file-loader: optional: true dependencies: - file-loader: 6.2.0(webpack@5.89.0) + file-loader: 6.2.0(webpack@5.90.0) loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.89.0 + webpack: 5.90.0 dev: false /util-deprecate@1.0.2: @@ -10314,8 +9733,8 @@ packages: resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} dev: false - /utility-types@3.10.0: - resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==} + /utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} engines: {node: '>= 4'} /utils-merge@1.0.1: @@ -10357,20 +9776,6 @@ packages: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - /wait-on@7.2.0: - resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} - engines: {node: '>=12.0.0'} - hasBin: true - dependencies: - axios: 1.6.2 - joi: 17.11.0 - lodash: 4.17.21 - minimist: 1.2.8 - rxjs: 7.8.1 - transitivePeerDependencies: - - debug - dev: false - /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} @@ -10403,7 +9808,7 @@ packages: dependencies: '@discoveryjs/json-ext': 0.5.7 acorn: 8.11.3 - acorn-walk: 8.3.1 + acorn-walk: 8.3.2 commander: 7.2.0 debounce: 1.2.1 escape-string-regexp: 4.0.0 @@ -10419,7 +9824,7 @@ packages: - utf-8-validate dev: false - /webpack-dev-middleware@5.3.3(webpack@5.89.0): + /webpack-dev-middleware@5.3.3(webpack@5.90.0): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -10430,10 +9835,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.89.0 + webpack: 5.90.0 dev: false - /webpack-dev-server@4.15.1(webpack@5.89.0): + /webpack-dev-server@4.15.1(webpack@5.90.0): resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} engines: {node: '>= 12.13.0'} hasBin: true @@ -10454,7 +9859,7 @@ packages: '@types/sockjs': 0.3.36 '@types/ws': 8.5.10 ansi-html-community: 0.0.8 - bonjour-service: 1.2.0 + bonjour-service: 1.2.1 chokidar: 3.5.3 colorette: 2.0.20 compression: 1.7.4 @@ -10474,8 +9879,8 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.89.0 - webpack-dev-middleware: 5.3.3(webpack@5.89.0) + webpack: 5.90.0 + webpack-dev-middleware: 5.3.3(webpack@5.90.0) ws: 8.16.0 transitivePeerDependencies: - bufferutil @@ -10496,8 +9901,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - /webpack@5.89.0: - resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} + /webpack@5.90.0: + resolution: {integrity: sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -10513,7 +9918,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.2 + browserslist: 4.22.3 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.4.1 @@ -10527,7 +9932,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(webpack@5.90.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -10535,7 +9940,7 @@ packages: - esbuild - uglify-js - /webpackbar@5.0.2(webpack@5.89.0): + /webpackbar@5.0.2(webpack@5.90.0): resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==} engines: {node: '>=12'} peerDependencies: @@ -10545,7 +9950,7 @@ packages: consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.89.0 + webpack: 5.90.0 dev: false /websocket-driver@0.7.4: @@ -10641,10 +10046,10 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.23.7 - '@babel/preset-env': 7.23.7(@babel/core@7.23.7) - '@babel/runtime': 7.23.7 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.7)(rollup@2.79.1) + '@babel/core': 7.23.9 + '@babel/preset-env': 7.23.9(@babel/core@7.23.9) + '@babel/runtime': 7.23.9 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.9)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 diff --git a/website/src/components/InstanceList.tsx b/website/src/components/InstanceList.tsx index 001b5829df..70e174a18d 100644 --- a/website/src/components/InstanceList.tsx +++ b/website/src/components/InstanceList.tsx @@ -56,6 +56,21 @@ export default function InstanceList(): JSX.Element { location: '🇳🇱', maintainer: 'Kai', maintainerUrl: 'https://mubibai.com', + }, { + url: 'https://rsshub.ktachibana.party', + location: '🇺🇸', + maintainer: 'KTachibanaM', + maintainerUrl: 'https://github.com/KTachibanaM', + }, { + url: 'https://rsshub.woodland.cafe', + location: '🇩🇪', + maintainer: 'untitaker', + maintainerUrl: 'https://github.com/untitaker', + }, { + url: 'https://rsshub.aierliz.xyz', + location: '🇺🇸', + maintainer: '麦当狗', + maintainerUrl: 'https://t.me/rsshub/281479', } ]