diff --git a/lib/config.js b/lib/config.js
index 585babd6b..81f9b2c6c 100644
--- a/lib/config.js
+++ b/lib/config.js
@@ -76,6 +76,8 @@ const calculateValue = () => {
},
proxyStrategy: envs.PROXY_STRATEGY || 'all', // all / on_retry
reverseProxyUrl: envs.REVERSE_PROXY_URL,
+ pacUri: envs.PAC_URI,
+ pacScript: envs.PAC_SCRIPT,
// auth
authentication: {
name: envs.HTTP_BASIC_AUTH_NAME || 'usernam3',
@@ -121,6 +123,7 @@ const calculateValue = () => {
// Route-specific Configurations
bilibili: {
cookies: bilibili_cookies,
+ dmImgList: envs.BILIBILI_DM_IMG_LIST,
},
bitbucket: {
username: envs.BITBUCKET_USERNAME,
diff --git a/lib/router.js b/lib/router.js
index 0c879ba9e..d68905006 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -905,7 +905,7 @@ router.get('/4gamers/tag/:tag', lazyloadRouteHandler('./routes/4gamers/tag'));
router.get('/4gamers/topic/:topic', lazyloadRouteHandler('./routes/4gamers/topic'));
// 大麦网
-router.get('/damai/activity/:city/:category/:subcategory/:keyword?', lazyloadRouteHandler('./routes/damai/activity'));
+// router.get('/damai/activity/:city/:category/:subcategory/:keyword?', lazyloadRouteHandler('./routes/damai/activity'));
// 桂林电子科技大学新闻资讯
router.get('/guet/xwzx/:type?', lazyloadRouteHandler('./routes/guet/news'));
diff --git a/lib/routes/damai/activity.js b/lib/routes/damai/activity.js
deleted file mode 100644
index f20245c46..000000000
--- a/lib/routes/damai/activity.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const got = require('@/utils/got');
-
-module.exports = async (ctx) => {
- const city = ctx.params.city === '全部' ? '' : ctx.params.city;
- const category = ctx.params.category === '全部' ? '' : ctx.params.category;
- const subcategory = ctx.params.subcategory === '全部' ? '' : ctx.params.subcategory;
- const keyword = ctx.params.keyword ? ctx.params.keyword : '';
-
- const url = `https://search.damai.cn/searchajax.html?keyword=${encodeURIComponent(keyword)}&cty=${encodeURIComponent(city)}&ctl=${encodeURIComponent(category)}&sctl=${encodeURIComponent(
- subcategory
- )}&tsg=0&st=&et=&order=3&pageSize=30&currPage=1&tn=`;
-
- const response = await got.get(url);
- const data = response.data;
- const list = data.pageData.resultData;
-
- ctx.state.data = {
- title: `大麦网票务 - ${city ? city : '全国'} - ${category ? category : '全部分类'}${subcategory ? ' - ' + subcategory : ''}${keyword ? ' - ' + keyword : ''}`,
- link: 'https://search.damai.cn/search.htm',
- item: list.map((item) => ({
- title: item.nameNoHtml,
- author: item.actors ? item.actors.replace(/<[^<>]*>/, '') : '大麦网',
- description: `
${item.description}
地点:${item.venuecity} | ${item.venue}
时间:${item.showtime}
票价:${item.price_str}
`,
- pubDate: new Date(),
- link: `https://detail.damai.cn/item.htm?id=${item.projectid}`,
- })),
- };
-};
diff --git a/lib/utils/pac-proxy.js b/lib/utils/pac-proxy.js
new file mode 100644
index 000000000..ca5926773
--- /dev/null
+++ b/lib/utils/pac-proxy.js
@@ -0,0 +1,75 @@
+const config = require('@/config').value;
+const logger = require('./logger');
+
+const possibleProtocol = ['http', 'https', 'ftp', 'file', 'data'];
+
+const pacProxy = (pacUri, pacScript, proxyObj) => {
+ let pacUrlHandler = null;
+
+ // Validate PAC_URI / PAC_SCRIPT
+ if (pacScript) {
+ if (typeof pacScript === 'string') {
+ pacUri = 'data:text/javascript;charset=utf-8,' + encodeURIComponent(pacScript);
+ } else {
+ logger.error('Invalid PAC_SCRIPT, use PAC_URI instead');
+ }
+ }
+ if (pacUri && typeof pacUri === 'string') {
+ try {
+ pacUrlHandler = new URL(pacUri);
+ } catch (e) {
+ pacUri = null;
+ pacUrlHandler = null;
+ logger.error(`Parse PAC_URI error: ${e.stack}`);
+ }
+ } else {
+ pacUri = null;
+ }
+
+ // Check if PAC_URI has the right protocol
+ if (pacUri && !possibleProtocol.includes(pacUrlHandler?.protocol?.replace(':', ''))) {
+ logger.error(`Unsupported PAC protocol: ${pacUrlHandler?.protocol?.replace(':', '')}, expect one of ${possibleProtocol.join(', ')}`);
+ pacUri = null;
+ pacUrlHandler = null;
+ }
+
+ // Validate proxyObj
+ if (pacUrlHandler) {
+ proxyObj.host = pacUrlHandler.hostname;
+ proxyObj.port = parseInt(pacUrlHandler.port) || undefined;
+ proxyObj.protocol = pacUrlHandler.protocol.replace(':', '');
+ } else {
+ proxyObj.protocol = proxyObj.host = proxyObj.port = proxyObj.auth = undefined;
+ }
+
+ // Validate PROXY_AUTH
+ if (proxyObj.auth && pacUrlHandler) {
+ let promptProxyUri = false;
+ if (pacUrlHandler.username || pacUrlHandler.password) {
+ logger.warn('PAC_URI contains username and/or password, ignoring PROXY_AUTH');
+ proxyObj.auth = undefined;
+ } else if (!['http:', 'https:'].includes(pacUrlHandler.protocol)) {
+ logger.warn(`PROXY_AUTH is only supported by HTTP(S) proxies, but got ${pacUrlHandler.protocol}, ignoring`);
+ proxyObj.auth = undefined;
+ promptProxyUri = true;
+ } else {
+ logger.info('PROXY_AUTH is set and will be used for requests from Node.js. However, requests from puppeteer will not use it');
+ promptProxyUri = true;
+ }
+ if (promptProxyUri) {
+ logger.info('To get rid of this, set PAC_URI like protocol://username:password@host:port and clear PROXY_{AUTH,PROTOCOL,HOST,PORT}');
+ }
+ }
+
+ // Compatible with unify-proxy
+ return {
+ proxyUri: pacUri,
+ proxyObj,
+ proxyUrlHandler: pacUrlHandler,
+ };
+};
+
+module.exports = {
+ pacProxy,
+ ...pacProxy(config.pacUri, config.pacScript, config.proxy),
+};
diff --git a/lib/utils/request-wrapper.js b/lib/utils/request-wrapper.js
index 6120df3a4..c50ac0d78 100644
--- a/lib/utils/request-wrapper.js
+++ b/lib/utils/request-wrapper.js
@@ -1,11 +1,15 @@
const config = require('@/config').value;
-const { proxyUri, proxyObj, proxyUrlHandler } = require('./unify-proxy');
+const proxyIsPAC = config.pacUri || config.pacScript;
+const { proxyUri, proxyObj, proxyUrlHandler } = proxyIsPAC ? require('./pac-proxy') : require('./unify-proxy');
const logger = require('./logger');
const http = require('http');
const https = require('https');
let agent = null;
-if (proxyUri) {
+if (proxyIsPAC) {
+ const { PacProxyAgent } = require('pac-proxy-agent');
+ agent = new PacProxyAgent(`pac+${proxyUri}`);
+} else if (proxyUri) {
if (proxyUri.startsWith('http')) {
const { HttpsProxyAgent } = require('https-proxy-agent');
agent = new HttpsProxyAgent(proxyUri);
diff --git a/lib/v2/1lou/index.js b/lib/v2/1lou/index.js
new file mode 100644
index 000000000..37a6a0b5b
--- /dev/null
+++ b/lib/v2/1lou/index.js
@@ -0,0 +1,53 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const timezone = require('@/utils/timezone');
+const { parseDate } = require('@/utils/parse-date');
+
+module.exports = async (ctx) => {
+ const path = ctx.params.path ?? '';
+ const rootUrl = `https://www.1lou.me`;
+ const currentUrl = `${rootUrl}/${path}`;
+ const response = await got({
+ method: 'get',
+ url: currentUrl,
+ });
+ const $ = cheerio.load(response.data);
+
+ let items = $('li.media.thread.tap:not(.hidden-sm)')
+ .toArray()
+ .map((item) => {
+ const title = $(item).find('.subject.break-all').children('a').first();
+ const author = $(item).find('.username.text-grey.mr-1').text();
+ const pubDate = $(item).find('.date.text-grey').text();
+ return {
+ title: title.text(),
+ link: `${rootUrl}/${title.attr('href')}`,
+ author,
+ pubDate: timezone(parseDate(pubDate), +8),
+ };
+ });
+ items = await Promise.all(
+ items.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ const detailResponse = await got({
+ method: 'get',
+ url: item.link,
+ });
+ const content = cheerio.load(detailResponse.data);
+ item.description = content('.message.break-all').html();
+ const torrents = content('.attachlist').find('a');
+ if (torrents.length > 0) {
+ item.enclosure_type = 'application/x-bittorrent';
+ item.enclosure_url = `${rootUrl}/${torrents.first().attr('href')}`;
+ }
+
+ return item;
+ })
+ )
+ );
+ ctx.state.data = {
+ title: '1Lou',
+ link: currentUrl,
+ item: items,
+ };
+};
diff --git a/lib/v2/1lou/maintainer.js b/lib/v2/1lou/maintainer.js
new file mode 100644
index 000000000..bdd3fde89
--- /dev/null
+++ b/lib/v2/1lou/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/:path?': ['falling'],
+};
diff --git a/lib/v2/1lou/radar.js b/lib/v2/1lou/radar.js
new file mode 100644
index 000000000..9f54bbb51
--- /dev/null
+++ b/lib/v2/1lou/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ '1lou.me': {
+ _name: 'BT之家 1LOU站',
+ '.': [
+ {
+ title: '搜索',
+ docs: 'https://docs.rsshub.app/routes/multimedia#bt-zhi-jia-1lou-zhan',
+ source: ['/:path'],
+ target: '/1lou/:path',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/1lou/router.js b/lib/v2/1lou/router.js
new file mode 100644
index 000000000..4317c1e82
--- /dev/null
+++ b/lib/v2/1lou/router.js
@@ -0,0 +1,3 @@
+module.exports = function (router) {
+ router.get('/:path?', require('./index'));
+};
diff --git a/lib/v2/acpaa/index.js b/lib/v2/acpaa/index.js
new file mode 100644
index 000000000..6a96add20
--- /dev/null
+++ b/lib/v2/acpaa/index.js
@@ -0,0 +1,57 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const timezone = require('@/utils/timezone');
+const { parseDate } = require('@/utils/parse-date');
+
+module.exports = async (ctx) => {
+ const { id = '1', name = '重要通知' } = ctx.params;
+ const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 30;
+
+ const rootUrl = 'http://www.acpaa.cn';
+ const currentUrl = new URL(`article/taglist.jhtml?tagIds=${id}&tagname=${name}`, rootUrl).href;
+
+ const { data: response } = await got(currentUrl);
+
+ const $ = cheerio.load(response);
+
+ let items = $('div.text01 ul li a[title]')
+ .slice(0, limit)
+ .toArray()
+ .map((item) => {
+ item = $(item);
+
+ return {
+ title: item.prop('title'),
+ link: new URL(item.prop('href'), rootUrl).href,
+ pubDate: timezone(parseDate(item.find('span[title]').prop('title')), +8),
+ };
+ });
+
+ items = await Promise.all(
+ items.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ const { data: detailResponse } = await got(item.link);
+
+ const content = cheerio.load(detailResponse);
+
+ item.title = content('div.xhjj_head01').text();
+ item.description = content('div.text01').html();
+
+ return item;
+ })
+ )
+ );
+
+ const author = $('title').text().replace(/-/g, '');
+ const subtitle = $('span.myTitle').text().trim();
+
+ ctx.state.data = {
+ item: items,
+ title: `${author} - ${subtitle}`,
+ link: currentUrl,
+ description: $('meta[property="og:description"]').prop('content'),
+ language: 'zh',
+ subtitle,
+ author,
+ };
+};
diff --git a/lib/v2/acpaa/maintainer.js b/lib/v2/acpaa/maintainer.js
new file mode 100644
index 000000000..de07fba0f
--- /dev/null
+++ b/lib/v2/acpaa/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/:id?/:name?': ['nczitzk'],
+};
diff --git a/lib/v2/acpaa/radar.js b/lib/v2/acpaa/radar.js
new file mode 100644
index 000000000..3be0bb419
--- /dev/null
+++ b/lib/v2/acpaa/radar.js
@@ -0,0 +1,19 @@
+module.exports = {
+ 'acpaa.cn': {
+ _name: '中华全国专利代理师协会',
+ '.': [
+ {
+ title: '文章',
+ docs: 'https://docs.rsshub.app/routes/other#zhong-hua-quan-guo-zhuan-li-dai-li-shi-xie-hui',
+ source: ['/article/taglist.jhtml'],
+ target: (url) => {
+ url = new URL(url);
+ const id = url.searchParams.get('id');
+ const name = url.searchParams.get('name');
+
+ return `/acpaa${id ? `/${id}${name ? `/${name}` : ''}` : ''}`;
+ },
+ },
+ ],
+ },
+};
diff --git a/lib/v2/acpaa/router.js b/lib/v2/acpaa/router.js
new file mode 100644
index 000000000..b9338560b
--- /dev/null
+++ b/lib/v2/acpaa/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/:id?/:name?', require('./'));
+};
diff --git a/lib/v2/backlinko/blog.js b/lib/v2/backlinko/blog.js
new file mode 100644
index 000000000..6ceba525b
--- /dev/null
+++ b/lib/v2/backlinko/blog.js
@@ -0,0 +1,44 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const { parseDate } = require('@/utils/parse-date');
+
+module.exports = async (ctx) => {
+ const baseUrl = 'https://backlinko.com';
+ const { data: response, url: link } = await got(`${baseUrl}/blog`);
+
+ const $ = cheerio.load(response);
+ const nextData = JSON.parse($('#__NEXT_DATA__').text());
+ const {
+ buildId,
+ props: { pageProps },
+ } = nextData;
+
+ const posts = pageProps.posts.nodes.concat(pageProps.backlinkoLockedPosts.nodes).map((post) => ({
+ title: post.title,
+ link: `${baseUrl}/${post.slug}`,
+ pubDate: parseDate(post.modified),
+ author: post.author.node.name,
+ apiUrl: `${baseUrl}/_next/data/${buildId}/${post.slug}.json`,
+ }));
+
+ const items = await Promise.all(
+ posts.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ const { data } = await got(item.apiUrl);
+ const post = data.pageProps.post || data.pageProps.lockedPost;
+
+ item.description = post.content;
+
+ return item;
+ })
+ )
+ );
+
+ ctx.state.data = {
+ title: pageProps.page.seo.title,
+ description: pageProps.page.seo.metaDesc,
+ link,
+ language: 'en',
+ item: items,
+ };
+};
diff --git a/lib/v2/backlinko/maintainer.js b/lib/v2/backlinko/maintainer.js
new file mode 100644
index 000000000..96ec7b2a6
--- /dev/null
+++ b/lib/v2/backlinko/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/blog': ['TonyRL'],
+};
diff --git a/lib/v2/backlinko/radar.js b/lib/v2/backlinko/radar.js
new file mode 100644
index 000000000..173c86303
--- /dev/null
+++ b/lib/v2/backlinko/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'backlinko.com': {
+ _name: 'Backlinko',
+ '.': [
+ {
+ title: 'Blog',
+ docs: 'https://docs.rsshub.app/routes/blog#backlinko',
+ source: ['/blog', '/'],
+ target: '/backlinko/blog',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/backlinko/router.js b/lib/v2/backlinko/router.js
new file mode 100644
index 000000000..eadc22005
--- /dev/null
+++ b/lib/v2/backlinko/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/blog', require('./blog'));
+};
diff --git a/lib/v2/bilibili/cache.js b/lib/v2/bilibili/cache.js
index b4b4f0877..24d02d816 100644
--- a/lib/v2/bilibili/cache.js
+++ b/lib/v2/bilibili/cache.js
@@ -55,8 +55,8 @@ module.exports = {
return cookie.join('; ');
});
},
- getVerifyString: (ctx) => {
- const key = 'bili-verify-string';
+ getWbiVerifyString: (ctx) => {
+ const key = 'bili-wbi-verify-string';
return ctx.cache.tryGet(key, async () => {
const cookie = await module.exports.getCookie(ctx);
const { data: navResponse } = await got('https://api.bilibili.com/x/web-interface/nav', {
@@ -97,14 +97,14 @@ module.exports = {
const key = 'bili-username-from-uid-' + uid;
return ctx.cache.tryGet(key, async () => {
const cookie = await module.exports.getCookie(ctx);
- const verifyString = await module.exports.getVerifyString(ctx);
+ const wbiVerifyString = await module.exports.getWbiVerifyString(ctx);
// await got(`https://space.bilibili.com/${uid}/`, {
// headers: {
// Referer: 'https://www.bilibili.com/',
// Cookie: cookie,
// },
// });
- const params = utils.addVerifyInfo(`mid=${uid}&token=&platform=web&web_location=1550101`, verifyString);
+ const params = utils.addWbiVerifyInfo(`mid=${uid}&token=&platform=web&web_location=1550101`, wbiVerifyString);
const { data: nameResponse } = await got(`https://api.bilibili.com/x/space/wbi/acc/info?${params}`, {
headers: {
Referer: `https://space.bilibili.com/${uid}/`,
@@ -121,14 +121,14 @@ module.exports = {
let face = await ctx.cache.get(faceKey);
if (!name || !face) {
const cookie = await module.exports.getCookie(ctx);
- const verifyString = await module.exports.getVerifyString(ctx);
+ const wbiVerifyString = await module.exports.getWbiVerifyString(ctx);
// await got(`https://space.bilibili.com/${uid}/`, {
// headers: {
// Referer: `https://www.bilibili.com/`,
// Cookie: cookie,
// },
// });
- const params = utils.addVerifyInfo(`mid=${uid}&token=&platform=web&web_location=1550101`, verifyString);
+ const params = utils.addWbiVerifyInfo(`mid=${uid}&token=&platform=web&web_location=1550101`, wbiVerifyString);
const { data: nameResponse } = await got(`https://api.bilibili.com/x/space/wbi/acc/info?${params}`, {
headers: {
Referer: `https://space.bilibili.com/${uid}/`,
diff --git a/lib/v2/bilibili/hotSearch.js b/lib/v2/bilibili/hotSearch.js
index 66f51ac30..9c3bb7373 100644
--- a/lib/v2/bilibili/hotSearch.js
+++ b/lib/v2/bilibili/hotSearch.js
@@ -3,8 +3,8 @@ const cache = require('./cache');
const utils = require('./utils');
module.exports = async (ctx) => {
- const verifyString = await cache.getVerifyString(ctx);
- const params = utils.addVerifyInfo('limit=10&platform=web', verifyString);
+ const wbiVerifyString = await cache.getWbiVerifyString(ctx);
+ const params = utils.addWbiVerifyInfo('limit=10&platform=web', wbiVerifyString);
const url = `https://api.bilibili.com/x/web-interface/wbi/search/square?${params}`;
const response = await got({
method: 'get',
diff --git a/lib/v2/bilibili/liveSearch.js b/lib/v2/bilibili/liveSearch.js
index 9fec3303d..f16f88da1 100644
--- a/lib/v2/bilibili/liveSearch.js
+++ b/lib/v2/bilibili/liveSearch.js
@@ -17,9 +17,9 @@ module.exports = async (ctx) => {
orderTitle = '人气直播';
break;
}
- const verifyString = await cache.getVerifyString(ctx);
+ const wbiVerifyString = await cache.getWbiVerifyString(ctx);
let params = `__refresh__=true&_extra=&context=&page=1&page_size=42&order=${order}&duration=&from_source=&from_spmid=333.337&platform=pc&highlight=1&single_column=0&keyword=${urlEncodedKey}&ad_resource=&source_tag=3&gaia_vtoken=&category_id=&search_type=live&dynamic_offset=0&web_location=1430654`;
- params = utils.addVerifyInfo(params, verifyString);
+ params = utils.addWbiVerifyInfo(params, wbiVerifyString);
const response = await got({
method: 'get',
diff --git a/lib/v2/bilibili/router.js b/lib/v2/bilibili/router.js
index b6787da3a..578da6c29 100644
--- a/lib/v2/bilibili/router.js
+++ b/lib/v2/bilibili/router.js
@@ -32,6 +32,7 @@ module.exports = (router) => {
router.get('/user/followers/:uid/:loginUid', require('./followers'));
router.get('/user/followings/:uid/:loginUid', require('./followings'));
router.get('/user/video/:uid/:disableEmbed?', require('./video'));
+ router.get('/user/video-all/:uid/:disableEmbed?', require('./video-all'));
router.get('/video/danmaku/:bvid/:pid?', require('./danmaku'));
router.get('/video/page/:bvid/:disableEmbed?', require('./page'));
router.get('/video/reply/:bvid', require('./reply'));
diff --git a/lib/v2/bilibili/utils.js b/lib/v2/bilibili/utils.js
index ede92aa77..77c0037ac 100644
--- a/lib/v2/bilibili/utils.js
+++ b/lib/v2/bilibili/utils.js
@@ -1,3 +1,4 @@
+const config = require('@/config').value;
const md5 = require('@/utils/md5');
const CryptoJS = require('crypto-js');
@@ -65,20 +66,58 @@ function hexsign(e) {
return o;
}
-function addVerifyInfo(params, verifyString) {
+function addWbiVerifyInfo(params, wbiVerifyString) {
const searchParams = new URLSearchParams(params);
searchParams.sort();
const verifyParam = searchParams.toString();
const wts = Math.round(Date.now() / 1000);
- const w_rid = md5(`${verifyParam}&wts=${wts}${verifyString}`);
+ const w_rid = md5(`${verifyParam}&wts=${wts}${wbiVerifyString}`);
return `${params}&w_rid=${w_rid}&wts=${wts}`;
}
+// https://github.com/errcw/gaussian/blob/master/lib/box-muller.js
+function generateGaussianInteger(mean, std) {
+ const _2PI = Math.PI * 2;
+ const u1 = Math.random();
+ const u2 = Math.random();
+
+ const z0 = Math.sqrt(-2.0 * Math.log(u1)) * Math.cos(_2PI * u2);
+
+ return Math.round(z0 * std + mean);
+}
+
+function getDmImgList() {
+ if (typeof config.bilibili.dmImgList !== 'undefined') {
+ const dmImgList = JSON.parse(config.bilibili.dmImgList);
+ return JSON.stringify([dmImgList[Math.floor(Math.random() * dmImgList.length)]]);
+ }
+ const x = Math.max(generateGaussianInteger(650, 5), 0);
+ const y = Math.max(generateGaussianInteger(400, 5), 0);
+ const path = [
+ {
+ x: 3 * x + 2 * y,
+ y: 4 * x - 5 * y,
+ z: 0,
+ timestamp: Math.max(generateGaussianInteger(30, 5), 0),
+ type: 0,
+ },
+ ];
+ return JSON.stringify(path);
+}
+
+function addDmVerifyInfo(params, dmImgList) {
+ const dmImgStr = Buffer.from('no webgl').toString('base64').slice(0, -2);
+ const dmCoverImgStr = Buffer.from('no webgl').toString('base64').slice(0, -2);
+ return `${params}&dm_img_list=${dmImgList}&dm_img_str=${dmImgStr}&dm_cover_img_str=${dmCoverImgStr}`;
+}
+
module.exports = {
iframe,
lsid,
_uuid,
hexsign,
- addVerifyInfo,
+ addWbiVerifyInfo,
+ getDmImgList,
+ addDmVerifyInfo,
bvidTime: 1589990400,
};
diff --git a/lib/v2/bilibili/video-all.js b/lib/v2/bilibili/video-all.js
new file mode 100644
index 000000000..0b0a86bc1
--- /dev/null
+++ b/lib/v2/bilibili/video-all.js
@@ -0,0 +1,75 @@
+const got = require('@/utils/got');
+const cache = require('./cache');
+const utils = require('./utils');
+const { parseDate } = require('@/utils/parse-date');
+
+module.exports = async (ctx) => {
+ const uid = ctx.params.uid;
+ const disableEmbed = ctx.params.disableEmbed;
+ const cookie = await cache.getCookie(ctx);
+ const wbiVerifyString = await cache.getWbiVerifyString(ctx);
+ const dmImgList = utils.getDmImgList();
+ const [name, face] = await cache.getUsernameAndFaceFromUID(ctx, uid);
+
+ await got(`https://space.bilibili.com/${uid}/video?tid=0&page=1&keyword=&order=pubdate`, {
+ headers: {
+ Referer: `https://space.bilibili.com/${uid}/`,
+ Cookie: cookie,
+ },
+ });
+ const params = utils.addWbiVerifyInfo(utils.addDmVerifyInfo(`mid=${uid}&ps=30&tid=0&pn=1&keyword=&order=pubdate&platform=web&web_location=1550101&order_avoided=true`, dmImgList), wbiVerifyString);
+ const response = await got(`https://api.bilibili.com/x/space/wbi/arc/search?${params}`, {
+ headers: {
+ Referer: `https://space.bilibili.com/${uid}/video?tid=0&page=1&keyword=&order=pubdate`,
+ Cookie: cookie,
+ },
+ });
+
+ const vlist = [...response.data.data.list.vlist];
+ const pageTotal = Math.ceil(response.data.data.page.count / response.data.data.page.ps);
+
+ const getPage = async (pageId) => {
+ const cookie = await cache.getCookie(ctx);
+ await got(`https://space.bilibili.com/${uid}/video?tid=0&page=${pageId}&keyword=&order=pubdate`, {
+ headers: {
+ Referer: `https://space.bilibili.com/${uid}/`,
+ Cookie: cookie,
+ },
+ });
+ const params = utils.addWbiVerifyInfo(utils.addDmVerifyInfo(`mid=${uid}&ps=30&tid=0&pn=${pageId}&keyword=&order=pubdate&platform=web&web_location=1550101&order_avoided=true`, dmImgList), wbiVerifyString);
+ return got(`https://api.bilibili.com/x/space/wbi/arc/search?${params}`, {
+ headers: {
+ Referer: `https://space.bilibili.com/${uid}/video?tid=0&page=${pageId}&keyword=&order=pubdate`,
+ Cookie: cookie,
+ },
+ });
+ };
+
+ const promises = [];
+
+ if (pageTotal > 1) {
+ for (let i = 2; i <= pageTotal; i++) {
+ promises.push(getPage(i));
+ }
+ const rets = await Promise.all(promises);
+ rets.forEach((ret) => {
+ vlist.push(...ret.data.data.list.vlist);
+ });
+ }
+
+ ctx.state.data = {
+ title: name,
+ link: `https://space.bilibili.com/${uid}/video`,
+ description: `${name} 的 bilibili 所有视频`,
+ logo: face,
+ icon: face,
+ item: vlist.map((item) => ({
+ title: item.title,
+ description: `${item.description}${!disableEmbed ? `
${utils.iframe(item.aid)}` : ''}
`,
+ pubDate: parseDate(item.created, 'X'),
+ link: item.created > utils.bvidTime && item.bvid ? `https://www.bilibili.com/video/${item.bvid}` : `https://www.bilibili.com/video/av${item.aid}`,
+ author: name,
+ comments: item.comment,
+ })),
+ };
+};
diff --git a/lib/v2/bilibili/video.js b/lib/v2/bilibili/video.js
index 4769d44a9..9d7a7edb9 100644
--- a/lib/v2/bilibili/video.js
+++ b/lib/v2/bilibili/video.js
@@ -7,7 +7,8 @@ module.exports = async (ctx) => {
const uid = ctx.params.uid;
const disableEmbed = ctx.params.disableEmbed;
const cookie = await cache.getCookie(ctx);
- const verifyString = await cache.getVerifyString(ctx);
+ const wbiVerifyString = await cache.getWbiVerifyString(ctx);
+ const dmImgList = utils.getDmImgList();
const [name, face] = await cache.getUsernameAndFaceFromUID(ctx, uid);
// await got(`https://space.bilibili.com/${uid}/video?tid=0&page=1&keyword=&order=pubdate`, {
@@ -16,14 +17,7 @@ module.exports = async (ctx) => {
// Cookie: cookie,
// },
// });
- const params = utils.addVerifyInfo(
- `mid=${uid}&ps=30&tid=0&pn=1&keyword=&order=pubdate&platform=web&web_location=1550101&order_avoided=true&dm_img_list=[]&dm_img_str=${Buffer.from('no webgl').toString('base64').slice(0, -2)}&dm_cover_img_str=${Buffer.from(
- 'no webgl'
- )
- .toString('base64')
- .slice(0, -2)}`,
- verifyString
- );
+ const params = utils.addWbiVerifyInfo(utils.addDmVerifyInfo(`mid=${uid}&ps=30&tid=0&pn=1&keyword=&order=pubdate&platform=web&web_location=1550101&order_avoided=true`, dmImgList), wbiVerifyString);
const response = await got(`https://api.bilibili.com/x/space/wbi/arc/search?${params}`, {
headers: {
Referer: `https://space.bilibili.com/${uid}/video?tid=0&page=1&keyword=&order=pubdate`,
diff --git a/lib/v2/bsky/maintainer.js b/lib/v2/bsky/maintainer.js
index 61f792cbb..f7a7bde20 100644
--- a/lib/v2/bsky/maintainer.js
+++ b/lib/v2/bsky/maintainer.js
@@ -1,3 +1,4 @@
module.exports = {
'/keyword/:keyword': ['untitaker'],
+ '/profile/:handle': ['TonyRL'],
};
diff --git a/lib/v2/bsky/posts.js b/lib/v2/bsky/posts.js
new file mode 100644
index 000000000..c53c59fb9
--- /dev/null
+++ b/lib/v2/bsky/posts.js
@@ -0,0 +1,42 @@
+const { parseDate } = require('@/utils/parse-date');
+const { resolveHandle, getProfile, getAuthorFeed } = require('./utils');
+const { art } = require('@/utils/render');
+const { join } = require('path');
+
+module.exports = async (ctx) => {
+ const { handle } = ctx.params;
+ const DID = await resolveHandle(handle, ctx.cache.tryGet);
+ const profile = await getProfile(DID, ctx.cache.tryGet);
+ const authorFeed = await getAuthorFeed(DID, ctx.cache.tryGet);
+
+ const items = authorFeed.feed.map(({ post }) => ({
+ title: post.record.text.split('\n')[0],
+ description: art(join(__dirname, 'templates/post.art'), {
+ text: post.record.text.replace(/\n/g, '
'),
+ embed: post.embed,
+ // embed.$type "app.bsky.embed.record#view" and "app.bsky.embed.recordWithMedia#view"
+ // are not handled
+ }),
+ author: post.author.displayName,
+ pubDate: parseDate(post.record.createdAt),
+ link: `https://bsky.app/profile/${post.author.handle}/post/${post.uri.split('app.bsky.feed.post/')[1]}`,
+ upvotes: post.likeCount,
+ comments: post.replyCount,
+ }));
+
+ ctx.state.data = {
+ title: `${profile.displayName} (@${profile.handle}) — Bluesky`,
+ description: profile.description.replace(/\n/g, ' '),
+ link: `https://bsky.app/profile/${profile.handle}`,
+ image: profile.banner,
+ icon: profile.avatar,
+ logo: profile.avatar,
+ item: items,
+ };
+
+ ctx.state.json = {
+ DID,
+ profile,
+ authorFeed,
+ };
+};
diff --git a/lib/v2/bsky/radar.js b/lib/v2/bsky/radar.js
index ef04b280a..70a5f2d0d 100644
--- a/lib/v2/bsky/radar.js
+++ b/lib/v2/bsky/radar.js
@@ -8,6 +8,12 @@ module.exports = {
source: '/search',
target: (params, url) => `/bsky/keyword/${new URL(url).searchParams.get('q')}`,
},
+ {
+ title: 'Post',
+ docs: 'https://docs.rsshub.app/routes/social-media#bluesky-bsky',
+ source: '/profile/:handle',
+ target: '/bsky/profile/:handle',
+ },
],
},
};
diff --git a/lib/v2/bsky/router.js b/lib/v2/bsky/router.js
index 3d4d1c62d..ed6101bd4 100644
--- a/lib/v2/bsky/router.js
+++ b/lib/v2/bsky/router.js
@@ -1,3 +1,4 @@
module.exports = (router) => {
router.get('/keyword/:keyword', require('./keyword'));
+ router.get('/profile/:handle', require('./posts'));
};
diff --git a/lib/v2/bsky/templates/post.art b/lib/v2/bsky/templates/post.art
new file mode 100644
index 000000000..06b42960a
--- /dev/null
+++ b/lib/v2/bsky/templates/post.art
@@ -0,0 +1,15 @@
+{{ if text }}
+ {{@ text }}
+{{ /if }}
+
+{{ if embed }}
+ {{ if embed.$type == 'app.bsky.embed.images#view'}}
+ {{ each embed.images i }}
+ 
+ {{ /each }}
+ {{ else if embed.$type == 'app.bsky.embed.external#view' }}
+ {{ embed.external.title }}
+ {{ embed.external.description }}
+
+ {{ /if }}
+{{ /if }}
diff --git a/lib/v2/bsky/utils.js b/lib/v2/bsky/utils.js
new file mode 100644
index 000000000..09f5a9f6e
--- /dev/null
+++ b/lib/v2/bsky/utils.js
@@ -0,0 +1,52 @@
+const got = require('@/utils/got');
+const config = require('@/config').value;
+
+/**
+ * docs: https://atproto.com/lexicons/app-bsky
+ */
+
+// https://github.com/bluesky-social/atproto/blob/main/lexicons/com/atproto/identity/resolveHandle.json
+const resolveHandle = (handle, tryGet) =>
+ tryGet(`bsky:${handle}`, async () => {
+ const { data } = await got('https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle', {
+ searchParams: {
+ handle,
+ },
+ });
+ return data.did;
+ });
+
+// https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/actor/getProfile.json
+const getProfile = (did, tryGet) =>
+ tryGet(`bsky:profile:${did}`, async () => {
+ const { data } = await got('https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile', {
+ searchParams: {
+ actor: did,
+ },
+ });
+ return data;
+ });
+
+// https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/feed/getAuthorFeed.json
+const getAuthorFeed = (did, tryGet) =>
+ tryGet(
+ `bsky:authorFeed:${did}`,
+ async () => {
+ const { data } = await got('https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed', {
+ searchParams: {
+ actor: did,
+ filter: 'posts_and_author_threads',
+ limit: 30,
+ },
+ });
+ return data;
+ },
+ config.cache.routeExpire,
+ false
+ );
+
+module.exports = {
+ resolveHandle,
+ getProfile,
+ getAuthorFeed,
+};
diff --git a/lib/v2/cyzone/util.js b/lib/v2/cyzone/util.js
index 36a97f584..d7811a22f 100644
--- a/lib/v2/cyzone/util.js
+++ b/lib/v2/cyzone/util.js
@@ -100,7 +100,8 @@ const processItems = async (apiUrl, limit, tryGet, ...searchParams) => {
});
item.title = data.title;
- item.link = /^\/\//.test(data.link_url) ? `https:${data.link_url}` : data.link_url;
+ // api 返回的 link_url 数据可能是空, 所有最好自己通过 id 拼接 url
+ item.link = `${rootUrl}/article/${item.guid}.html`;
item.description = content.html();
item.author = data.author_name ?? data.author;
item.category = [...new Set(categories)].filter((c) => c);
diff --git a/lib/v2/damai/activity.js b/lib/v2/damai/activity.js
new file mode 100644
index 000000000..bc6bb8ea9
--- /dev/null
+++ b/lib/v2/damai/activity.js
@@ -0,0 +1,44 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const { art } = require('@/utils/render');
+const { join } = require('path');
+
+module.exports = async (ctx) => {
+ const city = ctx.params.city === '全部' ? '' : ctx.params.city;
+ const category = ctx.params.category === '全部' ? '' : ctx.params.category;
+ const subcategory = ctx.params.subcategory === '全部' ? '' : ctx.params.subcategory;
+ const keyword = ctx.params.keyword ? ctx.params.keyword : '';
+
+ const url = 'https://search.damai.cn/searchajax.html';
+
+ const response = await got(url, {
+ searchParams: {
+ keyword,
+ cty: city,
+ ctl: category,
+ sctl: subcategory,
+ tsg: 0,
+ st: '',
+ et: '',
+ order: 3,
+ pageSize: 30,
+ currPage: 1,
+ tn: '',
+ },
+ });
+ const data = response.data;
+ const list = data.pageData.resultData || [];
+
+ ctx.state.data = {
+ title: `大麦网票务 - ${city || '全国'} - ${category || '全部分类'}${subcategory ? ' - ' + subcategory : ''}${keyword ? ' - ' + keyword : ''}`,
+ link: 'https://search.damai.cn/search.htm',
+ item: list.map((item) => ({
+ title: item.nameNoHtml,
+ author: item.actors ? cheerio.load(item.actors, null, false).text() : '大麦网',
+ description: art(join(__dirname, 'templates/activity.art'), {
+ item,
+ }),
+ link: `https://detail.damai.cn/item.htm?id=${item.projectid}`,
+ })),
+ };
+};
diff --git a/lib/v2/damai/maintainer.js b/lib/v2/damai/maintainer.js
new file mode 100644
index 000000000..1e5144889
--- /dev/null
+++ b/lib/v2/damai/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/activity/:city/:category/:subcategory/:keyword?': ['hoilc'],
+};
diff --git a/lib/v2/damai/radar.js b/lib/v2/damai/radar.js
new file mode 100644
index 000000000..bd47baad7
--- /dev/null
+++ b/lib/v2/damai/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'damai.cn': {
+ _name: '大麦网',
+ search: [
+ {
+ title: '票务更新',
+ docs: 'https://docs.rsshub.app/routes/shopping#da-mai-wang',
+ source: ['/search.html'],
+ target: (_params, url) => `/damai/activity/全部/全部/全部/${new URL(url).searchParams.get('keyword') || ''}`,
+ },
+ ],
+ },
+};
diff --git a/lib/v2/damai/router.js b/lib/v2/damai/router.js
new file mode 100644
index 000000000..98e08502e
--- /dev/null
+++ b/lib/v2/damai/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/activity/:city/:category/:subcategory/:keyword?', require('./activity'));
+};
diff --git a/lib/v2/damai/templates/activity.art b/lib/v2/damai/templates/activity.art
new file mode 100644
index 000000000..5e0e359c5
--- /dev/null
+++ b/lib/v2/damai/templates/activity.art
@@ -0,0 +1,5 @@
+
+{{@ item.description }}
+地点:{{ item.venuecity }} | {{ item.venue }}
+时间:{{ item.showtime }}
+票价:{{ item.price_str }}
diff --git a/lib/v2/domp4/detail.js b/lib/v2/domp4/detail.js
index aebbb7183..726b1bc88 100644
--- a/lib/v2/domp4/detail.js
+++ b/lib/v2/domp4/detail.js
@@ -25,7 +25,7 @@ function getDomList($, detailUrl) {
return list;
}
-function getItemList($, detailUrl) {
+function getItemList($, detailUrl, second) {
const encoded = $('.article script[type]')
.text()
.match(/return p}\('(.*)',(\d+),(\d+),'(.*)'.split\(/);
@@ -39,7 +39,9 @@ function getItemList($, detailUrl) {
.replace(/\\\\"/g, '"')
.replace(/\\\\\\/g, '')
);
- const { downurls } = data.Data[0];
+ // support secondary download address
+ const { downurls } = second && data.Data.length > 1 ? data.Data[1] : data.Data[0];
+
return downurls.map((item) => {
const [title, downurl] = item.split('$');
const urlType = getUrlType(downurl);
@@ -69,7 +71,7 @@ function getMetaInfo($) {
module.exports = async (ctx) => {
const { id } = ctx.params;
- const { domain } = ctx.query;
+ const { domain, second } = ctx.query;
let pureId = id;
let detailType = 'html';
// compatible for .html suffix in radar
@@ -84,7 +86,7 @@ module.exports = async (ctx) => {
const res = await got(detailUrl);
const $ = cheerio.load(res.data);
- const list = getItemList($, detailUrl);
+ const list = getItemList($, detailUrl, second);
const meta = getMetaInfo($);
ctx.state.data = {
diff --git a/lib/v2/domp4/utils.js b/lib/v2/domp4/utils.js
index ba385a44a..723cd7cc0 100644
--- a/lib/v2/domp4/utils.js
+++ b/lib/v2/domp4/utils.js
@@ -2,7 +2,7 @@ const config = require('@/config').value;
const defaultDomain = 'mp4us.com';
-const allowedDomains = ['domp4.cc', 'mp4kan.com', 'mp4us.com', 'wemp4.com', 'dbmp4.com'];
+const allowedDomains = ['domp4.cc', 'mp4us.com', 'wemp4.com', 'dbmp4.com'];
/**
* trackers from https://www.domp4.cc/Style/2020/js/base.js?v=2
diff --git a/lib/v2/douban/other/recommended.js b/lib/v2/douban/other/recommended.js
index 7d0397de3..e8ef689ac 100644
--- a/lib/v2/douban/other/recommended.js
+++ b/lib/v2/douban/other/recommended.js
@@ -18,7 +18,9 @@ module.exports = async (ctx) => {
const date = new Date();
const year = date.getFullYear();
- const mon = date.getMonth() + 1;
+ const month = date.getMonth() + 1;
+ const mon = month < 10 ? '0' + month : month.toString();
+
let items = response.data.data[0].items;
const subjectCollectionId = items.find((item) => item.title.startsWith(`${year}年${mon}月`)).id;
diff --git a/lib/v2/ekantipur/issue.js b/lib/v2/ekantipur/issue.js
new file mode 100644
index 000000000..0df7b094e
--- /dev/null
+++ b/lib/v2/ekantipur/issue.js
@@ -0,0 +1,64 @@
+// Require necessary modules
+const got = require('@/utils/got'); // a customised got
+const cheerio = require('cheerio'); // an HTML parser with a jQuery-like API
+
+module.exports = async (ctx) => {
+ // Your logic here
+ // Defining base URL
+ const baseUrl = 'https://ekantipur.com';
+
+ // Retrive the channel parameter
+ const { channel = 'news' } = ctx.params;
+
+ // Fetches content of the requested channel
+ const { data: response } = await got(`${baseUrl}/${channel}`);
+ const $ = cheerio.load(response);
+
+ // Retrive articles
+ const list = $('article.normal')
+ // We use the `toArray()` method to retrieve all the DOM elements selected as an array.
+ .toArray()
+ // We use the `map()` method to traverse the array and parse the data we need from each element.
+ .map((item) => {
+ item = $(item);
+ const a = item.find('a').first();
+ return {
+ title: a.text(),
+ // We need an absolute URL for `link`, but `a.attr('href')` returns a relative URL.
+ link: `${baseUrl}${a.attr('href')}`,
+ author: item.find('div.author').text(),
+ category: channel,
+ };
+ });
+
+ const items = await Promise.all(
+ list.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ const { data: response } = await got(item.link);
+ const $ = cheerio.load(response);
+
+ // Remove sponsor elements
+ $('a.static-sponsor').remove();
+ $('div.ekans-wrapper').remove();
+
+ // Fetch title from the article page
+ item.title = $('h1.eng-text-heading').text();
+ // Fetch article content from the article page
+ item.description = $('div.current-news-block').first().html();
+
+ // Every property of a list item defined above is reused here
+ // and we add a new property 'description'
+ return item;
+ })
+ )
+ );
+
+ ctx.state.data = {
+ // channel title
+ title: `Ekantipur - ${channel}`,
+ // channel link
+ link: `${baseUrl}/${channel}`,
+ // each feed item
+ item: items,
+ };
+};
diff --git a/lib/v2/ekantipur/maintainer.js b/lib/v2/ekantipur/maintainer.js
new file mode 100644
index 000000000..a8d2de20d
--- /dev/null
+++ b/lib/v2/ekantipur/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/:channel?': ['maniche04'],
+};
diff --git a/lib/v2/ekantipur/radar.js b/lib/v2/ekantipur/radar.js
new file mode 100644
index 000000000..b0ecd84e3
--- /dev/null
+++ b/lib/v2/ekantipur/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'ekantipur.com': {
+ _name: 'Ekantipur',
+ '.': [
+ {
+ title: 'Full Article RSS',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#ekantipur-%E0%A4%95%E0%A4%BE%E0%A4%A8%E0%A5%8D%E0%A4%A4%E0%A4%BF%E0%A4%AA%E0%A5%81%E0%A4%B0-nepal',
+ source: ['/:channel'],
+ target: '/ekantipur/:channel',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/ekantipur/router.js b/lib/v2/ekantipur/router.js
new file mode 100644
index 000000000..b472b8643
--- /dev/null
+++ b/lib/v2/ekantipur/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/:channel?', require('./issue'));
+};
diff --git a/lib/v2/ft/maintainer.js b/lib/v2/ft/maintainer.js
index 8a46d5a55..3aa646268 100644
--- a/lib/v2/ft/maintainer.js
+++ b/lib/v2/ft/maintainer.js
@@ -1,3 +1,4 @@
module.exports = {
+ '/myft/:key': ['HenryQW'],
'/:language/:channel?': ['HenryQW', 'xyqfer'],
};
diff --git a/lib/v2/ft/myft.js b/lib/v2/ft/myft.js
new file mode 100644
index 000000000..fbb87baf8
--- /dev/null
+++ b/lib/v2/ft/myft.js
@@ -0,0 +1,51 @@
+const got = require('@/utils/got');
+const parser = require('@/utils/rss-parser');
+const cheerio = require('cheerio');
+
+module.exports = async (ctx) => {
+ const ProcessFeed = (content) => {
+ // clean up the article
+ content.find('div.o-share, aside, div.o-ads').remove();
+
+ return content.html();
+ };
+
+ const link = `https://www.ft.com/myft/following/${ctx.params.key}.rss`;
+
+ const feed = await parser.parseURL(link);
+
+ const items = await Promise.all(
+ feed.items.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ const response = await got({
+ method: 'get',
+ url: item.link,
+ headers: {
+ Referer: 'https://www.facebook.com',
+ },
+ });
+
+ const $ = cheerio.load(response.data);
+
+ item.description = ProcessFeed($('article.js-article__content-body'));
+ item.category = [$('.n-content-tag--with-follow').text()].concat(
+ $('.article__right-bottom a.concept-list__concept')
+ .map((i, e) => $(e).text().trim())
+ .get()
+ );
+ item.author = $('a.n-content-tag--author')
+ .map((i, e) => $(e).text())
+ .get();
+
+ return item;
+ })
+ )
+ );
+
+ ctx.state.data = {
+ title: `FT.com - myFT`,
+ link,
+ description: `FT.com - myFT`,
+ item: items,
+ };
+};
diff --git a/lib/v2/ft/radar.js b/lib/v2/ft/radar.js
index 0f7df9fe8..9a49b381e 100644
--- a/lib/v2/ft/radar.js
+++ b/lib/v2/ft/radar.js
@@ -6,6 +6,19 @@ module.exports = {
title: 'FT 中文网',
docs: 'https://docs.rsshub.app/routes/traditional-media#financial-times',
},
+ {
+ title: 'myFT 个人 RSS',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#financial-times',
+ },
+ ],
+ },
+ 'ft.com': {
+ _name: 'Financial Times',
+ '.': [
+ {
+ title: 'myFT personal RSS',
+ docs: 'https://docs.rsshub.app/routes/en/traditional-media#financial-times',
+ },
],
},
};
diff --git a/lib/v2/ft/router.js b/lib/v2/ft/router.js
index 763e36974..11cf5c86a 100644
--- a/lib/v2/ft/router.js
+++ b/lib/v2/ft/router.js
@@ -1,3 +1,4 @@
module.exports = function (router) {
+ router.get('/myft/:key', require('./myft'));
router.get('/:language/:channel?', require('./channel'));
};
diff --git a/lib/v2/gofans/index.js b/lib/v2/gofans/index.js
new file mode 100644
index 000000000..78665a647
--- /dev/null
+++ b/lib/v2/gofans/index.js
@@ -0,0 +1,41 @@
+const got = require('@/utils/got');
+const { parseDate } = require('@/utils/parse-date');
+const { art } = require('@/utils/render');
+const { join } = require('path');
+
+module.exports = async (ctx) => {
+ const { kind = '' } = ctx.params;
+ const baseUrl = 'https://gofans.cn';
+
+ const { data: response } = await got('https://api.gofans.cn/v1/web/app_records', {
+ headers: {
+ origin: baseUrl,
+ },
+ searchParams: {
+ limit: 20,
+ kind: kind && (kind === 'macos' ? 1 : 2),
+ page: 1,
+ },
+ });
+
+ const items = response.data.map((item) => ({
+ title: `「${item.price === '0.00' ? '免费' : '降价'}」-「${item.kind === 1 ? 'macOS' : 'iOS'}」${item.name}`,
+ description: art(join(__dirname, 'templates/description.art'), {
+ icon: item.icon,
+ originalPrice: item.original_price,
+ price: item.price,
+ kind: item.kind,
+ description: item.description.replaceAll('\n', '
'),
+ }),
+ pubDate: parseDate(item.updated_at, 'X'),
+ link: new URL(`/app/${item.uuid}`, baseUrl).href,
+ category: item.primary_genre_name,
+ }));
+
+ ctx.state.data = {
+ title: '最新限免 / 促销应用',
+ link: baseUrl,
+ description: 'GoFans:最新限免 / 促销应用',
+ item: items,
+ };
+};
diff --git a/lib/v2/gofans/maintainer.js b/lib/v2/gofans/maintainer.js
new file mode 100644
index 000000000..c820bec4f
--- /dev/null
+++ b/lib/v2/gofans/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/:kind?': ['HenryQW'],
+};
diff --git a/lib/v2/gofans/radar.js b/lib/v2/gofans/radar.js
new file mode 100644
index 000000000..b8980cb27
--- /dev/null
+++ b/lib/v2/gofans/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'gofans.cn': {
+ _name: 'GoFans',
+ '.': [
+ {
+ title: '最新限免 / 促销应用',
+ docs: 'https://docs.rsshub.app/program-update#gofans',
+ source: ['/limited/:kind?', '/'],
+ target: (params) => `/gofans${(params.kind && (params.kind === 'macos' ? '/macos' : '/ios')) || ''}`,
+ },
+ ],
+ },
+};
diff --git a/lib/v2/gofans/router.js b/lib/v2/gofans/router.js
new file mode 100644
index 000000000..7267a807a
--- /dev/null
+++ b/lib/v2/gofans/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/:kind?', require('./index'));
+};
diff --git a/lib/v2/gofans/templates/description.art b/lib/v2/gofans/templates/description.art
new file mode 100644
index 000000000..1126b1bb6
--- /dev/null
+++ b/lib/v2/gofans/templates/description.art
@@ -0,0 +1,7 @@
+
+
+原价:¥{{ originalPrice }} -> 现价:¥{{ price }}
+
+平台:{{ kind === 1 ? 'macOS' : 'iOS' }}
+
+{{@ description }}
diff --git a/lib/v2/gov/maintainer.js b/lib/v2/gov/maintainer.js
index cfbb2c6a8..e02d78322 100644
--- a/lib/v2/gov/maintainer.js
+++ b/lib/v2/gov/maintainer.js
@@ -40,6 +40,7 @@ module.exports = {
'/mof/bond/:category?': ['la3rence'],
'/mofcom/article/:suffix+': ['LogicJake'],
'/moj/aac/news/:type?': ['TonyRL'],
+ '/moj/lfyjzj': ['la3rence'],
'/mot/:category?': ['nczitzk'],
'/ndrc/fggz/:category?': ['nczitzk'],
'/ndrc/xwdt/:category?': ['nczitzk'],
@@ -57,7 +58,7 @@ module.exports = {
'/pbc/tradeAnnouncement': ['nczitzk'],
'/pbc/zcyj': ['Fatpandac'],
'/samr/xgzlyhd/:category?/:department?': ['nczitzk'],
- '/safe/bussiness/:site?': ['nczitzk'],
+ '/safe/business/:site?': ['nczitzk'],
'/safe/complaint/:site?': ['nczitzk'],
'/sasac/:path+': ['TonyRL'],
'/stats/:path+': ['bigfei', 'nczitzk'],
diff --git a/lib/v2/gov/moj/lfyjzj.js b/lib/v2/gov/moj/lfyjzj.js
new file mode 100644
index 000000000..2e826fbd9
--- /dev/null
+++ b/lib/v2/gov/moj/lfyjzj.js
@@ -0,0 +1,53 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const timezone = require('@/utils/timezone');
+const { parseDate } = require('@/utils/parse-date');
+
+const DOMAIN = 'www.moj.gov.cn';
+
+module.exports = async (ctx) => {
+ const rootUrl = `https://${DOMAIN}`;
+ const currentUrl = `${rootUrl}/lfyjzj/lflfyjzj/index.html`;
+ const { data: response } = await got(currentUrl);
+ const $ = cheerio.load(response);
+ const siteName = $('title:first').text();
+ const theme = $('div.list_title').text();
+ const description = `${siteName} - ${theme}`;
+ const icon = new URL('/images/sfbgw_favicon.ico', rootUrl).href;
+ const indexes = $('ul.newsMsgList_zzy li')
+ .toArray()
+ .map((li) => {
+ const a = $(li).find('a');
+ const pubDate = $(li).find('div.rightData').text();
+ const href = a.prop('href');
+ const link = href.startsWith('http') ? href : new URL(href, currentUrl).href;
+ return {
+ title: a.text(),
+ link,
+ pubDate: timezone(parseDate(pubDate), +8),
+ };
+ });
+
+ const items = await Promise.all(
+ indexes.map((item) =>
+ ctx.cache.tryGet(`gov:mof:${item.link}`, async () => {
+ const { data: detailResponse } = await got(item.link);
+ const content = cheerio.load(detailResponse);
+ item.description = content('div.TRS_Editor').html();
+ item.author = content('div.sT_left span:first').text().split(':')[1];
+ const pubDate = content('div.sT_left span:last').text().split(':')[1];
+ item.pubDate = pubDate ? timezone(parseDate(pubDate), +8) : item.pubDate;
+ return item;
+ })
+ )
+ );
+
+ ctx.state.data = {
+ item: items,
+ title: theme,
+ link: currentUrl,
+ description,
+ author: siteName,
+ icon,
+ };
+};
diff --git a/lib/v2/gov/radar.js b/lib/v2/gov/radar.js
index 8b805f8a3..35da7bc79 100644
--- a/lib/v2/gov/radar.js
+++ b/lib/v2/gov/radar.js
@@ -1273,6 +1273,17 @@ module.exports = {
},
],
},
+ 'moj.gov.cn': {
+ _name: '中华人民共和国司法部',
+ www: [
+ {
+ title: '立法意见征集',
+ docs: 'https://docs.rsshub.app/routes/government#zhong-hua-ren-min-gong-he-guo-si-fa-bu',
+ source: ['/lfyjzj/lflfyjzj/*', '/pub/sfbgw/lfyjzj/lflfyjzj/*'],
+ target: '/gov/moj/lfyjzj',
+ },
+ ],
+ },
'moj.gov.tw': {
_name: '台灣法務部廉政署',
'www.aac': [
diff --git a/lib/v2/gov/router.js b/lib/v2/gov/router.js
index 657209843..1164beb42 100644
--- a/lib/v2/gov/router.js
+++ b/lib/v2/gov/router.js
@@ -34,6 +34,7 @@ module.exports = function (router) {
router.get('/mof/bond/:category?', require('./mof/bond'));
router.get('/mofcom/article/:suffix+', require('./mofcom/article'));
router.get('/moj/aac/news/:type?', require('./moj/aac/news'));
+ router.get('/moj/lfyjzj', require('./moj/lfyjzj'));
router.get('/ndrc/fggz/:category*', require('./ndrc/fggz'));
router.get('/ndrc/xwdt/:category*', require('./ndrc/xwdt'));
router.get('/nea/sjzz/ghs', require('./nea/ghs'));
diff --git a/lib/v2/gov/safe/util.js b/lib/v2/gov/safe/util.js
index 8fb315f13..a9a05a692 100644
--- a/lib/v2/gov/safe/util.js
+++ b/lib/v2/gov/safe/util.js
@@ -44,13 +44,13 @@ const processZxfkItems = async (site = 'beijing', category = 'ywzx', limit = '3'
return {
title: `${message.author}: ${message.content}`,
- link: new URL(item.find('.title').prop('href'), rootUrl).href,
+ link: currentUrl,
description: art(path.join(__dirname, 'templates/message.art'), {
message,
reply,
}),
author: `${message.author}/${reply.author}`,
- guid: item.find('.id').text(),
+ guid: `${currentUrl}#${message.author}(${message.date})/${reply.author}(${reply.date})`,
pubDate: parseDate(message.date),
updated: parseDate(reply.date),
};
diff --git a/lib/v2/hoyolab/constant.js b/lib/v2/hoyolab/constant.js
new file mode 100644
index 000000000..29187f294
--- /dev/null
+++ b/lib/v2/hoyolab/constant.js
@@ -0,0 +1,47 @@
+// 域名
+const HOST = 'https://bbs-api-os.hoyolab.com';
+// 活动列接口
+const EVENT_LIST = '/community/community_contribution/wapi/event/list';
+// 活动详情接口
+const POST_FULL = '/community/post/wapi/getPostFull';
+// 公告和资讯接口
+const NEW_LIST = '/community/post/wapi/getNewsList';
+
+const ICON = 'https://img-os-static.hoyolab.com/favicon.ico';
+// 源网站链接
+const LINK = 'https://www.hoyolab.com';
+
+// 部分图片使用了禁止公开访问的域名
+const PRIVATE_IMG = '
{
+ const query = new URLSearchParams({
+ type,
+ gids,
+ page_size: size,
+ }).toString();
+ const url = `${HOST}${NEW_LIST}?${query}`;
+ const res = await got({
+ method: 'get',
+ url,
+ headers: {
+ 'X-Rpc-Language': language,
+ },
+ }).json();
+ const list = res?.data?.list || [];
+ return list;
+};
+
+const replaceImgDomain = (content) => content.replaceAll(PRIVATE_IMG, PUBLIC_IMG);
+
+const getPostContent = (ctx, list, { type, language }) =>
+ Promise.all(
+ list.map(async (row) => {
+ const post = row.post;
+ const post_id = post.post_id;
+ const query = new URLSearchParams({
+ post_id,
+ language, // language为了区分缓存,对接口并无意义
+ }).toString();
+ const url = `${HOST}${POST_FULL}?${query}`;
+ return await ctx.cache.tryGet(url, async () => {
+ const res = await got({
+ method: 'get',
+ url,
+ headers: {
+ 'X-Rpc-Language': language,
+ },
+ }).json();
+ const author = res?.data?.post?.user?.nickname || '';
+ let content = res?.data?.post?.post?.content || '';
+ if (content === language || !content) {
+ content = post.content;
+ }
+ const description = replaceImgDomain(content);
+ return {
+ // 文章标题
+ title: post.subject,
+ // 文章链接
+ link: `${LINK}/article/${post_id}`,
+ // 文章正文
+ description,
+ // 文章发布日期
+ pubDate: parseDate(post.created_at * 1000),
+ // 如果有的话,文章分类
+ category: `${GIDS_MAP[post.game_id]}-${TYPE_MAP[type]}`,
+ author,
+ };
+ });
+ })
+ );
+
+module.exports = async (ctx) => {
+ try {
+ const { type, gids, language } = ctx.params;
+ const params = {
+ type,
+ gids,
+ language,
+ size: parseInt(ctx.query?.limit) || 15,
+ };
+ const list = await getEventList(params);
+ const items = await getPostContent(ctx, list, params);
+ ctx.state.data = {
+ title: `HoYoLAB-${GIDS_MAP[gids]}-${TYPE_MAP[type]}`,
+ link: LINK,
+ item: items,
+ image: ICON,
+ icon: ICON,
+ logo: ICON,
+ };
+ } catch (error) {
+ logger.error(error);
+ }
+};
diff --git a/lib/v2/hoyolab/radar.js b/lib/v2/hoyolab/radar.js
new file mode 100644
index 000000000..95cb1aa60
--- /dev/null
+++ b/lib/v2/hoyolab/radar.js
@@ -0,0 +1,22 @@
+module.exports = {
+ 'hoyolab.com': {
+ _name: 'HoYoLAB',
+ '.': [
+ {
+ title: '活动公告资讯',
+ docs: 'https://docs.rsshub.app/routes/game#hoyolab-news',
+ source: ['/', '/circles/:gid/:unknow/official'],
+ target: (params, url) => {
+ const typeMap = {
+ notices: '1',
+ events: '2',
+ news: '3',
+ };
+ const query = new URL(url).searchParams;
+ const type = typeMap[query.get('page_sort')] || '2';
+ return `/hoyolab/news/zh-cn/${params?.gid || 2}/${type}`;
+ },
+ },
+ ],
+ },
+};
diff --git a/lib/v2/hoyolab/router.js b/lib/v2/hoyolab/router.js
new file mode 100644
index 000000000..622b245a0
--- /dev/null
+++ b/lib/v2/hoyolab/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/news/:language/:gids/:type', require('./news'));
+};
diff --git a/lib/v2/huggingface/blog-zh.js b/lib/v2/huggingface/blog-zh.js
new file mode 100644
index 000000000..0682fc1c9
--- /dev/null
+++ b/lib/v2/huggingface/blog-zh.js
@@ -0,0 +1,34 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const { parseDate } = require('@/utils/parse-date');
+
+module.exports = async (ctx) => {
+ const { body: response } = await got('https://huggingface.co/blog/zh');
+ const $ = cheerio.load(response);
+
+ /** @type {Array<{blog: {local: string, title: string, author: string, thumbnail: string, date: string, tags: Array}, blogUrl: string, lang: 'zh', link: string}>} */
+ const papers = $('div[data-target="BlogThumbnail"]')
+ .toArray()
+ .map((item) => {
+ const props = $(item).data('props');
+ const link = $(item).find('a').attr('href');
+ return {
+ ...props,
+ link,
+ };
+ });
+
+ const items = papers.map((item) => ({
+ title: item.blog.title,
+ link: `https://huggingface.co${item.link}`,
+ category: item.blog.tags,
+ pubDate: parseDate(item.blog.date),
+ author: item.blog.author,
+ }));
+
+ ctx.state.data = {
+ title: 'Huggingface 中文博客',
+ link: 'https://huggingface.co/blog/zh',
+ item: items,
+ };
+};
diff --git a/lib/v2/huggingface/maintainer.js b/lib/v2/huggingface/maintainer.js
index 1abfb6105..ffc93bc13 100644
--- a/lib/v2/huggingface/maintainer.js
+++ b/lib/v2/huggingface/maintainer.js
@@ -1,3 +1,4 @@
module.exports = {
+ '/blog-zh': ['zcf0508'],
'/daily-papers': ['zeyugao'],
};
diff --git a/lib/v2/huggingface/radar.js b/lib/v2/huggingface/radar.js
index 24bf34063..7198e5238 100644
--- a/lib/v2/huggingface/radar.js
+++ b/lib/v2/huggingface/radar.js
@@ -8,6 +8,12 @@ module.exports = {
source: ['/papers', '/'],
target: '/huggingface/daily-papers',
},
+ {
+ title: '中文博客',
+ docs: 'https://docs.rsshub.app/routes/programming#huggingface',
+ source: ['/blog/zh', '/'],
+ target: '/huggingface/blog-zh',
+ },
],
},
};
diff --git a/lib/v2/huggingface/router.js b/lib/v2/huggingface/router.js
index ca991e4dd..5c62ff5f1 100644
--- a/lib/v2/huggingface/router.js
+++ b/lib/v2/huggingface/router.js
@@ -1,3 +1,4 @@
module.exports = (router) => {
+ router.get('/blog-zh', require('./blog-zh'));
router.get('/daily-papers', require('./daily-papers'));
};
diff --git a/lib/v2/jiemian/lists.js b/lib/v2/jiemian/lists.js
index a0cf7b251..c956e95ad 100644
--- a/lib/v2/jiemian/lists.js
+++ b/lib/v2/jiemian/lists.js
@@ -15,62 +15,69 @@ module.exports = async (ctx) => {
const $ = cheerio.load(response);
- let items = $('a.logStore, a[aid], div.title a, div.news-header a')
+ let items = $('a')
.toArray()
- .map((item) => {
+ .reduce((acc, item) => {
item = $(item);
- return {
- title: item.text(),
- link: item.prop('href'),
- };
- })
- .filter((item) => item.link && !item.link.startsWith(new URL('special', rootUrl).href));
+ const href = item.prop('href');
+ const link = href ? (href.startsWith('/') ? new URL(href, rootUrl).href : href) : undefined;
+
+ if (link && /\/(article|video)\/\w+\.html/.test(link)) {
+ acc[link] = {
+ title: item.text(),
+ link,
+ };
+ }
+ return acc;
+ }, {});
items = await Promise.all(
- items.slice(0, limit).map((item) =>
- ctx.cache.tryGet(item.link, async () => {
- const { data: detailResponse } = await got(item.link);
+ Object.values(items)
+ .slice(0, limit)
+ .map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ const { data: detailResponse } = await got(item.link);
- const content = cheerio.load(detailResponse);
- const image = content('div.article-img img').first();
- const video = content('#video-player').first();
+ const content = cheerio.load(detailResponse);
+ const image = content('div.article-img img').first();
+ const video = content('#video-player').first();
- item.title = content('div.article-header h1').text();
- item.description = art(path.join(__dirname, 'templates/description.art'), {
- image: image
- ? {
- src: image.prop('src'),
- alt: image.next('p').text() || item.title,
- }
- : undefined,
- video: video
- ? {
- src: video.prop('data-url'),
- poster: video.prop('data-poster'),
- width: video.prop('width'),
- height: video.prop('height'),
- }
- : undefined,
- intro: content('div.article-header p').text(),
- description: content('div.article-content').html(),
- });
- item.author = content('span.author')
- .first()
- .find('a')
- .toArray()
- .map((a) => content(a).text())
- .join('/');
- item.category = content('meta.meta-container a')
- .toArray()
- .map((c) => content(c).text());
- item.pubDate = parseDate(content('div.article-info span[data-article-publish-time]').prop('data-article-publish-time'), 'X');
- item.upvotes = content('span.opt-praise__count').text() ? parseInt(content('span.opt-praise__count').text(), 10) : 0;
- item.comments = content('span.opt-comment__count').text() ? parseInt(content('span.opt-comment__count').text(), 10) : 0;
+ item.title = content('div.article-header h1').text();
+ item.description = art(path.join(__dirname, 'templates/description.art'), {
+ image: image
+ ? {
+ src: image.prop('src'),
+ alt: image.next('p').text() || item.title,
+ }
+ : undefined,
+ video: video
+ ? {
+ src: video.prop('data-url'),
+ poster: video.prop('data-poster'),
+ width: video.prop('width'),
+ height: video.prop('height'),
+ }
+ : undefined,
+ intro: content('div.article-header p').text(),
+ description: content('div.article-content').html(),
+ });
+ item.author = content('span.author')
+ .first()
+ .find('a')
+ .toArray()
+ .map((a) => content(a).text())
+ .join('/');
+ item.category = content('meta.meta-container a')
+ .toArray()
+ .map((c) => content(c).text());
+ item.pubDate = parseDate(content('div.article-info span[data-article-publish-time]').prop('data-article-publish-time'), 'X');
+ item.upvotes = content('span.opt-praise__count').text() ? parseInt(content('span.opt-praise__count').text(), 10) : 0;
+ item.comments = content('span.opt-comment__count').text() ? parseInt(content('span.opt-comment__count').text(), 10) : 0;
- return item;
- })
- )
+ return item;
+ })
+ )
);
const title = $('title').text();
diff --git a/lib/v2/lifeweek/channel.js b/lib/v2/lifeweek/channel.js
new file mode 100644
index 000000000..8ae9168e2
--- /dev/null
+++ b/lib/v2/lifeweek/channel.js
@@ -0,0 +1,25 @@
+const got = require('@/utils/got');
+const getRssItem = require('./utils');
+
+const rootApiUrl = 'https://www.lifeweek.com.cn/api/userWebFollow/getFollowTagContentList?type=3&sort=2&tagId';
+const rootUrl = 'https://www.lifeweek.com.cn/column';
+const articleRootUrl = 'https://www.lifeweek.com.cn/article';
+
+module.exports = async (ctx) => {
+ const channel = ctx.params.id;
+ const url = `${rootApiUrl}=${channel}`;
+ const { data } = await got(url);
+ const result = data.model.articleResponseList;
+ const items = await Promise.all(
+ result.map((item) => {
+ const articleLink = `${articleRootUrl}/${item.id}`;
+ return ctx.cache.tryGet(articleLink, () => getRssItem(item, articleLink));
+ })
+ );
+
+ ctx.state.data = {
+ title: data.model.tagName,
+ link: `${rootUrl}/${channel}`,
+ item: items,
+ };
+};
diff --git a/lib/v2/lifeweek/maintainer.js b/lib/v2/lifeweek/maintainer.js
new file mode 100644
index 000000000..b9dca3363
--- /dev/null
+++ b/lib/v2/lifeweek/maintainer.js
@@ -0,0 +1,4 @@
+module.exports = {
+ '/channel/:channel': ['changren-wcr'],
+ '/tag/:tag': ['changren-wcr'],
+};
diff --git a/lib/v2/lifeweek/radar.js b/lib/v2/lifeweek/radar.js
new file mode 100644
index 000000000..80eeecd19
--- /dev/null
+++ b/lib/v2/lifeweek/radar.js
@@ -0,0 +1,19 @@
+module.exports = {
+ 'lifeweek.com.cn': {
+ _name: '三联生活周刊',
+ '.': [
+ {
+ title: '栏目',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#san-lian-sheng-huo-zhou-kan',
+ source: ['/column/:channel'],
+ target: '/lifeweek/channel/:channel',
+ },
+ {
+ title: '标签',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#san-lian-sheng-huo-zhou-kan',
+ source: ['/articleList/:tag'],
+ target: '/lifeweek/tag/:tag',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/lifeweek/router.js b/lib/v2/lifeweek/router.js
new file mode 100644
index 000000000..556194740
--- /dev/null
+++ b/lib/v2/lifeweek/router.js
@@ -0,0 +1,4 @@
+module.exports = function (router) {
+ router.get('/channel/:id', require('./channel'));
+ router.get('/tag/:id', require('./tag'));
+};
diff --git a/lib/v2/lifeweek/tag.js b/lib/v2/lifeweek/tag.js
new file mode 100644
index 000000000..51a20bddd
--- /dev/null
+++ b/lib/v2/lifeweek/tag.js
@@ -0,0 +1,24 @@
+const got = require('@/utils/got');
+const getRssItem = require('./utils');
+const rootApiUrl = 'https://www.lifeweek.com.cn/api/userWebFollow/getFollowTagContentList?type=4&sort=2&tagId';
+const rootUrl = 'https://www.lifeweek.com.cn/articleList';
+const articleRootUrl = 'https://www.lifeweek.com.cn/article';
+
+module.exports = async (ctx) => {
+ const tag = ctx.params.id;
+ const url = `${rootApiUrl}=${tag}`;
+ const { data } = await got(url);
+ const result = data.model.articleResponseList;
+ const items = await Promise.all(
+ result.map((item) => {
+ const articleLink = `${articleRootUrl}/${item.id}`;
+ return ctx.cache.tryGet(articleLink, () => getRssItem(item, articleLink));
+ })
+ );
+
+ ctx.state.data = {
+ title: data.model.tagName,
+ link: `${rootUrl}/${tag}`,
+ item: items,
+ };
+};
diff --git a/lib/v2/lifeweek/utils.js b/lib/v2/lifeweek/utils.js
new file mode 100644
index 000000000..67b29ae7b
--- /dev/null
+++ b/lib/v2/lifeweek/utils.js
@@ -0,0 +1,18 @@
+const got = require('@/utils/got');
+const timezone = require('@/utils/timezone');
+const { parseDate } = require('@/utils/parse-date');
+const articleApiRootUrl = 'https://www.lifeweek.com.cn/api/article';
+
+async function getRssItem(item, articleLink) {
+ const articleApiLink = `${articleApiRootUrl}/${item.id}`;
+ const { data } = await got(articleApiLink);
+ const time = timezone(parseDate(item.pubTime), +8);
+ return {
+ title: item.title,
+ description: data.model.content,
+ link: articleLink,
+ pubDate: time,
+ };
+}
+
+module.exports = getRssItem;
diff --git a/lib/v2/liveuamap/index.js b/lib/v2/liveuamap/index.js
new file mode 100644
index 000000000..229fb2337
--- /dev/null
+++ b/lib/v2/liveuamap/index.js
@@ -0,0 +1,41 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const { isValidHost } = require('@/utils/valid-host');
+
+module.exports = async (ctx) => {
+ let region = ctx.params.region ?? 'ukraine';
+ const limit = ctx.query.limit ? parseInt(ctx.query.limit) : 50;
+ if (!isValidHost(region)) {
+ throw Error('Invalid region');
+ }
+
+ let url = `https://${region}.liveuamap.com/`;
+ if (region === undefined) {
+ region = 'Default';
+ url = 'https://liveuamap.com/';
+ }
+
+ const response = await got({
+ method: 'get',
+ url,
+ });
+ const $ = cheerio.load(response.data);
+
+ const items = $('div#feedler > div')
+ .slice(0, limit)
+ .toArray()
+ .map((item) => {
+ item = $(item);
+ return {
+ title: item.find('div.title').text(),
+ description: item.find('div.title').text(),
+ link: item.attr('data-link'),
+ };
+ });
+
+ ctx.state.data = {
+ title: `Liveuamap - ${region}`,
+ link: url,
+ item: items,
+ };
+};
diff --git a/lib/v2/liveuamap/maintainer.js b/lib/v2/liveuamap/maintainer.js
new file mode 100644
index 000000000..f4c914280
--- /dev/null
+++ b/lib/v2/liveuamap/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/:region?': ['CoderSherlock'],
+};
diff --git a/lib/v2/liveuamap/radar.js b/lib/v2/liveuamap/radar.js
new file mode 100644
index 000000000..3610c00fb
--- /dev/null
+++ b/lib/v2/liveuamap/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'liveuamap.com': {
+ _name: 'Live Universal Awareness Map',
+ '.': [
+ {
+ title: 'Region',
+ docs: 'https://docs.rsshub.app/routes/new-media#live-universal-awareness-map',
+ source: ['/:region*'],
+ target: '/liveuamap/:region',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/liveuamap/router.js b/lib/v2/liveuamap/router.js
new file mode 100644
index 000000000..e540ed9ba
--- /dev/null
+++ b/lib/v2/liveuamap/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/:region?', require('./'));
+};
diff --git a/lib/v2/medieval-china/maintainer.js b/lib/v2/medieval-china/maintainer.js
new file mode 100644
index 000000000..1b61246e8
--- /dev/null
+++ b/lib/v2/medieval-china/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/': ['artefaritaKuniklo'],
+};
diff --git a/lib/v2/medieval-china/post.js b/lib/v2/medieval-china/post.js
new file mode 100644
index 000000000..251f28765
--- /dev/null
+++ b/lib/v2/medieval-china/post.js
@@ -0,0 +1,44 @@
+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 baseUrl = 'https://medieval-china.club';
+ const { data: response } = await got(baseUrl);
+ const $ = cheerio.load(response);
+ const posts = JSON.parse(
+ $('script:contains("window.localPosts")')
+ .text()
+ .match(/window\.localPosts = JSON\.parse\('(.*)'\);/)[1]
+ )
+ .slice(0, ctx.query.limit ? parseInt(ctx.query.limit) : 10)
+ .map((item) => ({
+ title: item.title,
+ link: `${baseUrl}${item.path}`,
+ pubDate: timezone(parseDate(item.date), +8),
+ }));
+ const items = await Promise.all(
+ posts.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ const { data: response } = await got(item.link);
+ const $ = cheerio.load(response);
+ const imgSrc = $('img').attr('data-original');
+ $('img').attr('src', `${baseUrl}${imgSrc}`);
+ $('.head-mask').remove();
+ $('div.lover-box').remove();
+ item.description = $('article').first().html();
+ return item;
+ })
+ )
+ );
+
+ ctx.state.data = {
+ title: '中国的中古',
+ link: baseUrl,
+ item: items,
+ image: 'https://medieval-china.club/images/icons/favicon-144x144.png',
+ description:
+ '世界那么大,你无法去到每一个地方,感受每一处风景;时间那么长,那些逝去的人你也终将无法与之谋面。而通过古人之文字,今人之分享,你可以领略以前风光之奇绝瑰玮,感受逝人之人情冷暖。中古就是这么一个地方,大家来自全球各地,不同时区,不同性别,不同身份,不同职业,但是大家都被中古的绚烂华章聚集在一起,哀其所哀,乐其所乐。这是一个虚拟的世界,但是我们仿佛跨越千里而来,谈一场绝世爱恋,今夕何夕!仅以此网站献给中古club的每一位成员,契阔谈宴,西园不芜!',
+ };
+};
diff --git a/lib/v2/medieval-china/radar.js b/lib/v2/medieval-china/radar.js
new file mode 100644
index 000000000..aea6fcfce
--- /dev/null
+++ b/lib/v2/medieval-china/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'medieval-china.club': {
+ _name: '中国的中古',
+ '.': [
+ {
+ title: '首页',
+ docs: 'https://docs.rsshub.app/routes/reading#zhong-guo-de-zhong-shou-ye',
+ source: '/',
+ target: '/medieval-china',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/medieval-china/router.js b/lib/v2/medieval-china/router.js
new file mode 100644
index 000000000..9e0d5e7f9
--- /dev/null
+++ b/lib/v2/medieval-china/router.js
@@ -0,0 +1,3 @@
+module.exports = function (router) {
+ router.get('/', require('./post'));
+};
diff --git a/lib/v2/ncc-cma/cmdp.js b/lib/v2/ncc-cma/cmdp.js
new file mode 100644
index 000000000..9a15d9317
--- /dev/null
+++ b/lib/v2/ncc-cma/cmdp.js
@@ -0,0 +1,81 @@
+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 iconv = require('iconv-lite');
+
+module.exports = async (ctx) => {
+ const { id } = ctx.params;
+ const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 50;
+
+ const ids = id?.split(/\//) ?? [];
+ const titles = [];
+
+ const rootUrl = 'http://cmdp.ncc-cma.net';
+ const currentUrl = new URL('cn/index.htm', rootUrl).href;
+
+ const { data: response } = await got(currentUrl, {
+ responseType: 'buffer',
+ });
+
+ const $ = cheerio.load(iconv.decode(response, 'gbk'));
+
+ const author = '国家气候中心';
+
+ const items = $('ul.img-con-new-con li img[id]')
+ .toArray()
+ .filter((item) => ids.length === 0 || ids.includes($(item).prop('id')))
+ .slice(0, limit)
+ .map((item) => {
+ item = $(item);
+
+ const id = item.prop('id');
+ const title = $(`li[data-id="${id}"]`).text() || undefined;
+ const src = new URL(item.prop('src'), currentUrl).href;
+ const date =
+ src
+ .match(/_(\d{4})(\d{2})(\d{2})_/)
+ ?.slice(1, 4)
+ .join('-') ?? new Date().toISOString().slice(0, 10);
+
+ if (ids.length !== 0 && title) {
+ titles.push(title);
+ }
+
+ return {
+ title: `${title} ${date}`,
+ link: currentUrl,
+ description: art(path.join(__dirname, 'templates/description.art'), {
+ image: {
+ src,
+ alt: `${title} ${date}`,
+ },
+ }),
+ author,
+ category: [title],
+ guid: `ncc-cma#${id}#${date}`,
+ pubDate: parseDate(date),
+ enclosure_url: src,
+ enclosure_type: `image/${src.split(/\./).pop()}`,
+ };
+ });
+
+ const subtitle = $('h1').last().text();
+ const image = $('img.logo').prop('src');
+ const icon = new URL('favicon.ico', rootUrl).href;
+
+ ctx.state.data = {
+ item: items,
+ title: `${author} - ${subtitle}${titles.length === 0 ? '' : ` - ${titles.join('|')}`}`,
+ link: currentUrl,
+ description: $('title').text(),
+ language: 'zh',
+ image,
+ icon,
+ logo: icon,
+ subtitle,
+ author,
+ allowEmpty: true,
+ };
+};
diff --git a/lib/v2/ncc-cma/maintainer.js b/lib/v2/ncc-cma/maintainer.js
new file mode 100644
index 000000000..f3aa9916c
--- /dev/null
+++ b/lib/v2/ncc-cma/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/cmdp/image/:id?': ['nczitzk'],
+};
diff --git a/lib/v2/ncc-cma/radar.js b/lib/v2/ncc-cma/radar.js
new file mode 100644
index 000000000..583e0e9d4
--- /dev/null
+++ b/lib/v2/ncc-cma/radar.js
@@ -0,0 +1,229 @@
+module.exports = {
+ 'ncc-cma.net': {
+ _name: '国家气候中心',
+ cmdp: [
+ {
+ title: '中国气温 - 日平均气温距平',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/RPJQWQYZ',
+ },
+ {
+ title: '中国气温 - 近5天平均气温距平',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ5TPJQWJP',
+ },
+ {
+ title: '中国气温 - 近10天平均气温距平',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ10TQWJP',
+ },
+ {
+ title: '中国气温 - 近20天平均气温距平',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ20TQWJP',
+ },
+ {
+ title: '中国气温 - 近30天平均气温距平',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ30TQWJP',
+ },
+ {
+ title: '中国气温 - 本月以来气温距平',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/BYYLQWJP',
+ },
+ {
+ title: '中国气温 - 本季以来气温距平',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/BJYLQWJP',
+ },
+ {
+ title: '中国气温 - 本年以来气温距平',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/BNYLQWJP',
+ },
+ {
+ title: '中国降水 - 日降水量分布',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/QGRJSLFBT0808S',
+ },
+ {
+ title: '中国降水 - 近5天降水量',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ5TJSLFBT',
+ },
+ {
+ title: '中国降水 - 近10天降水量',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ10TJSL',
+ },
+ {
+ title: '中国降水 - 近20天降水量',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ20TJSL',
+ },
+ {
+ title: '中国降水 - 近30天降水量',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ30TJSL',
+ },
+ {
+ title: '中国降水 - 本月以来降水量',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/BYYLJSL',
+ },
+ {
+ title: '中国降水 - 本季以来降水量',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/BJYLJSL',
+ },
+ {
+ title: '中国降水 - 近10天降水量距平百分率',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ10TJSLJP',
+ },
+ {
+ title: '中国降水 - 近20天降水量距平百分率',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ20TJSLJP',
+ },
+ {
+ title: '中国降水 - 近30天降水量距平百分率',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/ZJ30TJSLJP',
+ },
+ {
+ title: '中国降水 - 本月以来降水量距平百分率',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/BYYLJSLJPZYQHZ',
+ },
+ {
+ title: '中国降水 - 本季以来降水量距平百分率',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/BJYLJSLJPZJQHZ',
+ },
+ {
+ title: '中国降水 - 本年以来降水量距平百分率',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/BNYLJSLJP',
+ },
+ {
+ title: '全球气温 - 气温距平(最近10天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbtmeana10_',
+ },
+ {
+ title: '全球气温 - 气温距平(最近20天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbtmeana20_',
+ },
+ {
+ title: '全球气温 - 气温距平(最近30天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbtmeana30_',
+ },
+ {
+ title: '全球气温 - 气温距平(最近90天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbtmeana90_',
+ },
+ {
+ title: '全球气温 - 最低气温距平(最近30天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbtmina30_',
+ },
+ {
+ title: '全球气温 - 最低气温距平(最近90天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbtmina90_',
+ },
+ {
+ title: '全球气温 - 最高气温距平(最近30天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbtmaxa30_',
+ },
+ {
+ title: '全球气温 - 最高气温距平(最近90天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbtmaxa90_',
+ },
+ {
+ title: '全球降水 - 降水量(最近10天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbrain10_',
+ },
+ {
+ title: '全球降水 - 降水量(最近20天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbrain20_',
+ },
+ {
+ title: '全球降水 - 降水量(最近30天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbrain30_',
+ },
+ {
+ title: '全球降水 - 降水量(最近90天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbrain90_',
+ },
+ {
+ title: '全球降水 - 降水距平百分率(最近10天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbraina10_',
+ },
+ {
+ title: '全球降水 - 降水距平百分率(最近20天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbraina20_',
+ },
+ {
+ title: '全球降水 - 降水距平百分率(最近30天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbraina30_',
+ },
+ {
+ title: '全球降水 - 降水距平百分率(最近90天)',
+ docs: 'https://docs.rsshub.app/routes/forecast#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce',
+ source: ['/cn/index.htm'],
+ target: '/ncc-cma/cmdp/image/glbraina90_',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/ncc-cma/router.js b/lib/v2/ncc-cma/router.js
new file mode 100644
index 000000000..d2be06c8b
--- /dev/null
+++ b/lib/v2/ncc-cma/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/cmdp/image/:id*', require('./cmdp'));
+};
diff --git a/lib/v2/ncc-cma/templates/description.art b/lib/v2/ncc-cma/templates/description.art
new file mode 100644
index 000000000..baa091693
--- /dev/null
+++ b/lib/v2/ncc-cma/templates/description.art
@@ -0,0 +1,9 @@
+{{ if image?.src }}
+
+
+
+{{ /if }}
\ No newline at end of file
diff --git a/lib/v2/onet/maintainer.js b/lib/v2/onet/maintainer.js
new file mode 100644
index 000000000..8a1875e34
--- /dev/null
+++ b/lib/v2/onet/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/news': ['Vegann'],
+};
diff --git a/lib/v2/onet/news.js b/lib/v2/onet/news.js
new file mode 100644
index 000000000..225e146a7
--- /dev/null
+++ b/lib/v2/onet/news.js
@@ -0,0 +1,56 @@
+const parser = require('@/utils/rss-parser');
+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 { parseArticleContent, parseMainImage } = require('./utils');
+
+module.exports = async (ctx) => {
+ const rssUrl = 'https://wiadomosci.onet.pl/.feed';
+ const feed = await parser.parseURL(rssUrl);
+ const items = await Promise.all(
+ feed.items.map(async (item) => {
+ const { description, author, category } = await ctx.cache.tryGet(item.link, async () => {
+ const { data: response } = await got(item.link, {
+ headers: {
+ referer: 'https://www.onet.pl/', // for some reason onet.pl will redirect to the main page if referer is not set
+ },
+ });
+
+ const $ = cheerio.load(response);
+ const content = parseArticleContent($);
+
+ const mainImage = parseMainImage($);
+
+ const description = art(path.join(__dirname, 'templates/article.art'), {
+ mainImage,
+ lead: $('#lead').text()?.trim(),
+ content: content.html()?.trim(),
+ });
+
+ const author = $('.authorNameWrapper span[itemprop="name"]').text()?.trim();
+ const category = $('span.relatedTopic').text()?.trim();
+
+ return { description, author, category };
+ });
+ return {
+ title: item.title,
+ link: item.link,
+ description,
+ author,
+ category,
+ pubDate: parseDate(item.pubDate),
+ guid: item.id,
+ };
+ })
+ );
+ ctx.state.data = {
+ title: feed.title,
+ link: feed.link,
+ description: feed.title,
+ item: items,
+ language: 'pl',
+ image: 'https://ocdn.eu/wiadomosciucs/static/logo2017/onet2017big_dark.png',
+ };
+};
diff --git a/lib/v2/onet/radar.js b/lib/v2/onet/radar.js
new file mode 100644
index 000000000..f29d2f6b0
--- /dev/null
+++ b/lib/v2/onet/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'onet.pl': {
+ _name: 'Onet',
+ wiadomosci: [
+ {
+ title: 'News',
+ docs: 'https://docs.rsshub.app/routes/new-media#onet',
+ source: '/',
+ target: '/onet/news',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/onet/router.js b/lib/v2/onet/router.js
new file mode 100644
index 000000000..630036b8e
--- /dev/null
+++ b/lib/v2/onet/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/news', require('./news'));
+};
diff --git a/lib/v2/onet/templates/article.art b/lib/v2/onet/templates/article.art
new file mode 100644
index 000000000..36ed5db53
--- /dev/null
+++ b/lib/v2/onet/templates/article.art
@@ -0,0 +1,5 @@
+{{if lead }}
+ {{ lead }}
+{{/if}}
+{{@ mainImage }}
+{{@ content }}
diff --git a/lib/v2/onet/templates/image.art b/lib/v2/onet/templates/image.art
new file mode 100644
index 000000000..a4a8c8724
--- /dev/null
+++ b/lib/v2/onet/templates/image.art
@@ -0,0 +1,9 @@
+
+
+
+ {{if caption }}
+ {{ caption }} -
+ {{/if}}
+ {{ author }}
+
+
diff --git a/lib/v2/onet/utils.js b/lib/v2/onet/utils.js
new file mode 100644
index 000000000..af8a9a814
--- /dev/null
+++ b/lib/v2/onet/utils.js
@@ -0,0 +1,51 @@
+const { art } = require('@/utils/render');
+const path = require('path');
+
+const parseMainImage = ($) => {
+ const mainImage = $('figure.mainPhoto');
+ const img = mainImage.find('img');
+ const author = mainImage.find('span.copyright');
+ const caption = mainImage.find('span.imageDescription');
+
+ return art(path.join(__dirname, 'templates/image.art'), {
+ url: img.attr('src'),
+ alt: img.attr('alt')?.trim(),
+ author: author.text()?.trim(),
+ caption: caption.text()?.trim(),
+ });
+};
+
+const parseArticleContent = ($) => {
+ const content = $('[itemprop="articleBody"]');
+ $('*')
+ .contents()
+ .filter(function () {
+ return this.nodeType === 8;
+ })
+ .remove();
+ content.find('aside').remove();
+ content.find('.videoPlayerContainer').remove();
+ content.find('.pulsevideo').remove();
+ content.find('.adsContainer').remove();
+ content.find('.placeholder').remove();
+ content.find('.contentPremium').removeAttr('style');
+ content.find('div.image').each((i, el) => {
+ const img = $(el).find('img');
+ const author = $(el).find('span.author');
+ const caption = $(el).find('span.caption');
+ const html = art(path.join(__dirname, 'templates/image.art'), {
+ url: img.attr('src'),
+ alt: img.attr('alt')?.trim(),
+ caption: caption.text()?.trim(),
+ author: author.text()?.trim(),
+ });
+
+ $(el).replaceWith(html);
+ });
+
+ return content;
+};
+module.exports = {
+ parseArticleContent,
+ parseMainImage,
+};
diff --git a/lib/v2/otobanana/cast.js b/lib/v2/otobanana/cast.js
new file mode 100644
index 000000000..bb45141a3
--- /dev/null
+++ b/lib/v2/otobanana/cast.js
@@ -0,0 +1,29 @@
+const got = require('@/utils/got');
+const { apiBase, baseUrl, getUserInfo, renderCast } = require('./utils');
+
+module.exports = async (ctx) => {
+ const { id } = ctx.params;
+
+ const userInfo = await getUserInfo(id, ctx.cache.tryGet);
+ const { data: castData } = await got(`${apiBase}/users/${id}/casts/`);
+
+ const casts = castData.results.map((item) => renderCast(item));
+
+ ctx.state.data = {
+ title: `${userInfo.name} (@${userInfo.username}) - 音声投稿 | OTOBANANA`,
+ description: userInfo.bio.replace(/\n/g, ' '),
+ link: `${baseUrl}/user/${id}`,
+ image: userInfo.avatar_url,
+ icon: userInfo.avatar_url,
+ logo: userInfo.avatar_url,
+ language: 'ja',
+ author: userInfo.name,
+ itunes_author: userInfo.name,
+ item: casts,
+ };
+
+ ctx.state.json = {
+ userInfo,
+ castData,
+ };
+};
diff --git a/lib/v2/otobanana/livestream.js b/lib/v2/otobanana/livestream.js
new file mode 100644
index 000000000..e8f029e48
--- /dev/null
+++ b/lib/v2/otobanana/livestream.js
@@ -0,0 +1,29 @@
+const got = require('@/utils/got');
+const { apiBase, baseUrl, getUserInfo, renderLive } = require('./utils');
+
+module.exports = async (ctx) => {
+ const { id } = ctx.params;
+
+ const userInfo = await getUserInfo(id, ctx.cache.tryGet);
+ const { data: liveData } = await got(`${apiBase}/users/${id}/livestreams/`);
+
+ const casts = liveData.results.map((item) => renderLive(item));
+
+ ctx.state.data = {
+ title: `${userInfo.name} (@${userInfo.username}) - ライブ配信 | OTOBANANA`,
+ description: userInfo.bio.replace(/\n/g, ' '),
+ link: `${baseUrl}/user/${id}`,
+ image: userInfo.avatar_url,
+ icon: userInfo.avatar_url,
+ logo: userInfo.avatar_url,
+ language: 'ja',
+ author: userInfo.name,
+ itunes_author: userInfo.name,
+ item: casts,
+ };
+
+ ctx.state.json = {
+ userInfo,
+ liveData,
+ };
+};
diff --git a/lib/v2/otobanana/maintainer.js b/lib/v2/otobanana/maintainer.js
new file mode 100644
index 000000000..1db1a6d2f
--- /dev/null
+++ b/lib/v2/otobanana/maintainer.js
@@ -0,0 +1,5 @@
+module.exports = {
+ '/user/:id': ['TonyRL'],
+ '/user/:id/cast': ['TonyRL'],
+ '/user/:id/livestream': ['TonyRL'],
+};
diff --git a/lib/v2/otobanana/radar.js b/lib/v2/otobanana/radar.js
new file mode 100644
index 000000000..3927bb424
--- /dev/null
+++ b/lib/v2/otobanana/radar.js
@@ -0,0 +1,25 @@
+module.exports = {
+ 'otobanana.com': {
+ _name: 'OTOBANANA',
+ '.': [
+ {
+ title: 'Timeline タイムライン',
+ docs: 'https://docs.rsshub.app/multimedia#otobanana',
+ source: ['/user/:id'],
+ target: '/otobanana/user/:id',
+ },
+ {
+ title: 'Cast 音声投稿',
+ docs: 'https://docs.rsshub.app/multimedia#otobanana',
+ source: ['/user/:id/cast', '/user/:id'],
+ target: '/otobanana/user/:id/cast',
+ },
+ {
+ title: 'Livestream ライブ配信',
+ docs: 'https://docs.rsshub.app/multimedia#otobanana',
+ source: ['/user/:id/livestream', '/user/:id'],
+ target: '/otobanana/user/:id/livestream',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/otobanana/router.js b/lib/v2/otobanana/router.js
new file mode 100644
index 000000000..1d3ec6d66
--- /dev/null
+++ b/lib/v2/otobanana/router.js
@@ -0,0 +1,5 @@
+module.exports = (router) => {
+ router.get('/user/:id', require('./timeline'));
+ router.get('/user/:id/cast', require('./cast'));
+ router.get('/user/:id/livestream', require('./livestream'));
+};
diff --git a/lib/v2/otobanana/templates/description.art b/lib/v2/otobanana/templates/description.art
new file mode 100644
index 000000000..72a6921cf
--- /dev/null
+++ b/lib/v2/otobanana/templates/description.art
@@ -0,0 +1,11 @@
+{{ if cast }}
+
+
+
+
+💬 {{ cast.comment_count }} ❤️ {{ cast.like_count }} 🍌 {{ cast.gift_banana }} {{ cast.play_count }} 再生
+
+{{@ cast.text.replace(/\n/g, '
') }}
+{{ /if }}
diff --git a/lib/v2/otobanana/timeline.js b/lib/v2/otobanana/timeline.js
new file mode 100644
index 000000000..93984b608
--- /dev/null
+++ b/lib/v2/otobanana/timeline.js
@@ -0,0 +1,29 @@
+const got = require('@/utils/got');
+const { apiBase, baseUrl, getUserInfo, renderPost } = require('./utils');
+
+module.exports = async (ctx) => {
+ const { id } = ctx.params;
+
+ const userInfo = await getUserInfo(id, ctx.cache.tryGet);
+ const { data: postData } = await got(`${apiBase}/users/${id}/posts/`);
+
+ const posts = postData.results.map((item) => renderPost(item));
+
+ ctx.state.data = {
+ title: `${userInfo.name} (@${userInfo.username}) - タイムライン | OTOBANANA`,
+ description: userInfo.bio.replace(/\n/g, ' '),
+ link: `${baseUrl}/user/${id}`,
+ image: userInfo.avatar_url,
+ icon: userInfo.avatar_url,
+ logo: userInfo.avatar_url,
+ language: 'ja',
+ author: userInfo.name,
+ itunes_author: userInfo.name,
+ item: posts,
+ };
+
+ ctx.state.json = {
+ userInfo,
+ postData,
+ };
+};
diff --git a/lib/v2/otobanana/utils.js b/lib/v2/otobanana/utils.js
new file mode 100644
index 000000000..61b4d853c
--- /dev/null
+++ b/lib/v2/otobanana/utils.js
@@ -0,0 +1,67 @@
+const got = require('@/utils/got');
+const { parseDate } = require('@/utils/parse-date');
+const { art } = require('@/utils/render');
+const { join } = require('path');
+
+const domain = 'otobanana.com';
+const apiBase = `https://api.${domain}`;
+const baseUrl = `https://${domain}`;
+
+const getUserInfo = (id, tryGet) =>
+ tryGet(`otobanana:user:${id}`, async () => {
+ const { data } = await got(`${apiBase}/users/${id}/`);
+ return data;
+ });
+
+const renderCast = (cast) => ({
+ title: cast.title,
+ description: art(join(__dirname, 'templates/description.art'), { cast }),
+ pubDate: parseDate(cast.created_at),
+ link: `https://otobanana.com/cast/${cast.id}`,
+ author: `${cast.user.name} (@${cast.user.username})`,
+ itunes_item_image: cast.thumbnail_url,
+ itunes_duration: cast.duration_time,
+ enclosure_url: cast.audio_url,
+ enclosure_type: 'audio/x-m4a',
+ upvotes: cast.like_count,
+ comments: cast.comment_count,
+});
+
+const renderLive = (live) => ({
+ title: live.title,
+ description: live.is_open ? '配信中のライブ' : '終了しました',
+ pubDate: parseDate(live.created_at),
+ link: live.room_url,
+ guid: `${live.room_url}#${live.id}`,
+ author: `${live.user.name} (@${live.user.username})`,
+ upvotes: live.like_count,
+ comments: live.comment_count,
+});
+
+const renderPost = ({ id, type_label: type, cast, /** livestream */ message /** , event */ }) => {
+ switch (type) {
+ case 'cast':
+ return renderCast(cast);
+ case 'message':
+ return {
+ title: message.text.split('\n')[0],
+ description: message.text.replace(/\n/g, '
'),
+ pubDate: parseDate(message.created_at),
+ link: `https://otobanana.com/${type}/${id}`,
+ author: `${message.user.name} (@${message.user.username})`,
+ upvotes: message.like_count,
+ comments: message.comment_count,
+ };
+ default:
+ throw Error(`Unknown post type: ${type}`);
+ }
+};
+
+module.exports = {
+ apiBase,
+ baseUrl,
+ getUserInfo,
+ renderCast,
+ renderLive,
+ renderPost,
+};
diff --git a/lib/v2/papers/index.js b/lib/v2/papers/index.js
new file mode 100644
index 000000000..e8437ad52
--- /dev/null
+++ b/lib/v2/papers/index.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');
+
+module.exports = async (ctx) => {
+ const { category = 'arxiv/cs.CL' } = ctx.params;
+ const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 150;
+
+ const rootUrl = 'https://papers.cool';
+ const currentUrl = new URL(category, rootUrl).href;
+
+ const site = category.split(/\//)[0];
+ const apiKimiUrl = new URL(`${site}/kimi/`, rootUrl).href;
+
+ const { data: response } = await got(currentUrl);
+
+ const $ = cheerio.load(response);
+
+ const pubDate = parseDate(
+ $('p.info')
+ .first()
+ .text()
+ .match(/(\d+\s\w+\s\d{4})/)[1],
+ ['DD MMM YYYY', 'D MMM YYYY']
+ );
+
+ const items = $('div.panel')
+ .slice(0, limit)
+ .toArray()
+ .map((item) => {
+ item = $(item);
+
+ const id = item.prop('id');
+ const kimiUrl = new URL(id, apiKimiUrl).href;
+ const enclosureUrl =
+ item
+ .find('a.pdf-preview')
+ .prop('onclick')
+ .match(/'(http.*?)'/)?.[1] ?? undefined;
+
+ return {
+ title: item.find('span[id]').first().text(),
+ link: kimiUrl,
+ description: art(path.join(__dirname, 'templates/description.art'), {
+ kimiUrl,
+ siteUrl: item.find('a').first().prop('href'),
+ pdfUrl: enclosureUrl,
+ summary: item.find('p.summary').text(),
+ }),
+ author: item
+ .find('p.authors a')
+ .toArray()
+ .map((a) => $(a).text())
+ .join('; '),
+ guid: `${currentUrl}#${id}`,
+ pubDate,
+ enclosure_url: enclosureUrl,
+ enclosure_type: enclosureUrl ? 'application/pdf' : undefined,
+ };
+ });
+
+ const title = $('title').text();
+ const icon = new URL('favicon.ico', rootUrl).href;
+
+ ctx.state.data = {
+ item: items,
+ title: title.split(/-/)[0].trim(),
+ link: currentUrl,
+ description: title,
+ icon,
+ logo: icon,
+ subtitle: $('h1').first().text(),
+ };
+};
diff --git a/lib/v2/papers/maintainer.js b/lib/v2/papers/maintainer.js
new file mode 100644
index 000000000..81eb78d73
--- /dev/null
+++ b/lib/v2/papers/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/:category?': ['nczitzk'],
+};
diff --git a/lib/v2/papers/radar.js b/lib/v2/papers/radar.js
new file mode 100644
index 000000000..7c5b25b97
--- /dev/null
+++ b/lib/v2/papers/radar.js
@@ -0,0 +1,17 @@
+module.exports = {
+ 'papers.cool': {
+ _name: 'Cool Papers',
+ '.': [
+ {
+ title: 'Category',
+ docs: 'https://docs.rsshub.app/routes/journal#cool-papers-category',
+ source: ['/:category*'],
+ target: (params) => {
+ const category = params.category;
+
+ return `/papers${category ? `/${category}` : ''}`;
+ },
+ },
+ ],
+ },
+};
diff --git a/lib/v2/papers/router.js b/lib/v2/papers/router.js
new file mode 100644
index 000000000..9aa561a60
--- /dev/null
+++ b/lib/v2/papers/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/:category*', require('./'));
+};
diff --git a/lib/v2/papers/templates/description.art b/lib/v2/papers/templates/description.art
new file mode 100644
index 000000000..368ea61f8
--- /dev/null
+++ b/lib/v2/papers/templates/description.art
@@ -0,0 +1,15 @@
+{{ if pdfUrl }}
+ [PDF]
+{{ /if }}
+
+{{ if siteUrl }}
+ [Site]
+{{ /if }}
+
+{{ if kimiUrl }}
+ [Kimi]
+{{ /if }}
+
+{{ if summary }}
+ {{ summary }}
+{{ /if }}
\ No newline at end of file
diff --git a/lib/v2/qweather/3days.js b/lib/v2/qweather/3days.js
index d3556be0a..3c3098884 100644
--- a/lib/v2/qweather/3days.js
+++ b/lib/v2/qweather/3days.js
@@ -2,45 +2,72 @@ const got = require('@/utils/got');
const { art } = require('@/utils/render');
const path = require('path');
const config = require('@/config').value;
-const rootUrl = 'https://devapi.qweather.com/v7/weather/3d?';
+
+const WEATHER_API = 'https://devapi.qweather.com/v7/weather/3d';
+const AIR_QUALITY_API = 'https://devapi.qweather.com/v7/air/5d';
+const CIRY_LOOKUP_API = 'https://geoapi.qweather.com/v2/city/lookup';
+const author = 'QWeather';
module.exports = async (ctx) => {
+ if (!config.hefeng.key) {
+ throw Error('QWeather RSS is disabled due to the lack of relevant config');
+ }
const id = await ctx.cache.tryGet(ctx.params.location + '_id', async () => {
- const response = await got(`https://geoapi.qweather.com/v2/city/lookup?location=${ctx.params.location}&key=${config.hefeng.key}`);
- const data = [];
- for (const i in response.data.location) {
- data.push(response.data.location[i]);
- }
- return data[0].id;
+ const response = await got(`${CIRY_LOOKUP_API}?location=${ctx.params.location}&key=${config.hefeng.key}`);
+ return response.data.location[0].id;
});
- const requestUrl = rootUrl + 'key=' + config.hefeng.key + '&location=' + id;
- const responseData = await ctx.cache.tryGet(
+ const weatherData = await ctx.cache.tryGet(
ctx.params.location,
async () => {
- const response = await got(requestUrl);
+ const response = await got(`${WEATHER_API}?key=${config.hefeng.key}&location=${id}`);
return response.data;
},
config.cache.contentExpire,
false
);
- const data = [];
- for (const i in responseData.daily) {
- data.push(responseData.daily[i]);
- }
- const items = data.map((item) => ({
- title: `${item.fxDate}: ${item.textDay === item.textNight ? item.textDay : item.textDay + '转' + item.textNight}`,
+ const airQualityData = await ctx.cache.tryGet(
+ `qweather:air:${ctx.params.location}`,
+ async () => {
+ const airQualityResponse = await got(`${AIR_QUALITY_API}?location=${id}&key=${config.hefeng.key}`);
+ return airQualityResponse.data;
+ },
+ config.cache.contentExpire,
+ false
+ );
+ // merge weather data with air quality data
+ const combined = {
+ updateTime: weatherData.updateTime,
+ fxLink: weatherData.fxLink,
+ daily: weatherData.daily.map((weatherItem) => {
+ const dailyAirQuality = airQualityData.daily.find((airQualityItem) => airQualityItem.fxDate === weatherItem.fxDate);
+ if (dailyAirQuality) {
+ return {
+ ...weatherItem,
+ aqi: dailyAirQuality.aqi,
+ aqiLevel: dailyAirQuality.level,
+ aqiCategory: dailyAirQuality.category,
+ aqiPrimary: dailyAirQuality.primary,
+ };
+ }
+ return weatherItem;
+ }),
+ };
+ const items = combined.daily.map((item) => ({
+ title: `${item.fxDate}: ${item.textDay === item.textNight ? item.textDay : item.textDay + '转' + item.textNight} ${item.tempMin}~${item.tempMax}℃`,
description: art(path.join(__dirname, 'templates/3days.art'), {
item,
}),
- pubDate: responseData.updateTime,
+ pubDate: combined.updateTime,
guid: '位置:' + ctx.params.location + '--日期:' + item.fxDate,
- link: responseData.fxLink,
+ link: combined.fxLink,
+ author,
}));
ctx.state.data = {
title: ctx.params.location + '未来三天天气',
- description: ctx.params.location + '未来三天天气情况,使用和风彩云api',
+ description: ctx.params.location + '未来三天天气情况,使用和风彩云 API (包括空气质量)',
item: items,
- link: responseData.fxLink,
+ link: combined.fxLink,
+ author,
};
};
diff --git a/lib/v2/qweather/maintainer.js b/lib/v2/qweather/maintainer.js
index 6739e5548..a4ae1c851 100644
--- a/lib/v2/qweather/maintainer.js
+++ b/lib/v2/qweather/maintainer.js
@@ -1,4 +1,4 @@
module.exports = {
- '/3days/:location': ['Rein-Ou'],
+ '/3days/:location': ['Rein-Ou', 'la3rence'],
'/now/:location': ['Rein-Ou'],
};
diff --git a/lib/v2/qweather/templates/3days.art b/lib/v2/qweather/templates/3days.art
index 5d97c1d92..8a217577d 100644
--- a/lib/v2/qweather/templates/3days.art
+++ b/lib/v2/qweather/templates/3days.art
@@ -4,6 +4,8 @@
相对湿度:{{item.humidity}}%
+空气质量指数:{{item.aqi}} ({{item.aqiCategory}})
+
大气压强:{{item.pressure}}百帕
紫外线强度:{{item.uvIndex}}
diff --git a/lib/v2/saraba1st/digest.js b/lib/v2/saraba1st/digest.js
index 07e4f3ab5..286549b0e 100644
--- a/lib/v2/saraba1st/digest.js
+++ b/lib/v2/saraba1st/digest.js
@@ -75,5 +75,17 @@ async function fetchContent(url) {
}
});
+ stubS.find('img').each(function () {
+ const img = subind(this);
+ const file = img.attr('file');
+ if (file) {
+ img.attr('src', file);
+ img.removeAttr('zoomfile');
+ img.removeAttr('file');
+ img.removeAttr('onmouseover');
+ img.removeAttr('onclick');
+ }
+ });
+
return stubS.html();
}
diff --git a/lib/v2/shiep/config.js b/lib/v2/shiep/config.js
index 8694d39a4..7051f3bd1 100644
--- a/lib/v2/shiep/config.js
+++ b/lib/v2/shiep/config.js
@@ -26,9 +26,9 @@ const config = {
jjc: { title: '基建处', id: '327' },
jjxy: { title: '继续教育学院(国际教育学院)', id: '2582' },
jsjxfzzx: { title: '教师教学发展中心', id: '3909' },
- jsjxy: { title: '计算机科学与技术学院', id: 'xygg', listSelector: 'div.post-entry-2', pubDateSelector: 'span:nth-child(2)' },
+ jsjxy: { title: '计算机科学与技术学院', id: 'xygg', listSelector: 'div.xylist', pubDateSelector: 'span:nth-child(2)' },
jszyzx: { title: '技术转移中心', id: '4247' },
- jwc: { title: '教务处', id: '227' },
+ jwc: { title: '教务处', id: '227', listSelector: 'div.text-list li', pubDateSelector: 'span.time' },
jxfz: { title: '电力装备设计与制造虚拟仿真中心', id: '3330' },
kczx: { title: '能源电力科创中心', id: '3946' },
kyc: { title: '科研处/融合办', id: '834' },
diff --git a/lib/v2/shiep/index.js b/lib/v2/shiep/index.js
index f189ddc90..044c4c41c 100644
--- a/lib/v2/shiep/index.js
+++ b/lib/v2/shiep/index.js
@@ -10,7 +10,13 @@ module.exports = async (ctx) => {
const type = ctx.params.type;
if (!Object.keys(config).includes(type)) {
- throw Error('Invalid type');
+ throw Error(`Invalid type: ${type}`);
+ }
+
+ const { listSelector = '.list_item', pubDateSelector = '.Article_PublishDate', descriptionSelector = '.wp_articlecontent', title } = config[type];
+
+ if (!title) {
+ throw Error(`Invalid type: ${type}`);
}
const host = `https://${type}.shiep.edu.cn`;
@@ -20,23 +26,21 @@ module.exports = async (ctx) => {
const response = await got(link);
const $ = cheerio.load(response.data);
- const listSelector = config[type].listSelector || '.list_item';
- const pubDateSelector = config[type].pubDateSelector || '.Article_PublishDate';
- const descriptionSelector = config[type].descriptionSelector || '.wp_articlecontent';
-
const list = $(listSelector)
.toArray()
- .filter((item) => {
- const date = dayjs($(item).find(pubDateSelector).text().trim());
- return date.isValid();
- })
.map((item) => {
item = $(item);
+ const pubDateText = item.find(pubDateSelector).text().trim();
+ const match = pubDateText.match(/\b(\d{4}-\d{2}-\d{2})\b/);
return {
- title: item.find('a').attr('title') || item.find('a').text(),
+ title: item.find('a').attr('title') || item.find('h3').text() || item.find('a').text(),
link: new URL(item.find('a').attr('href'), host).href,
- pubDate: parseDate(item.find(pubDateSelector).text().trim(), 'YYYY-MM-DD'),
+ pubDate: match ? parseDate(match[0], 'YYYY-MM-DD') : null,
};
+ })
+ .filter((item) => {
+ const date = dayjs(item.pubDate);
+ return date.isValid();
});
const items = await Promise.all(
@@ -62,9 +66,8 @@ module.exports = async (ctx) => {
);
ctx.state.data = {
- title: '上海电力大学-' + config[type].title,
+ title: `上海电力大学-${title}`,
link,
- description: '上海电力大学-' + config[type].title,
item: items,
};
};
diff --git a/lib/v2/shmeea/index.js b/lib/v2/shmeea/index.js
index 14067fd34..6fc1c22f3 100644
--- a/lib/v2/shmeea/index.js
+++ b/lib/v2/shmeea/index.js
@@ -1,44 +1,53 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
+const timezone = require('@/utils/timezone');
+const { parseDate } = require('@/utils/parse-date');
module.exports = async (ctx) => {
- const baseURL = 'http://www.shmeea.edu.cn';
- const rootUrl = baseURL + '/page/08000/index.html';
- const response = await got({
- method: 'get',
- url: rootUrl,
- });
+ const id = ctx.params.id ?? '08000';
+ const baseURL = 'https://www.shmeea.edu.cn';
+ const link = `${baseURL}/page/${id}/index.html`;
- const data = response.data;
+ const response = await got(link);
+ const $ = cheerio.load(response.data);
- const $ = cheerio.load(data);
+ const title = `上海市教育考试院-${$('#main .pageh4-tit').text().trim()}`;
- const list = $('#main .pageList li');
+ const list = $('#main .pageList li')
+ .toArray()
+ .map((item) => {
+ item = $(item);
+ return {
+ title: item.find('a').attr('title') || item.find('a').text(),
+ link: new URL(item.find('a').attr('href'), baseURL).href,
+ pubDate: parseDate(item.find('.listTime').text().trim(), 'YYYY-MM-DD'),
+ };
+ });
const items = await Promise.all(
- list.map(async (i, item) => {
- item = $(item);
- const link = baseURL + item.find('a').attr('href');
- const description = await ctx.cache.tryGet(link, async () => {
- const result = await got.get(link);
+ list.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ if (!item.link.endsWith('.html') || new URL(item.link).hostname !== new URL(baseURL).hostname) {
+ return item;
+ }
+ const result = await got(item.link);
const $ = cheerio.load(result.data);
- return $('#ivs_content').html();
- });
- return {
- title: item.find('a').text(),
- pubDate: new Date(item.find('.listTime').text()),
- link,
- description,
- };
- })
+ const description = $('#ivs_content').html();
+ const pbTimeText = $('#ivs_title .PBtime').text().trim();
+
+ item.description = description;
+ item.pubDate = pbTimeText ? timezone(parseDate(pbTimeText, 'YYYY-MM-DD HH:mm:ss'), +8) : item.pubDate;
+
+ return item;
+ })
+ )
);
ctx.state.data = {
- title: '上海市教育考试院',
- description: '消息速递',
- link: baseURL,
+ title,
+ link,
item: items,
};
};
diff --git a/lib/v2/shmeea/maintainer.js b/lib/v2/shmeea/maintainer.js
index 000328f18..091353e53 100644
--- a/lib/v2/shmeea/maintainer.js
+++ b/lib/v2/shmeea/maintainer.js
@@ -1,4 +1,4 @@
module.exports = {
- '/': ['jialinghui'],
+ '/:id?': ['jialinghui', 'Misaka13514'],
'/self-study': ['h2ws'],
};
diff --git a/lib/v2/shmeea/radar.js b/lib/v2/shmeea/radar.js
index 7f84a7b93..010c259f6 100644
--- a/lib/v2/shmeea/radar.js
+++ b/lib/v2/shmeea/radar.js
@@ -3,14 +3,17 @@ module.exports = {
_name: '上海市教育考试院',
www: [
{
- title: '消息速递',
- docs: 'https://docs.rsshub.app/routes/other#shang-hai-shi-jiao-yu-kao-shi-yuan',
- source: ['/'],
- target: '/shmeea',
+ title: '消息',
+ docs: 'https://docs.rsshub.app/routes/study#shang-hai-shi-jiao-yu-kao-shi-yuan',
+ source: ['/page/:id?/index.html'],
+ target: (params, url, document) => {
+ const li = document.querySelector('#main .pageList li');
+ return li ? '/shmeea/:id?' : '';
+ },
},
{
title: '自学考试通知公告',
- docs: 'https://docs.rsshub.app/routes/other#shang-hai-shi-jiao-yu-kao-shi-yuan',
+ docs: 'https://docs.rsshub.app/routes/study#shang-hai-shi-jiao-yu-kao-shi-yuan',
source: ['/page/04000/index.html', '/'],
target: '/shmeea/self-study',
},
diff --git a/lib/v2/shmeea/router.js b/lib/v2/shmeea/router.js
index b864ea159..2493022da 100644
--- a/lib/v2/shmeea/router.js
+++ b/lib/v2/shmeea/router.js
@@ -1,4 +1,4 @@
module.exports = function (router) {
- router.get('/', require('./index'));
router.get('/self-study', require('./self-study'));
+ router.get('/:id?', require('./index'));
};
diff --git a/lib/v2/sspu/maintainer.js b/lib/v2/sspu/maintainer.js
index 7ddb6347a..81b227d6e 100644
--- a/lib/v2/sspu/maintainer.js
+++ b/lib/v2/sspu/maintainer.js
@@ -1,3 +1,4 @@
module.exports = {
'/jwc/:listId': ['TonyRL'],
+ '/pe/:id?': ['nczitzk'],
};
diff --git a/lib/v2/sspu/pe.js b/lib/v2/sspu/pe.js
new file mode 100644
index 000000000..143e6179b
--- /dev/null
+++ b/lib/v2/sspu/pe.js
@@ -0,0 +1,65 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const { parseDate } = require('@/utils/parse-date');
+
+module.exports = async (ctx) => {
+ const { id = '342' } = ctx.params;
+ const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 30;
+
+ const rootUrl = 'https://pe2016.sspu.edu.cn';
+ const currentUrl = new URL(`${id}/list.htm`, rootUrl).href;
+
+ const { data: response } = await got(currentUrl);
+
+ const $ = cheerio.load(response);
+
+ let items = $('table.wp_article_list_table a[title]')
+ .slice(0, limit)
+ .toArray()
+ .map((item) => {
+ item = $(item);
+
+ return {
+ title: item.text(),
+ link: new URL(item.prop('href'), rootUrl).href,
+ pubDate: parseDate(item.prev().text()),
+ };
+ });
+
+ items = await Promise.all(
+ items.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ if (item.link.endsWith('htm')) {
+ const { data: detailResponse } = await got(item.link);
+
+ const content = cheerio.load(detailResponse);
+
+ const info = content('div.time').text();
+
+ item.title = content('div.title').text();
+ item.description = content('div.wp_articlecontent').html();
+ item.author = info.match(/来源:(.*?)\s/)?.[1] ?? undefined;
+ item.pubDate = info.match(/发布时间:(\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2})\s/)?.[1] ?? undefined;
+ }
+
+ return item;
+ })
+ )
+ );
+
+ const author = '上海第二工业大学';
+ const subtitle = $('title').text();
+ const icon = new URL($('link[rel="shortcut icon"]').prop('href'), rootUrl).href;
+
+ ctx.state.data = {
+ item: items,
+ title: `${author} - ${subtitle}`,
+ link: currentUrl,
+ description: $('div.tyb_headtitle1').text(),
+ language: $('html').prop('lang'),
+ icon,
+ logo: icon,
+ subtitle,
+ author,
+ };
+};
diff --git a/lib/v2/sspu/radar.js b/lib/v2/sspu/radar.js
index b0c3b7664..36fb4a379 100644
--- a/lib/v2/sspu/radar.js
+++ b/lib/v2/sspu/radar.js
@@ -9,5 +9,13 @@ module.exports = {
target: '/sspu/jwc/:listId',
},
],
+ pe2016: [
+ {
+ title: '体育部',
+ docs: 'https://docs.rsshub.app/university#shang-hai-di-er-gong-ye-da-xue-ti-yu-bu',
+ source: ['/:id/list.htm'],
+ target: '/sspu/pe/:id',
+ },
+ ],
},
};
diff --git a/lib/v2/sspu/router.js b/lib/v2/sspu/router.js
index fa4184a46..4309b4dcb 100644
--- a/lib/v2/sspu/router.js
+++ b/lib/v2/sspu/router.js
@@ -1,3 +1,4 @@
module.exports = (router) => {
router.get('/jwc/:listId', require('./jwc'));
+ router.get('/pe/:id?', require('./pe'));
};
diff --git a/lib/v2/tiktok/maintainer.js b/lib/v2/tiktok/maintainer.js
index 59dcb464e..9abb399b9 100644
--- a/lib/v2/tiktok/maintainer.js
+++ b/lib/v2/tiktok/maintainer.js
@@ -1,3 +1,3 @@
module.exports = {
- '/user/:user': ['TonyRL'],
+ '/user/:user/:iframe?': ['TonyRL'],
};
diff --git a/lib/v2/tradingview/blog.js b/lib/v2/tradingview/blog.js
index bbac1845f..2efb7889b 100644
--- a/lib/v2/tradingview/blog.js
+++ b/lib/v2/tradingview/blog.js
@@ -6,55 +6,98 @@ const { art } = require('@/utils/render');
const path = require('path');
module.exports = async (ctx) => {
- const language = ctx.params.language ?? 'en';
+ const { category = 'en' } = ctx.params;
+ const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 22;
const rootUrl = 'https://www.tradingview.com';
- const currentUrl = `${rootUrl}/blog/${language}`;
+ const currentUrl = new URL(`blog/${category.endsWith('/') ? category : `${category}/`}`, rootUrl).href;
- const response = await got({
- method: 'get',
- url: currentUrl,
- });
+ const { data: response } = await got(currentUrl);
- const $ = cheerio.load(response.data);
+ const $ = cheerio.load(response);
- const list = $('.articles-grid-item a[rel="bookmark"]')
- .slice(0, ctx.query.limit ? parseInt(ctx.query.limit) : 20)
+ const items = $('article[id]')
+ .slice(0, limit)
.toArray()
.map((item) => {
item = $(item);
+ const title = item.find('div.title').text();
+
return {
- title: item.find('.title').text(),
- link: item.attr('href'),
- pubDate: parseDate(item.find('.date').text(), 'MMMM D, YYYY'),
+ title,
+ link: item.find('a.articles-grid-link').prop('href'),
+ description: art(path.join(__dirname, 'templates/description.art'), {
+ image: {
+ src: item
+ .find('div.articles-grid-img img')
+ .prop('src')
+ .replace(/-\d+x\d+\./, '.'),
+ alt: title,
+ },
+ }),
+ category: item
+ .find('a.section')
+ .toArray()
+ .map((c) => $(c).text()),
+ guid: `tradingview-blog-${category}-${item.prop('id')}`,
+ pubDate: parseDate(item.find('div.date').text(), 'MMM D, YYYY'),
};
});
- const items = [];
- for await (const item of asyncPool(3, list, (item) =>
+ for await (const item of asyncPool(3, items, (item) =>
ctx.cache.tryGet(item.link, async () => {
- const detailResponse = await got({
- method: 'get',
- url: item.link,
- });
+ const { data: detailResponse } = await got(item.link);
- const content = cheerio.load(detailResponse.data);
+ const content = cheerio.load(detailResponse);
+ content('div.entry-content')
+ .find('img')
+ .each((_, e) => {
+ content(e).replaceWith(
+ art(path.join(__dirname, 'templates/description.art'), {
+ image: {
+ src: content(e)
+ .prop('src')
+ .replace(/-\d+x\d+\./, '.'),
+ width: content(e).prop('width'),
+ height: content(e).prop('height'),
+ },
+ })
+ );
+ });
+
+ item.title = content('meta[property="og:title"]').prop('content');
item.description = art(path.join(__dirname, 'templates/description.art'), {
- image: content('.single-img img').attr('src'),
- description: content('.entry-content').html(),
+ image: {
+ src: content('meta[property="og:image"]').prop('content'),
+ alt: item.title,
+ },
+ description: content('div.entry-content').html(),
});
+ item.author = content('meta[property="og:site_name"]').prop('content');
+ item.category = content('div.sections a.section')
+ .toArray()
+ .map((c) => content(c).text());
+ item.pubDate = parseDate(content('div.single-date').text(), 'MMM D, YYYY');
return item;
})
)) {
+ items.shift();
items.push(item);
}
+ const icon = new URL($('link[rel="icon"]').prop('href'), rootUrl).href;
+
ctx.state.data = {
+ item: items,
title: $('title').text(),
link: currentUrl,
- item: items,
+ description: $('div.site-subtitle').text(),
+ language: $('html').prop('lang'),
+ icon,
+ logo: icon,
+ subtitle: $('h1.site-title').text(),
};
};
diff --git a/lib/v2/tradingview/maintainer.js b/lib/v2/tradingview/maintainer.js
index 8135e010a..cb9d37b3a 100644
--- a/lib/v2/tradingview/maintainer.js
+++ b/lib/v2/tradingview/maintainer.js
@@ -1,3 +1,3 @@
module.exports = {
- '/blog/:language?': ['nczitzk'],
+ '/blog/:language?/category/:category?': ['nczitzk'],
};
diff --git a/lib/v2/tradingview/radar.js b/lib/v2/tradingview/radar.js
index 6dd935085..642caa3f6 100644
--- a/lib/v2/tradingview/radar.js
+++ b/lib/v2/tradingview/radar.js
@@ -5,8 +5,92 @@ module.exports = {
{
title: 'Blog',
docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
- source: ['/blog/:language', '/'],
- target: '/tradingview/blog',
+ source: ['/blog/:language/'],
+ target: '/tradingview/blog/:language/',
+ },
+ {
+ title: 'Blog - Alerts',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/alerts/'],
+ target: '/tradingview/blog/:language/category/alerts',
+ },
+ {
+ title: 'Blog - Bitcoin and Crypto',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/bitcoin-charts/'],
+ target: '/tradingview/blog/:language/category/bitcoin-charts',
+ },
+ {
+ title: 'Blog - Business Updates',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/business-updates/'],
+ target: '/tradingview/blog/:language/category/business-updates',
+ },
+ {
+ title: 'Blog - Charting',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/charts/'],
+ target: '/tradingview/blog/:language/category/charts',
+ },
+ {
+ title: 'Blog - Charting Library',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/charting-library/'],
+ target: '/tradingview/blog/:language/category/charting-library',
+ },
+ {
+ title: 'Blog - Data Feeds and Exchanges',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/data-feeds-exchanges/'],
+ target: '/tradingview/blog/:language/category/data-feeds-exchanges',
+ },
+ {
+ title: 'Blog - Desktop',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/desktop/'],
+ target: '/tradingview/blog/:language/category/desktop',
+ },
+ {
+ title: 'Blog - Market Analysis',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/market-analysis/'],
+ target: '/tradingview/blog/:language/category/market-analysis',
+ },
+ {
+ title: 'Blog - Mobile',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/mobile/'],
+ target: '/tradingview/blog/:language/category/mobile',
+ },
+ {
+ title: 'Blog - Pine Script®',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/pine/'],
+ target: '/tradingview/blog/:language/category/pine',
+ },
+ {
+ title: 'Blog - Screener',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/stock-screener/'],
+ target: '/tradingview/blog/:language/category/stock-screener',
+ },
+ {
+ title: 'Blog - Social',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/social/'],
+ target: '/tradingview/blog/:language/category/social',
+ },
+ {
+ title: 'Blog - Trading and Brokerage',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/trading/'],
+ target: '/tradingview/blog/:language/category/trading',
+ },
+ {
+ title: 'Blog - Widgets',
+ docs: 'https://docs.rsshub.app/routes/program-update#tradingview-blog',
+ source: ['/blog/:language/category/widgets/'],
+ target: '/tradingview/blog/:language/category/widgets',
},
],
},
diff --git a/lib/v2/tradingview/router.js b/lib/v2/tradingview/router.js
index fadb0f6b3..98bb22bf2 100644
--- a/lib/v2/tradingview/router.js
+++ b/lib/v2/tradingview/router.js
@@ -1,3 +1,3 @@
module.exports = function (router) {
- router.get('/blog/:language?', require('./blog'));
+ router.get('/blog/:category*', require('./blog'));
};
diff --git a/lib/v2/tradingview/templates/description.art b/lib/v2/tradingview/templates/description.art
index c823516c9..a89e118b2 100644
--- a/lib/v2/tradingview/templates/description.art
+++ b/lib/v2/tradingview/templates/description.art
@@ -1,4 +1,13 @@
-{{ if image }}
-
+{{ if image?.src }}
+
+
+
{{ /if }}
-{{@ description }}
\ No newline at end of file
+
+{{ if description }}
+ {{@ description }}
+{{ /if }}
\ No newline at end of file
diff --git a/lib/v2/trendingpapers/maintainer.js b/lib/v2/trendingpapers/maintainer.js
new file mode 100644
index 000000000..acfb2d231
--- /dev/null
+++ b/lib/v2/trendingpapers/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/papers/:category?/:time?/:cited?': ['CookiePieWw'],
+};
diff --git a/lib/v2/trendingpapers/papers.js b/lib/v2/trendingpapers/papers.js
new file mode 100644
index 000000000..c3942673e
--- /dev/null
+++ b/lib/v2/trendingpapers/papers.js
@@ -0,0 +1,41 @@
+const got = require('@/utils/got');
+const { parseDate } = require('@/utils/parse-date');
+
+module.exports = async (ctx) => {
+ const { time = 'Since beginning', cited = 'Cited and uncited papers', category = 'All categories' } = ctx.params;
+
+ const rootUrl = 'https://trendingpapers.com';
+ const currentUrl = `${rootUrl}/api/papers?p=1&o=pagerank_growth&pd=${time}&cc=${cited}&c=${category}`;
+
+ const response = await got({
+ method: 'get',
+ url: currentUrl,
+ });
+
+ const $ = response.data;
+
+ const papers = $.data.map((_) => {
+ const title = _.title;
+ const abstract = _.abstract;
+ const url = _.url;
+ const arxivId = _.arxiv_id;
+
+ const pubDate = parseDate(_.pub_date);
+ const summaryCategories = _.summary_categories;
+
+ return {
+ title,
+ description: abstract,
+ link: url,
+ guid: arxivId,
+ pubDate,
+ category: summaryCategories,
+ };
+ });
+
+ ctx.state.data = {
+ title: `Trending Papers on arXiv.org | ${category} | ${time} | ${cited} | `,
+ link: currentUrl,
+ item: papers,
+ };
+};
diff --git a/lib/v2/trendingpapers/radar.js b/lib/v2/trendingpapers/radar.js
new file mode 100644
index 000000000..243533c9d
--- /dev/null
+++ b/lib/v2/trendingpapers/radar.js
@@ -0,0 +1,11 @@
+module.exports = {
+ 'trendingpapers.com': {
+ _name: 'trendingpapers',
+ '.': [
+ {
+ title: 'Trending Papers on arXiv',
+ docs: 'https://docs.rsshub.app/routes/journal#trending-papers-trending-papers-on-arxiv',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/trendingpapers/router.js b/lib/v2/trendingpapers/router.js
new file mode 100644
index 000000000..d85cef26a
--- /dev/null
+++ b/lib/v2/trendingpapers/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/papers/:category?/:time?/:cited?', require('./papers.js'));
+};
diff --git a/lib/v2/utgd/category.js b/lib/v2/utgd/category.js
index 101d052b8..b3182ccaf 100644
--- a/lib/v2/utgd/category.js
+++ b/lib/v2/utgd/category.js
@@ -47,6 +47,7 @@ module.exports = async (ctx) => {
title: item.title,
link: `${rootUrl}/article/${item.id}`,
description: art(path.join(__dirname, 'templates/description.art'), {
+ membership: item.article_for_membership,
image: item.article_image,
description: md.render(item.article_description),
}),
diff --git a/lib/v2/utgd/templates/description.art b/lib/v2/utgd/templates/description.art
index 38f14bf4b..8ce3b4866 100644
--- a/lib/v2/utgd/templates/description.art
+++ b/lib/v2/utgd/templates/description.art
@@ -2,6 +2,10 @@
{{ /if }}
+{{ if membership }}
+
+UNTAG Premium
+{{ /if }}
{{ if description }}
{{@ description }}
-{{ /if }}
\ No newline at end of file
+{{ /if }}
diff --git a/lib/v2/utgd/timeline.js b/lib/v2/utgd/timeline.js
index 9646e88c2..c484cca52 100644
--- a/lib/v2/utgd/timeline.js
+++ b/lib/v2/utgd/timeline.js
@@ -35,6 +35,7 @@ module.exports = async (ctx) => {
title: item.title,
link: `${rootUrl}/article/${item.id}`,
description: art(path.join(__dirname, 'templates/description.art'), {
+ membership: data.article_for_membership,
image: item.article_image,
description: md.render(data.article_description),
}),
diff --git a/lib/v2/utgd/topic.js b/lib/v2/utgd/topic.js
index 8716cc57f..b4b9e7e3e 100644
--- a/lib/v2/utgd/topic.js
+++ b/lib/v2/utgd/topic.js
@@ -50,6 +50,7 @@ module.exports = async (ctx) => {
title: item.title,
link: `${rootUrl}/article/${item.id}`,
description: art(path.join(__dirname, 'templates/description.art'), {
+ membership: item.article_for_membership,
image: item.article_image,
description: md.render(detailResponse.data.article_description),
}),
diff --git a/lib/v2/yicai/dt.js b/lib/v2/yicai/dt.js
new file mode 100644
index 000000000..30cd8b43e
--- /dev/null
+++ b/lib/v2/yicai/dt.js
@@ -0,0 +1,110 @@
+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 columns = {
+ article: 2,
+ report: 3,
+ visualization: 4,
+};
+
+module.exports = async (ctx) => {
+ const { column = 'article', category = '0' } = ctx.params;
+ const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 30;
+
+ const rootUrl = 'https://dt.yicai.com';
+ const apiUrl = new URL('api/getNewsList', rootUrl).href;
+ const currentUrl = new URL(column, rootUrl).href;
+
+ const { data: response } = await got(apiUrl, {
+ searchParams: {
+ page: 1,
+ rid: columns[column],
+ cid: category,
+ pageSize: limit,
+ },
+ });
+
+ let items = response.data.data.slice(0, limit).map((item) => {
+ const enclosureUrl = item.originVideo;
+ const enclosureExt = enclosureUrl.split(/\./).pop();
+
+ return {
+ title: item.newstitle,
+ link: new URL(item.url, rootUrl).href,
+ description: art(path.join(__dirname, 'templates/description.art'), {
+ image: {
+ src: item.originPic,
+ alt: item.newstitle,
+ },
+ intro: item.newsnotes,
+ }),
+ author: item.creatername,
+ category: [item.channelrootname, item.channelname, item.NewsTypeName].filter((c) => c),
+ guid: `yicai-dt-${item.newsid}`,
+ pubDate: parseDate(item.utc_createdate),
+ updated: parseDate(item.utc_lastdate),
+ enclosure_url: enclosureUrl,
+ enclosure_type: enclosureUrl ? `${enclosureExt === 'mp4' ? 'video' : 'application'}/${enclosureExt}` : undefined,
+ upvotes: item.newsscore ?? 0,
+ };
+ });
+
+ items = await Promise.all(
+ items.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ const { data: detailResponse } = await got(item.link);
+
+ const content = cheerio.load(detailResponse);
+
+ content('div.logintips').remove();
+
+ content('img').each((_, e) => {
+ e = content(e);
+
+ content(e).replaceWith(
+ art(path.join(__dirname, 'templates/description.art'), {
+ image: {
+ src: e.prop('data-original') ?? e.prop('src'),
+ alt: e.prop('alt'),
+ width: e.prop('width'),
+ height: e.prop('height'),
+ },
+ })
+ );
+ });
+
+ item.description += art(path.join(__dirname, 'templates/description.art'), {
+ description: content('div.txt').html(),
+ });
+ item.author = content('div.authortime h3').text();
+
+ return item;
+ })
+ )
+ );
+
+ const { data: currentResponse } = await got(currentUrl);
+
+ const $ = cheerio.load(currentResponse);
+
+ const title = $('title').text();
+ const image = $('div.logo a img').prop('src');
+ const icon = new URL($('link[rel="shortcut icon"]').prop('href'), rootUrl).href;
+
+ ctx.state.data = {
+ item: items,
+ title: `${$(`a[data-cid="${category}"]`).text()}${title}`,
+ link: currentUrl,
+ description: $('meta[name="keywords"]').prop('content'),
+ language: 'zh',
+ image,
+ icon,
+ logo: icon,
+ subtitle: $('meta[name="description"]').prop('content'),
+ author: title.split(/_/).pop(),
+ allowEmpty: true,
+ };
+};
diff --git a/lib/v2/yicai/maintainer.js b/lib/v2/yicai/maintainer.js
index 00afadad5..49e59b905 100644
--- a/lib/v2/yicai/maintainer.js
+++ b/lib/v2/yicai/maintainer.js
@@ -1,6 +1,7 @@
module.exports = {
'/author/:id?': ['nczitzk'],
'/brief': ['sanmmm', 'nczitzk'],
+ '/dt/:column?/:category?': ['nczitzk'],
'/feed/:id?': ['nczitzk'],
'/headline': ['nczitzk'],
'/latest': ['nczitzk'],
diff --git a/lib/v2/yicai/radar.js b/lib/v2/yicai/radar.js
index 1dc2bd777..12c434df0 100644
--- a/lib/v2/yicai/radar.js
+++ b/lib/v2/yicai/radar.js
@@ -51,5 +51,169 @@ module.exports = {
target: '/yicai/author/:id',
},
],
+ dt: [
+ {
+ title: 'DT 财经 - 可视化 - 全部',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/visualization'],
+ target: '/yicai/dt/visualization/0',
+ },
+ {
+ title: 'DT 财经 - 可视化 - 新流行',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/visualization'],
+ target: '/yicai/dt/visualization/39',
+ },
+ {
+ title: 'DT 财经 - 可视化 - 新趋势',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/visualization'],
+ target: '/yicai/dt/visualization/40',
+ },
+ {
+ title: 'DT 财经 - 可视化 - 商业黑马',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/visualization'],
+ target: '/yicai/dt/visualization/41',
+ },
+ {
+ title: 'DT 财经 - 可视化 - 新品',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/visualization'],
+ target: '/yicai/dt/visualization/42',
+ },
+ {
+ title: 'DT 财经 - 可视化 - 营销',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/visualization'],
+ target: '/yicai/dt/visualization/43',
+ },
+ {
+ title: 'DT 财经 - 可视化 - 大公司',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/visualization'],
+ target: '/yicai/dt/visualization/44',
+ },
+ {
+ title: 'DT 财经 - 可视化 - 城市生活',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/visualization'],
+ target: '/yicai/dt/visualization/45',
+ },
+ {
+ title: 'DT 财经 - 文章 - 全部',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/article'],
+ target: '/yicai/dt/article/0',
+ },
+ {
+ title: 'DT 财经 - 文章 - 新流行',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/article'],
+ target: '/yicai/dt/article/31',
+ },
+ {
+ title: 'DT 财经 - 文章 - 新趋势',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/article'],
+ target: '/yicai/dt/article/32',
+ },
+ {
+ title: 'DT 财经 - 文章 - 商业黑马',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/article'],
+ target: '/yicai/dt/article/33',
+ },
+ {
+ title: 'DT 财经 - 文章 - 新品',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/article'],
+ target: '/yicai/dt/article/34',
+ },
+ {
+ title: 'DT 财经 - 文章 - 营销',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/article'],
+ target: '/yicai/dt/article/35',
+ },
+ {
+ title: 'DT 财经 - 文章 - 大公司',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/article'],
+ target: '/yicai/dt/article/36',
+ },
+ {
+ title: 'DT 财经 - 文章 - 城市生活',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/article'],
+ target: '/yicai/dt/article/38',
+ },
+ {
+ title: 'DT 财经 - 报告 - 全部',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/0',
+ },
+ {
+ title: 'DT 财经 - 报告 - 人群观念',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/9',
+ },
+ {
+ title: 'DT 财经 - 报告 - 人群行为',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/22',
+ },
+ {
+ title: 'DT 财经 - 报告 - 美妆个护',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/23',
+ },
+ {
+ title: 'DT 财经 - 报告 - 3C数码',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/24',
+ },
+ {
+ title: 'DT 财经 - 报告 - 营销趋势',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/25',
+ },
+ {
+ title: 'DT 财经 - 报告 - 服饰鞋包',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/27',
+ },
+ {
+ title: 'DT 财经 - 报告 - 互联网',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/28',
+ },
+ {
+ title: 'DT 财经 - 报告 - 城市与居住',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/29',
+ },
+ {
+ title: 'DT 财经 - 报告 - 消费趋势',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/30',
+ },
+ {
+ title: 'DT 财经 - 报告 - 生活趋势',
+ docs: 'https://docs.rsshub.app/routes/traditional-media#di-yi-cai-jing-dt-cai-jing',
+ source: ['/report'],
+ target: '/yicai/dt/report/37',
+ },
+ ],
},
};
diff --git a/lib/v2/yicai/router.js b/lib/v2/yicai/router.js
index eb10737d5..3dc1750de 100644
--- a/lib/v2/yicai/router.js
+++ b/lib/v2/yicai/router.js
@@ -1,6 +1,7 @@
module.exports = function (router) {
router.get('/author/:id?', require('./author'));
router.get('/brief', require('./brief'));
+ router.get('/dt/:column?/:category?', require('./dt'));
router.get('/feed/:id?', require('./feed'));
router.get('/headline', require('./headline'));
router.get('/latest', require('./latest'));
diff --git a/lib/v2/yicai/templates/description.art b/lib/v2/yicai/templates/description.art
index 790b2de1f..83b5eb0b7 100644
--- a/lib/v2/yicai/templates/description.art
+++ b/lib/v2/yicai/templates/description.art
@@ -1,11 +1,39 @@
-{{ if thumb }}
-
+{{ if !video?.src && image?.src }}
+
+
+
{{ /if }}
-{{ if video }}
-
+
+{{ if intro }}
+ {{ intro }}
{{ /if }}
+
+{{ if video?.src }}
+
+{{ /if }}
+
{{ if description }}
-{{ description }}
+ {{@ description }}
{{ /if }}
\ No newline at end of file
diff --git a/lib/v2/yicai/utils.js b/lib/v2/yicai/utils.js
index 6414d8cfb..749c9c834 100644
--- a/lib/v2/yicai/utils.js
+++ b/lib/v2/yicai/utils.js
@@ -22,9 +22,15 @@ module.exports = {
pubDate: timezone(parseDate(item.CreateDate), +8),
category: [item.ChannelName],
description: art(path.join(__dirname, 'templates/description.art'), {
- thumb: item.originPic,
- video: item.VideoUrl,
- description: item.NewsNotes,
+ image: {
+ src: item.originPic,
+ alt: item.NewsTitle,
+ },
+ video: {
+ src: item.VideoUrl,
+ type: item.VideoUrl?.split(/\./).pop() ?? undefined,
+ },
+ intro: item.NewsNotes,
}),
}));
diff --git a/lib/v2/zhihu/timeline.js b/lib/v2/zhihu/timeline.js
index ed648dc19..67162a370 100644
--- a/lib/v2/zhihu/timeline.js
+++ b/lib/v2/zhihu/timeline.js
@@ -53,13 +53,28 @@ module.exports = async (ctx) => {
return actors.map((e) => e.name).join(', ');
};
+ const getContent = (content) => {
+ if (!content || !Array.isArray(content)) {
+ return content;
+ }
+ // content can be a string or an array of objects
+ return (
+ content
+ .map((e) => e.content)
+ .filter((e) => e instanceof String && !!e)
+ // some content may not be wrapped in tag, it will cause error when parsing
+ .map((e) => `${e}
`)
+ .join('')
+ );
+ };
+
const buildItem = (e) => {
if (!e || !e.target) {
return {};
}
return {
title: `${e.action_text_tpl.replace('{}', buildActors(e))}: ${getOne([e.target.title, e.target.question ? e.target.question.title : ''])}`,
- description: utils.ProcessImage(getOne([e.target.content, e.target.detail, e.target.excerpt, ''])),
+ description: utils.ProcessImage(`${getOne([e.target.content_html, getContent(e.target.content), e.target.detail, e.target.excerpt, ''])}
`),
pubDate: parseDate(e.updated_time * 1000),
link: buildLink(e),
author: e.target.author ? e.target.author.name : '',
diff --git a/package.json b/package.json
index 0cdee8347..ac07d5adf 100644
--- a/package.json
+++ b/package.json
@@ -86,13 +86,13 @@
"@koa/router": "12.0.1",
"@notionhq/client": "2.2.14",
"@postlight/parser": "2.2.3",
- "@sentry/node": "7.91.0",
- "@tonyrl/rand-user-agent": "2.0.43",
+ "@sentry/node": "7.93.0",
+ "@tonyrl/rand-user-agent": "2.0.45",
"aes-js": "3.1.2",
"art-template": "4.13.2",
"bbcodejs": "0.0.4",
"cheerio": "1.0.0-rc.12",
- "chrono-node": "2.7.3",
+ "chrono-node": "2.7.4",
"city-timezones": "1.2.1",
"crypto-js": "4.2.0",
"currency-symbol-map": "5.1.0",
@@ -102,7 +102,7 @@
"etag": "1.8.1",
"fanfou-sdk": "4.2.0",
"git-rev-sync": "3.0.2",
- "googleapis": "129.0.0",
+ "googleapis": "130.0.0",
"got": "11.8.6",
"html-to-text": "9.0.5",
"https-proxy-agent": "7.0.2",
@@ -112,25 +112,26 @@
"ioredis": "5.3.2",
"ip-regex": "4.3.0",
"is-localhost-ip": "2.0.0",
- "jsdom": "23.0.1",
+ "jsdom": "23.2.0",
"json-bigint": "1.0.0",
"json5": "2.2.3",
"jsrsasign": "10.9.0",
- "koa": "2.14.2",
+ "koa": "2.15.0",
"koa-basic-auth": "4.0.0",
"koa-favicon": "2.1.0",
"koa-mount": "4.0.0",
"koa-static": "5.0.0",
"lru-cache": "10.1.0",
"lz-string": "1.5.0",
- "mailparser": "3.6.5",
+ "mailparser": "3.6.6",
"markdown-it": "14.0.0",
"module-alias": "2.2.3",
"notion-to-md": "3.1.1",
"oauth-1.0a": "2.2.6",
+ "pac-proxy-agent": "7.0.1",
"plist": "3.1.0",
"proxy-chain": "2.4.0",
- "puppeteer": "21.6.1",
+ "puppeteer": "21.7.0",
"puppeteer-extra": "3.3.6",
"puppeteer-extra-plugin-stealth": "2.11.2",
"puppeteer-extra-plugin-user-data-dir": "2.4.1",
@@ -152,19 +153,19 @@
},
"devDependencies": {
"@microsoft/eslint-formatter-sarif": "3.0.0",
- "@stylistic/eslint-plugin-js": "1.5.1",
+ "@stylistic/eslint-plugin-js": "1.5.3",
"@types/aes-js": "3.1.4",
"@types/crypto-js": "4.2.1",
- "@types/eslint": "8.56.0",
+ "@types/eslint": "8.56.2",
"@types/eslint-config-prettier": "6.11.3",
"@types/etag": "1.8.3",
"@types/fs-extra": "11.0.4",
"@types/git-rev-sync": "2.0.2",
"@types/html-to-text": "9.0.4",
- "@types/imapflow": "1.0.16",
+ "@types/imapflow": "1.0.17",
"@types/jsdom": "21.1.6",
"@types/json-bigint": "1.0.4",
- "@types/koa": "2.13.12",
+ "@types/koa": "2.14.0",
"@types/koa-basic-auth": "2.0.6",
"@types/koa-favicon": "2.1.3",
"@types/koa-mount": "4.0.5",
@@ -178,15 +179,15 @@
"@types/plist": "3.0.5",
"@types/request-promise-native": "1.0.21",
"@types/require-all": "3.0.6",
- "@types/supertest": "6.0.1",
+ "@types/supertest": "6.0.2",
"@types/tiny-async-pool": "2.0.3",
"@types/tough-cookie": "4.0.5",
- "@vercel/nft": "0.26.0",
+ "@vercel/nft": "0.26.2",
"cross-env": "7.0.3",
"eslint": "8.56.0",
"eslint-config-prettier": "9.1.0",
- "eslint-plugin-n": "16.5.0",
- "eslint-plugin-prettier": "5.1.2",
+ "eslint-plugin-n": "16.6.2",
+ "eslint-plugin-prettier": "5.1.3",
"eslint-plugin-yml": "1.11.0",
"fs-extra": "11.2.0",
"husky": "8.0.3",
@@ -196,7 +197,7 @@
"mockdate": "3.0.5",
"nock": "13.4.0",
"nodemon": "3.0.2",
- "prettier": "3.1.1",
+ "prettier": "3.2.1",
"remark": "14.0.3",
"remark-custom-heading-id": "1.0.1",
"remark-directive": "3.0.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 513d72115..56128a6e7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -15,11 +15,11 @@ dependencies:
specifier: 2.2.3
version: 2.2.3
'@sentry/node':
- specifier: 7.91.0
- version: 7.91.0
+ specifier: 7.93.0
+ version: 7.93.0
'@tonyrl/rand-user-agent':
- specifier: 2.0.43
- version: 2.0.43
+ specifier: 2.0.45
+ version: 2.0.45
aes-js:
specifier: 3.1.2
version: 3.1.2
@@ -33,8 +33,8 @@ dependencies:
specifier: 1.0.0-rc.12
version: 1.0.0-rc.12
chrono-node:
- specifier: 2.7.3
- version: 2.7.3
+ specifier: 2.7.4
+ version: 2.7.4
city-timezones:
specifier: 1.2.1
version: 1.2.1
@@ -63,8 +63,8 @@ dependencies:
specifier: 3.0.2
version: 3.0.2
googleapis:
- specifier: 129.0.0
- version: 129.0.0
+ specifier: 130.0.0
+ version: 130.0.0
got:
specifier: 11.8.6
version: 11.8.6
@@ -93,8 +93,8 @@ dependencies:
specifier: 2.0.0
version: 2.0.0
jsdom:
- specifier: 23.0.1
- version: 23.0.1
+ specifier: 23.2.0
+ version: 23.2.0
json-bigint:
specifier: 1.0.0
version: 1.0.0
@@ -105,8 +105,8 @@ dependencies:
specifier: 10.9.0
version: 10.9.0
koa:
- specifier: 2.14.2
- version: 2.14.2
+ specifier: 2.15.0
+ version: 2.15.0
koa-basic-auth:
specifier: 4.0.0
version: 4.0.0
@@ -126,8 +126,8 @@ dependencies:
specifier: 1.5.0
version: 1.5.0
mailparser:
- specifier: 3.6.5
- version: 3.6.5
+ specifier: 3.6.6
+ version: 3.6.6
markdown-it:
specifier: 14.0.0
version: 14.0.0
@@ -140,6 +140,9 @@ dependencies:
oauth-1.0a:
specifier: 2.2.6
version: 2.2.6
+ pac-proxy-agent:
+ specifier: 7.0.1
+ version: 7.0.1
plist:
specifier: 3.1.0
version: 3.1.0
@@ -147,11 +150,11 @@ dependencies:
specifier: 2.4.0
version: 2.4.0
puppeteer:
- specifier: 21.6.1
- version: 21.6.1
+ specifier: 21.7.0
+ version: 21.7.0
puppeteer-extra:
specifier: 3.3.6
- version: 3.3.6(puppeteer@21.6.1)
+ version: 3.3.6(puppeteer@21.7.0)
puppeteer-extra-plugin-stealth:
specifier: 2.11.2
version: 2.11.2(puppeteer-extra@3.3.6)
@@ -209,8 +212,8 @@ devDependencies:
specifier: 3.0.0
version: 3.0.0
'@stylistic/eslint-plugin-js':
- specifier: 1.5.1
- version: 1.5.1(eslint@8.56.0)
+ specifier: 1.5.3
+ version: 1.5.3(eslint@8.56.0)
'@types/aes-js':
specifier: 3.1.4
version: 3.1.4
@@ -218,8 +221,8 @@ devDependencies:
specifier: 4.2.1
version: 4.2.1
'@types/eslint':
- specifier: 8.56.0
- version: 8.56.0
+ specifier: 8.56.2
+ version: 8.56.2
'@types/eslint-config-prettier':
specifier: 6.11.3
version: 6.11.3
@@ -236,8 +239,8 @@ devDependencies:
specifier: 9.0.4
version: 9.0.4
'@types/imapflow':
- specifier: 1.0.16
- version: 1.0.16
+ specifier: 1.0.17
+ version: 1.0.17
'@types/jsdom':
specifier: 21.1.6
version: 21.1.6
@@ -245,8 +248,8 @@ devDependencies:
specifier: 1.0.4
version: 1.0.4
'@types/koa':
- specifier: 2.13.12
- version: 2.13.12
+ specifier: 2.14.0
+ version: 2.14.0
'@types/koa-basic-auth':
specifier: 2.0.6
version: 2.0.6
@@ -287,8 +290,8 @@ devDependencies:
specifier: 3.0.6
version: 3.0.6
'@types/supertest':
- specifier: 6.0.1
- version: 6.0.1
+ specifier: 6.0.2
+ version: 6.0.2
'@types/tiny-async-pool':
specifier: 2.0.3
version: 2.0.3
@@ -296,8 +299,8 @@ devDependencies:
specifier: 4.0.5
version: 4.0.5
'@vercel/nft':
- specifier: 0.26.0
- version: 0.26.0
+ specifier: 0.26.2
+ version: 0.26.2
cross-env:
specifier: 7.0.3
version: 7.0.3
@@ -308,11 +311,11 @@ devDependencies:
specifier: 9.1.0
version: 9.1.0(eslint@8.56.0)
eslint-plugin-n:
- specifier: 16.5.0
- version: 16.5.0(eslint@8.56.0)
+ specifier: 16.6.2
+ version: 16.6.2(eslint@8.56.0)
eslint-plugin-prettier:
- specifier: 5.1.2
- version: 5.1.2(@types/eslint@8.56.0)(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.1.1)
+ specifier: 5.1.3
+ version: 5.1.3(@types/eslint@8.56.2)(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.1)
eslint-plugin-yml:
specifier: 1.11.0
version: 1.11.0(eslint@8.56.0)
@@ -341,8 +344,8 @@ devDependencies:
specifier: 3.0.2
version: 3.0.2
prettier:
- specifier: 3.1.1
- version: 3.1.1
+ specifier: 3.2.1
+ version: 3.2.1
remark:
specifier: 14.0.3
version: 14.0.3
@@ -369,7 +372,7 @@ devDependencies:
version: 9.0.0
remark-preset-prettier:
specifier: 0.5.1
- version: 0.5.1(prettier@3.1.1)
+ version: 0.5.1(prettier@3.2.1)
request-promise-native:
specifier: 1.0.9
version: 1.0.9(request@2.88.2)
@@ -413,6 +416,14 @@ 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.22.13:
resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
engines: {node: '>=6.9.0'}
@@ -1238,8 +1249,8 @@ packages:
safe-buffer: 5.2.1
dev: false
- /@puppeteer/browsers@1.9.0:
- resolution: {integrity: sha512-QwguOLy44YBGC8vuPP2nmpX4MUN2FzWbsnvZJtiCzecU3lHmVZkaC1tq6rToi9a200m8RzlVtDyxCS0UIDrxUg==}
+ /@puppeteer/browsers@1.9.1:
+ resolution: {integrity: sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==}
engines: {node: '>=16.3.0'}
hasBin: true
dependencies:
@@ -1269,46 +1280,46 @@ packages:
selderee: 0.11.0
dev: false
- /@sentry-internal/tracing@7.91.0:
- resolution: {integrity: sha512-JH5y6gs6BS0its7WF2DhySu7nkhPDfZcdpAXldxzIlJpqFkuwQKLU5nkYJpiIyZz1NHYYtW5aum2bV2oCOdDRA==}
+ /@sentry-internal/tracing@7.93.0:
+ resolution: {integrity: sha512-DjuhmQNywPp+8fxC9dvhGrqgsUb6wI/HQp25lS2Re7VxL1swCasvpkg8EOYP4iBniVQ86QK0uITkOIRc5tdY1w==}
engines: {node: '>=8'}
dependencies:
- '@sentry/core': 7.91.0
- '@sentry/types': 7.91.0
- '@sentry/utils': 7.91.0
+ '@sentry/core': 7.93.0
+ '@sentry/types': 7.93.0
+ '@sentry/utils': 7.93.0
dev: false
- /@sentry/core@7.91.0:
- resolution: {integrity: sha512-tu+gYq4JrTdrR+YSh5IVHF0fJi/Pi9y0HZ5H9HnYy+UMcXIotxf6hIEaC6ZKGeLWkGXffz2gKpQLe/g6vy/lPA==}
+ /@sentry/core@7.93.0:
+ resolution: {integrity: sha512-vZQSUiDn73n+yu2fEcH+Wpm4GbRmtxmnXnYCPgM6IjnXqkVm3awWAkzrheADblx3kmxrRiOlTXYHw9NTWs56fg==}
engines: {node: '>=8'}
dependencies:
- '@sentry/types': 7.91.0
- '@sentry/utils': 7.91.0
+ '@sentry/types': 7.93.0
+ '@sentry/utils': 7.93.0
dev: false
- /@sentry/node@7.91.0:
- resolution: {integrity: sha512-hTIfSQxD7L+AKIqyjoq8CWBRkEQrrMZmA3GSZgPI5JFWBHgO0HBo5TH/8TU81oEJh6kqqHAl2ObMhmcnaFqlzg==}
+ /@sentry/node@7.93.0:
+ resolution: {integrity: sha512-nUXPCZQm5Y9Ipv7iWXLNp5dbuyi1VvbJ3RtlwD7utgsNkRYB4ixtKE9w2QU8DZZAjaEF6w2X94OkYH6C932FWw==}
engines: {node: '>=8'}
dependencies:
- '@sentry-internal/tracing': 7.91.0
- '@sentry/core': 7.91.0
- '@sentry/types': 7.91.0
- '@sentry/utils': 7.91.0
+ '@sentry-internal/tracing': 7.93.0
+ '@sentry/core': 7.93.0
+ '@sentry/types': 7.93.0
+ '@sentry/utils': 7.93.0
https-proxy-agent: 5.0.1
transitivePeerDependencies:
- supports-color
dev: false
- /@sentry/types@7.91.0:
- resolution: {integrity: sha512-bcQnb7J3P3equbCUc+sPuHog2Y47yGD2sCkzmnZBjvBT0Z1B4f36fI/5WjyZhTjLSiOdg3F2otwvikbMjmBDew==}
+ /@sentry/types@7.93.0:
+ resolution: {integrity: sha512-UnzUccNakhFRA/esWBWP+0v7cjNg+RilFBQC03Mv9OEMaZaS29zSbcOGtRzuFOXXLBdbr44BWADqpz3VW0XaNw==}
engines: {node: '>=8'}
dev: false
- /@sentry/utils@7.91.0:
- resolution: {integrity: sha512-fvxjrEbk6T6Otu++Ax9ntlQ0sGRiwSC179w68aC3u26Wr30FAIRKqHTCCdc2jyWk7Gd9uWRT/cq+g8NG/8BfSg==}
+ /@sentry/utils@7.93.0:
+ resolution: {integrity: sha512-Iovj7tUnbgSkh/WrAaMrd5UuYjW7AzyzZlFDIUrwidsyIdUficjCG2OIxYzh76H6nYIx9SxewW0R54Q6XoB4uA==}
engines: {node: '>=8'}
dependencies:
- '@sentry/types': 7.91.0
+ '@sentry/types': 7.93.0
dev: false
/@sinclair/typebox@0.27.8:
@@ -1337,13 +1348,13 @@ packages:
'@sinonjs/commons': 3.0.0
dev: true
- /@stylistic/eslint-plugin-js@1.5.1(eslint@8.56.0):
- resolution: {integrity: sha512-iZF0rF+uOhAmOJYOJx1Yvmm3CZ1uz9n0SRd9dpBYHA3QAvfABUORh9LADWwZCigjHJkp2QbCZelGFJGwGz7Siw==}
+ /@stylistic/eslint-plugin-js@1.5.3(eslint@8.56.0):
+ resolution: {integrity: sha512-XlKnm82fD7Sw9kQ6FFigE0tobvptNBXZWsdfoKmUyK7bNxHsAHOFT8zJGY3j3MjZ0Fe7rLTu86hX/vOl0bRRdQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: '>=8.40.0'
dependencies:
- acorn: 8.11.2
+ acorn: 8.11.3
escape-string-regexp: 4.0.0
eslint: 8.56.0
eslint-visitor-keys: 3.4.3
@@ -1357,8 +1368,8 @@ packages:
defer-to-connect: 2.0.1
dev: false
- /@tonyrl/rand-user-agent@2.0.43:
- resolution: {integrity: sha512-WSRY50iLJnaDSmOeHRgFHXuZrVjUZAkC0lYnGSe2OVJFtzFzAwoZcUEUCrqlOAKNWg0AjNvxD/kxvWFUYGBpZg==}
+ /@tonyrl/rand-user-agent@2.0.45:
+ resolution: {integrity: sha512-7G3VVt+7VHo3ifY+ztvbA9IO2kJyo2HjasKfiYwcVP38ENnQ980Xh6Aw5vl3+gQ6AWck03fDqNJbiEp74pikxA==}
engines: {node: '>=14.16'}
dev: false
@@ -1474,8 +1485,8 @@ packages:
resolution: {integrity: sha512-3wXCiM8croUnhg9LdtZUJQwNcQYGWxxdOWDjPe1ykCqJFPVpzAKfs/2dgSoCtAvdPeaponcWPI7mPcGGp9dkKQ==}
dev: true
- /@types/eslint@8.56.0:
- resolution: {integrity: sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==}
+ /@types/eslint@8.56.2:
+ resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==}
dependencies:
'@types/estree': 1.0.1
'@types/json-schema': 7.0.12
@@ -1554,8 +1565,8 @@ packages:
resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==}
dev: true
- /@types/imapflow@1.0.16:
- resolution: {integrity: sha512-4bWf+MPhut/WpuyQnn60J6EaX1PP5e0QrYf4wIi8p6Cr1XT7eCpNzIFQDdalaELZnzDJPyLkILHkTvjacu6hsQ==}
+ /@types/imapflow@1.0.17:
+ resolution: {integrity: sha512-L7qvMfFhaB5sMP+nx83pZL5r48yBhWIoLsSZwPPTvNHxUKbD2F20aViUm2NeL1h+Be9zDAXcnMyvO7pvhjXjng==}
dependencies:
'@types/node': 20.5.6
dev: true
@@ -1611,42 +1622,42 @@ packages:
/@types/koa-basic-auth@2.0.6:
resolution: {integrity: sha512-1/FdT3KiHIkVf+TxYiPPey0wnPBzuts6lz/Obskgo9ZY485J02+uI6STnD114L2iG+Wi5MBqU7EYNphKdKwZWQ==}
dependencies:
- '@types/koa': 2.13.12
+ '@types/koa': 2.14.0
dev: true
/@types/koa-compose@3.2.5:
resolution: {integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==}
dependencies:
- '@types/koa': 2.13.12
+ '@types/koa': 2.14.0
dev: true
/@types/koa-favicon@2.1.3:
resolution: {integrity: sha512-L1XAF8k1iOuh3hA/ZjEqWURm9/62a8A1x7BZR9ZCMw8nbnUBt6oZksz2rfKRCEwESqI2e6WVGlF03fs9DbQQXQ==}
dependencies:
- '@types/koa': 2.13.12
+ '@types/koa': 2.14.0
dev: true
/@types/koa-mount@4.0.5:
resolution: {integrity: sha512-pV1njJ7r94iqAFzT9D5sGSYKUHFGudCLAnmr4WFli7V5tJf5MAgRQK9leTPJ4gjvgr+hnTf86fZsKoFN358c7w==}
dependencies:
- '@types/koa': 2.13.12
+ '@types/koa': 2.14.0
dev: true
/@types/koa-send@4.1.3:
resolution: {integrity: sha512-daaTqPZlgjIJycSTNjKpHYuKhXYP30atFc1pBcy6HHqB9+vcymDgYTguPdx9tO4HMOqNyz6bz/zqpxt5eLR+VA==}
dependencies:
- '@types/koa': 2.13.12
+ '@types/koa': 2.14.0
dev: true
/@types/koa-static@4.0.4:
resolution: {integrity: sha512-j1AUzzl7eJYEk9g01hNTlhmipFh8RFbOQmaMNLvLcNNAkPw0bdTs3XTa3V045XFlrWN0QYnblbDJv2RzawTn6A==}
dependencies:
- '@types/koa': 2.13.12
+ '@types/koa': 2.14.0
'@types/koa-send': 4.1.3
dev: true
- /@types/koa@2.13.12:
- resolution: {integrity: sha512-vAo1KuDSYWFDB4Cs80CHvfmzSQWeUb909aQib0C0aFx4sw0K9UZFz2m5jaEP+b3X1+yr904iQiruS0hXi31jbw==}
+ /@types/koa@2.14.0:
+ resolution: {integrity: sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==}
dependencies:
'@types/accepts': 1.3.5
'@types/content-disposition': 0.5.5
@@ -1661,7 +1672,7 @@ packages:
/@types/koa__router@12.0.4:
resolution: {integrity: sha512-Y7YBbSmfXZpa/m5UGGzb7XadJIRBRnwNY9cdAojZGp65Cpe5MAP3mOZE7e3bImt8dfKS4UFcR16SLH8L/z7PBw==}
dependencies:
- '@types/koa': 2.13.12
+ '@types/koa': 2.14.0
dev: true
/@types/linkify-it@3.0.3:
@@ -1810,8 +1821,8 @@ packages:
'@types/node': 20.5.6
dev: true
- /@types/supertest@6.0.1:
- resolution: {integrity: sha512-M1xs8grAWC4RisSEQjyQV0FZzXnL3y796540Q/HCdiPcErwKpcAfvsNQFb4xp+5btSWMOZG1YlDWs2z96pdbcw==}
+ /@types/supertest@6.0.2:
+ resolution: {integrity: sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==}
dependencies:
'@types/methods': 1.1.4
'@types/superagent': 8.1.1
@@ -1858,15 +1869,15 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
- /@vercel/nft@0.26.0:
- resolution: {integrity: sha512-4JoDL1jMPoPb9PpilQx7IQwxDUYCSwnonN8GrR6bP2BVJR390toF/tJe20tcI+wDWPkJKJqNloipfaeQfTeU2w==}
- engines: {node: '>=18'}
+ /@vercel/nft@0.26.2:
+ resolution: {integrity: sha512-bxe2iShmKZi7476xYamyKvhhKwQ6JPEtQ2FSq1AjMUH2buMd8LQMkdoHinTqZYc+1sMTh3G0ARdjzNvV1FEisA==}
+ engines: {node: '>=16'}
hasBin: true
dependencies:
'@mapbox/node-pre-gyp': 1.0.11
'@rollup/pluginutils': 4.2.1
- acorn: 8.11.2
- acorn-import-attributes: 1.9.2(acorn@8.11.2)
+ acorn: 8.11.3
+ acorn-import-attributes: 1.9.2(acorn@8.11.3)
async-sema: 3.1.1
bindings: 1.5.0
estree-walker: 2.0.2
@@ -1904,12 +1915,12 @@ packages:
negotiator: 0.6.3
dev: false
- /acorn-import-attributes@1.9.2(acorn@8.11.2):
+ /acorn-import-attributes@1.9.2(acorn@8.11.3):
resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==}
peerDependencies:
acorn: ^8
dependencies:
- acorn: 8.11.2
+ acorn: 8.11.3
dev: true
/acorn-jsx@5.3.2(acorn@8.11.2):
@@ -1932,6 +1943,12 @@ packages:
hasBin: true
dev: true
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
/aes-js@3.1.2:
resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==}
dev: false
@@ -2220,6 +2237,12 @@ 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'}
@@ -2543,8 +2566,8 @@ packages:
engines: {node: '>=10'}
dev: true
- /chromium-bidi@0.5.1(devtools-protocol@0.0.1203626):
- resolution: {integrity: sha512-dcCqOgq9fHKExc2R4JZs/oKbOghWpUNFAJODS8WKRtLhp3avtIH5UDCBrutdqZdh3pARogH8y1ObXm87emwb3g==}
+ /chromium-bidi@0.5.2(devtools-protocol@0.0.1203626):
+ resolution: {integrity: sha512-PbVOSddxgKyj+JByqavWMNqWPCoCaT6XK5Z1EFe168sxnB/BM51LnZEPXSbFcFAJv/+u2B4XNTs9uXxy4GW3cQ==}
peerDependencies:
devtools-protocol: '*'
dependencies:
@@ -2553,8 +2576,8 @@ packages:
urlpattern-polyfill: 9.0.0
dev: false
- /chrono-node@2.7.3:
- resolution: {integrity: sha512-M/CusGocGJaubS8OFPEzmSa6IT/MJo2LaVqFyUVaLMo+UWwqyahKHsDe9FQBzwaytVGwR/bwZ5JhnAcu894Owg==}
+ /chrono-node@2.7.4:
+ resolution: {integrity: sha512-gk2xUWroQftZW3Z9mDqD3/HZW1d7fxSf0S0rNxOCfY+uUQP1FuuEcb5ulFcsEWSOQvzl02dqTeY1RK+zmc0WOQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
dayjs: 1.11.8
@@ -2748,8 +2771,8 @@ packages:
resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==}
dev: true
- /cookies@0.8.0:
- resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==}
+ /cookies@0.9.0:
+ resolution: {integrity: sha512-mtyMqy14RsH7+IRJglGcKtRLOq0SRt0DdXVrLgc+v1e/o0TNJUpdElhgr3AAi638LO0xZwEPcRRkJ3afxvGhUw==}
engines: {node: '>= 0.8'}
dependencies:
depd: 2.0.0
@@ -2855,6 +2878,14 @@ 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
@@ -2864,9 +2895,9 @@ packages:
engines: {node: '>= 6'}
dev: false
- /cssstyle@3.0.0:
- resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==}
- engines: {node: '>=14'}
+ /cssstyle@4.0.1:
+ resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==}
+ engines: {node: '>=18'}
dependencies:
rrweb-cssom: 0.6.0
dev: false
@@ -3319,8 +3350,8 @@ packages:
eslint-compat-utils: 0.1.2(eslint@8.56.0)
dev: true
- /eslint-plugin-n@16.5.0(eslint@8.56.0):
- resolution: {integrity: sha512-Hw02Bj1QrZIlKyj471Tb1jSReTl4ghIMHGuBGiMVmw+s0jOPbI4CBuYpGbZr+tdQ+VAvSK6FDSta3J4ib/SKHQ==}
+ /eslint-plugin-n@16.6.2(eslint@8.56.0):
+ resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==}
engines: {node: '>=16.0.0'}
peerDependencies:
eslint: '>=7.0.0'
@@ -3330,6 +3361,7 @@ packages:
eslint: 8.56.0
eslint-plugin-es-x: 7.5.0(eslint@8.56.0)
get-tsconfig: 4.7.0
+ globals: 13.24.0
ignore: 5.2.4
is-builtin-module: 3.2.1
is-core-module: 2.13.0
@@ -3338,8 +3370,8 @@ packages:
semver: 7.5.4
dev: true
- /eslint-plugin-prettier@5.1.2(@types/eslint@8.56.0)(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.1.1):
- resolution: {integrity: sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==}
+ /eslint-plugin-prettier@5.1.3(@types/eslint@8.56.2)(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.1):
+ resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
'@types/eslint': '>=8.0.0'
@@ -3352,10 +3384,10 @@ packages:
eslint-config-prettier:
optional: true
dependencies:
- '@types/eslint': 8.56.0
+ '@types/eslint': 8.56.2
eslint: 8.56.0
eslint-config-prettier: 9.1.0(eslint@8.56.0)
- prettier: 3.1.1
+ prettier: 3.2.1
prettier-linter-helpers: 1.0.0
synckit: 0.8.6
dev: true
@@ -4014,6 +4046,13 @@ packages:
type-fest: 0.20.2
dev: true
+ /globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
/google-auth-library@9.0.0:
resolution: {integrity: sha512-IQGjgQoVUAfOk6khqTVMLvWx26R+yPw9uLyb1MNyMQpdKiKt0Fd9sp4NWoINjyGHR8S3iw12hMTYK7O8J07c6Q==}
engines: {node: '>=14'}
@@ -4045,8 +4084,8 @@ packages:
- supports-color
dev: false
- /googleapis@129.0.0:
- resolution: {integrity: sha512-gFatrzby+oh/GxEeMhJOKzgs9eG7yksRcTon9b+kPie4ZnDSgGQ85JgtUaBtLSBkcKpUKukdSP6Km1aCjs4y4Q==}
+ /googleapis@130.0.0:
+ resolution: {integrity: sha512-+ZSOowVv+vGBTueu1Ot9O7EqC0U4PS9l7fUjzc0ThCT4w4g+r78Vgn17q7eGBB5JMu4hxYC1hbbm1U/MCnYFdg==}
engines: {node: '>=14.0.0'}
dependencies:
google-auth-library: 9.0.0
@@ -5233,8 +5272,8 @@ packages:
engines: {node: '>=0.1.90'}
dev: true
- /jsdom@23.0.1:
- resolution: {integrity: sha512-2i27vgvlUsGEBO9+/kJQRbtqtm+191b5zAZrU/UezVmnC2dlDAFLgDYJvAEi94T4kjsRKkezEtLQTgsNEsW2lQ==}
+ /jsdom@23.2.0:
+ resolution: {integrity: sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==}
engines: {node: '>=18'}
peerDependencies:
canvas: ^2.11.2
@@ -5242,7 +5281,8 @@ packages:
canvas:
optional: true
dependencies:
- cssstyle: 3.0.0
+ '@asamuzakjp/dom-selector': 2.0.1
+ cssstyle: 4.0.1
data-urls: 5.0.0
decimal.js: 10.4.3
form-data: 4.0.0
@@ -5250,7 +5290,6 @@ 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
@@ -5261,7 +5300,7 @@ packages:
whatwg-encoding: 3.1.1
whatwg-mimetype: 4.0.0
whatwg-url: 14.0.0
- ws: 8.14.2
+ ws: 8.16.0
xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
@@ -5448,15 +5487,15 @@ packages:
- supports-color
dev: false
- /koa@2.14.2:
- resolution: {integrity: sha512-VFI2bpJaodz6P7x2uyLiX6RLYpZmOJqNmoCst/Yyd7hQlszyPwG/I9CQJ63nOtKSxpt5M7NH67V6nJL2BwCl7g==}
+ /koa@2.15.0:
+ resolution: {integrity: sha512-KEL/vU1knsoUvfP4MC4/GthpQrY/p6dzwaaGI6Rt4NQuFqkw3qrvsdYF5pz3wOfi7IGTvMPHC9aZIcUKYFNxsw==}
engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4}
dependencies:
accepts: 1.3.8
cache-content-type: 1.0.1
content-disposition: 0.5.4
content-type: 1.0.5
- cookies: 0.8.0
+ cookies: 0.9.0
debug: 4.3.4(supports-color@5.5.0)
delegates: 1.0.0
depd: 2.0.0
@@ -5552,12 +5591,6 @@ packages:
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- /linkify-it@4.0.1:
- resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==}
- dependencies:
- uc.micro: 1.0.6
- dev: false
-
/linkify-it@5.0.0:
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
dependencies:
@@ -5736,18 +5769,18 @@ packages:
hasBin: true
dev: false
- /mailparser@3.6.5:
- resolution: {integrity: sha512-nteTpF0Khm5JLOnt4sigmzNdUH/6mO7PZ4KEnvxf4mckyXYFFhrtAWZzbq/V5aQMH+049gA7ZjfLdh+QiX2Uqg==}
+ /mailparser@3.6.6:
+ resolution: {integrity: sha512-noCjBl3FToxmqTP2fp7z17hQsiCroWNntfTd8O+UejOAF59xeN5WGZK27ilexXV2e2X/cbUhG3L8sfEKaz0/sw==}
dependencies:
encoding-japanese: 2.0.0
he: 1.2.0
html-to-text: 9.0.5
iconv-lite: 0.6.3
libmime: 5.2.1
- linkify-it: 4.0.1
+ linkify-it: 5.0.0
mailsplit: 5.4.0
- nodemailer: 6.9.3
- tlds: 1.240.0
+ nodemailer: 6.9.8
+ tlds: 1.248.0
dev: false
/mailsplit@5.4.0:
@@ -6058,6 +6091,10 @@ 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
@@ -6827,13 +6864,13 @@ packages:
resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
dev: true
- /nodemailer@6.9.3:
- resolution: {integrity: sha512-fy9v3NgTzBngrMFkDsKEj0r02U7jm6XfC3b52eoNV+GCrGj+s8pt5OqhiJdWKuw51zCTdiNR/IUD1z33LIIGpg==}
+ /nodemailer@6.9.7:
+ resolution: {integrity: sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw==}
engines: {node: '>=6.0.0'}
dev: false
- /nodemailer@6.9.7:
- resolution: {integrity: sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw==}
+ /nodemailer@6.9.8:
+ resolution: {integrity: sha512-cfrYUk16e67Ks051i4CntM9kshRYei1/o/Gi8K1d+R34OIs21xdFnW7Pt7EucmVKA0LKtqUGNcjMZ7ehjl49mQ==}
engines: {node: '>=6.0.0'}
dev: false
@@ -6931,10 +6968,6 @@ 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
@@ -7335,8 +7368,8 @@ packages:
fast-diff: 1.3.0
dev: true
- /prettier@3.1.1:
- resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==}
+ /prettier@3.2.1:
+ resolution: {integrity: sha512-qSUWshj1IobVbKc226Gw2pync27t0Kf0EdufZa9j7uBSJay1CC+B3K5lAAZoqgX3ASiKuWsk6OmzKRetXNObWg==}
engines: {node: '>=14'}
hasBin: true
dev: true
@@ -7435,16 +7468,16 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- /puppeteer-core@21.6.1:
- resolution: {integrity: sha512-0chaaK/RL9S1U3bsyR4fUeUfoj51vNnjWvXgG6DcsyMjwYNpLcAThv187i1rZCo7QhJP0wZN8plQkjNyrq2h+A==}
+ /puppeteer-core@21.7.0:
+ resolution: {integrity: sha512-elPYPozrgiM3phSy7VDUJCVWQ07SPnOm78fpSaaSNFoQx5sur/MqhTSro9Wz8lOEjqCykGC6WRkwxDgmqcy1dQ==}
engines: {node: '>=16.13.2'}
dependencies:
- '@puppeteer/browsers': 1.9.0
- chromium-bidi: 0.5.1(devtools-protocol@0.0.1203626)
+ '@puppeteer/browsers': 1.9.1
+ chromium-bidi: 0.5.2(devtools-protocol@0.0.1203626)
cross-fetch: 4.0.0
debug: 4.3.4(supports-color@5.5.0)
devtools-protocol: 0.0.1203626
- ws: 8.15.1
+ ws: 8.16.0
transitivePeerDependencies:
- bufferutil
- encoding
@@ -7465,7 +7498,7 @@ packages:
optional: true
dependencies:
debug: 4.3.4(supports-color@5.5.0)
- puppeteer-extra: 3.3.6(puppeteer@21.6.1)
+ puppeteer-extra: 3.3.6(puppeteer@21.7.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:
@@ -7486,7 +7519,7 @@ packages:
dependencies:
debug: 4.3.4(supports-color@5.5.0)
fs-extra: 10.1.0
- puppeteer-extra: 3.3.6(puppeteer@21.6.1)
+ puppeteer-extra: 3.3.6(puppeteer@21.7.0)
puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6)
rimraf: 3.0.2
transitivePeerDependencies:
@@ -7507,7 +7540,7 @@ packages:
dependencies:
debug: 4.3.4(supports-color@5.5.0)
deepmerge: 4.3.1
- puppeteer-extra: 3.3.6(puppeteer@21.6.1)
+ puppeteer-extra: 3.3.6(puppeteer@21.7.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:
@@ -7529,12 +7562,12 @@ packages:
'@types/debug': 4.1.8
debug: 4.3.4(supports-color@5.5.0)
merge-deep: 3.0.3
- puppeteer-extra: 3.3.6(puppeteer@21.6.1)
+ puppeteer-extra: 3.3.6(puppeteer@21.7.0)
transitivePeerDependencies:
- supports-color
dev: false
- /puppeteer-extra@3.3.6(puppeteer@21.6.1):
+ /puppeteer-extra@3.3.6(puppeteer@21.7.0):
resolution: {integrity: sha512-rsLBE/6mMxAjlLd06LuGacrukP2bqbzKCLzV1vrhHFavqQE/taQ2UXv3H5P0Ls7nsrASa+6x3bDbXHpqMwq+7A==}
engines: {node: '>=8'}
peerDependencies:
@@ -7552,20 +7585,20 @@ packages:
'@types/debug': 4.1.8
debug: 4.3.4(supports-color@5.5.0)
deepmerge: 4.3.1
- puppeteer: 21.6.1
+ puppeteer: 21.7.0
transitivePeerDependencies:
- supports-color
dev: false
- /puppeteer@21.6.1:
- resolution: {integrity: sha512-O+pbc61oj8ln6m8EJKncrsQFmytgRyFYERtk190PeLbJn5JKpmmynn2p1PiFrlhCitAQXLJ0MOy7F0TeyCRqBg==}
+ /puppeteer@21.7.0:
+ resolution: {integrity: sha512-Yy+UUy0b9siJezbhHO/heYUoZQUwyqDK1yOQgblTt0l97tspvDVFkcW9toBlnSvSfkDmMI3Dx9cZL6R8bDArHA==}
engines: {node: '>=16.13.2'}
hasBin: true
requiresBuild: true
dependencies:
- '@puppeteer/browsers': 1.9.0
+ '@puppeteer/browsers': 1.9.1
cosmiconfig: 8.3.6
- puppeteer-core: 21.6.1
+ puppeteer-core: 21.7.0
transitivePeerDependencies:
- bufferutil
- encoding
@@ -7775,13 +7808,13 @@ packages:
- supports-color
dev: true
- /remark-preset-prettier@0.5.1(prettier@3.1.1):
+ /remark-preset-prettier@0.5.1(prettier@3.2.1):
resolution: {integrity: sha512-cJx49HCHwA/3EWjIDiRTWPBBpGSkJlXOpcjdqcT6rGFFE+gjCrGSbNdgBQiLbBqXippZFD0OrI4bOWsWhulKrw==}
engines: {node: '>=12'}
peerDependencies:
prettier: '>=1.0.0'
dependencies:
- prettier: 3.1.1
+ prettier: 3.2.1
dev: true
/remark-stringify@10.0.3:
@@ -7879,6 +7912,11 @@ 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
@@ -8195,6 +8233,11 @@ packages:
atomic-sleep: 1.0.0
dev: false
+ /source-map-js@1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
/source-map-support@0.5.13:
resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
dependencies:
@@ -8544,13 +8587,8 @@ packages:
engines: {node: '>=12'}
dev: true
- /tlds@1.240.0:
- resolution: {integrity: sha512-1OYJQenswGZSOdRw7Bql5Qu7uf75b+F3HFBXbqnG/ifHa0fev1XcG+3pJf3pA/KC6RtHQzfKgIf1vkMlMG7mtQ==}
- hasBin: true
- dev: false
-
- /tlds@1.242.0:
- resolution: {integrity: sha512-aP3dXawgmbfU94mA32CJGHmJUE1E58HCB1KmlKRhBNtqBL27mSQcAEmcaMaQ1Za9kIVvOdbxJD3U5ycDy7nJ3w==}
+ /tlds@1.248.0:
+ resolution: {integrity: sha512-noj0KdpWTBhwsKxMOXk0rN9otg4kTgLm4WohERRHbJ9IY+kSDKr3RmjitaQ3JFzny+DyvBOQKlFZhp0G0qNSfg==}
hasBin: true
dev: false
@@ -8741,10 +8779,6 @@ packages:
mime-types: 2.1.35
dev: false
- /uc.micro@1.0.6:
- resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
- dev: false
-
/uc.micro@2.0.0:
resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==}
dev: false
@@ -8953,7 +8987,7 @@ packages:
optional: true
dependencies:
ip-regex: 4.3.0
- tlds: 1.242.0
+ tlds: 1.248.0
dev: false
/url-template@2.0.8:
@@ -9201,21 +9235,8 @@ packages:
signal-exit: 3.0.7
dev: true
- /ws@8.14.2:
- resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: '>=5.0.2'
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
- dev: false
-
- /ws@8.15.1:
- resolution: {integrity: sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==}
+ /ws@8.16.0:
+ resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
diff --git a/test/utils/pac-proxy.js b/test/utils/pac-proxy.js
new file mode 100644
index 000000000..d98d0607e
--- /dev/null
+++ b/test/utils/pac-proxy.js
@@ -0,0 +1,82 @@
+const { pacProxy } = require('../../lib/utils/pac-proxy');
+
+const emptyProxyObj = {
+ protocol: undefined,
+ host: undefined,
+ port: undefined,
+ auth: undefined,
+ url_regex: '.*',
+};
+
+const effectiveExpect = ({ proxyUri, proxyObj }, expectUri, expectObj) => {
+ expect(proxyUri).toBe(expectUri);
+ expect(proxyObj).toEqual(expectObj);
+};
+
+describe('pac-proxy', () => {
+ const nullExpect = (pac) => effectiveExpect(pac, null, emptyProxyObj);
+ it('pac empty', () => {
+ nullExpect(pacProxy(null, null, emptyProxyObj));
+ });
+ it('pac-uri invalid', () => {
+ nullExpect(pacProxy('http://inv ild.test', null, emptyProxyObj));
+ });
+ it('pac-uri invalid protocol', () => {
+ nullExpect(pacProxy('socks://rsshub.proxy', null, emptyProxyObj));
+ });
+
+ const httpUri = 'http://rsshub.proxy/pac.pac';
+ it('pac-uri http', () => {
+ effectiveExpect(pacProxy(httpUri, null, emptyProxyObj), httpUri, emptyProxyObj);
+ });
+
+ const httpsUri = 'https://rsshub.proxy/pac.pac';
+ it('pac-uri https', () => {
+ effectiveExpect(pacProxy(httpsUri, null, emptyProxyObj), httpsUri, emptyProxyObj);
+ });
+
+ const ftpUri = 'ftp://rsshub.proxy:2333';
+ it('pac-uri ftp', () => {
+ effectiveExpect(pacProxy(ftpUri, null, emptyProxyObj), ftpUri, emptyProxyObj);
+ });
+
+ const fileUri = 'file:///path/to/pac.pac';
+ it('pac-uri file', () => {
+ effectiveExpect(pacProxy(fileUri, null, emptyProxyObj), fileUri, emptyProxyObj);
+ });
+
+ const dataPacScript = "function FindProxyForURL(url, host){return 'DIRECT';}";
+ const dataUri = 'data:text/javascript;charset=utf-8,' + encodeURIComponent(dataPacScript);
+ it('pac-script data', () => {
+ effectiveExpect(pacProxy(null, dataPacScript, emptyProxyObj), dataUri, emptyProxyObj);
+ });
+ it('pac-script data invalid type', () => {
+ effectiveExpect(pacProxy(httpsUri, 1, emptyProxyObj), httpsUri, emptyProxyObj);
+ });
+
+ const httpsObj = { ...emptyProxyObj, protocol: 'https', host: 'rsshub.proxy', port: 2333 };
+ const httpsAuthUri = 'https://user:pass@rsshub.proxy:2333';
+ it('pac-uri https auth', () => {
+ effectiveExpect(pacProxy(httpsAuthUri, null, emptyProxyObj), httpsAuthUri, httpsObj);
+ });
+
+ const httpsAuthObj = { ...httpsObj, auth: 'testtest' };
+ it('pac proxy-obj https auth', () => {
+ effectiveExpect(pacProxy(httpsUri, null, httpsAuthObj), httpsUri, httpsAuthObj);
+ });
+
+ const ftpObj = { ...httpsObj, protocol: 'ftp' };
+ const ftpAuthUri = 'ftp://user:pass@rsshub.proxy:2333';
+ it('pac-uri ftp auth', () => {
+ effectiveExpect(pacProxy(ftpAuthUri, null, emptyProxyObj), ftpAuthUri, ftpObj);
+ });
+
+ const ftpAuthObj = { ...ftpObj, auth: 'testtest' };
+ it('pac-uri ftp auth (invalid)', () => {
+ effectiveExpect(pacProxy(ftpUri, null, ftpAuthObj), ftpUri, ftpObj);
+ });
+
+ it('pac-uri user@pass override proxy-obj auth', () => {
+ effectiveExpect(pacProxy(httpsAuthUri, null, httpsAuthObj), httpsAuthUri, httpsObj);
+ });
+});
diff --git a/test/utils/request-wrapper.js b/test/utils/request-wrapper.js
index c9b5ae166..75e4abebd 100644
--- a/test/utils/request-wrapper.js
+++ b/test/utils/request-wrapper.js
@@ -5,6 +5,11 @@ require('../../lib/utils/request-wrapper');
let check = () => {};
const simpleResponse = ' ';
+beforeEach(() => {
+ delete process.env.PAC_URI;
+ delete process.env.PAC_SCRIPT;
+});
+
afterEach(() => {
delete process.env.PROXY_URI;
delete process.env.PROXY_PROTOCOL;
@@ -215,6 +220,117 @@ describe('got', () => {
await parser.parseURL(url);
});
+ it('pac-uri http', async () => {
+ process.env.PAC_URI = 'http://rsshub.proxy:2333';
+
+ jest.resetModules();
+ require('../../lib/utils/request-wrapper');
+
+ check = (request) => {
+ expect(request.agent.constructor.name).toBe('PacProxyAgent');
+ expect(request.agent.uri.protocol).toBe('http:');
+ expect(request.agent.uri.host).toBe('rsshub.proxy:2333');
+ expect(request.agent.uri.hostname).toBe('rsshub.proxy');
+ expect(request.agent.uri.port).toBe('2333');
+ };
+
+ nock(/rsshub\.test/)
+ .get('/proxy')
+ .times(2)
+ .reply(200, simpleResponse);
+
+ await got.get('http://rsshub.test/proxy');
+ await parser.parseURL('http://rsshub.test/proxy');
+ });
+
+ it('pac-uri https', async () => {
+ process.env.PAC_URI = 'https://rsshub.proxy:2333';
+
+ jest.resetModules();
+ require('../../lib/utils/request-wrapper');
+
+ check = (request) => {
+ expect(request.agent.constructor.name).toBe('PacProxyAgent');
+ expect(request.agent.uri.protocol).toBe('https:');
+ expect(request.agent.uri.host).toBe('rsshub.proxy:2333');
+ expect(request.agent.uri.hostname).toBe('rsshub.proxy');
+ expect(request.agent.uri.port).toBe('2333');
+ };
+
+ nock(/rsshub\.test/)
+ .get('/proxy')
+ .times(2)
+ .reply(200, simpleResponse);
+
+ await got.get('http://rsshub.test/proxy');
+ await parser.parseURL('http://rsshub.test/proxy');
+ });
+
+ it('pac-uri ftp', async () => {
+ process.env.PAC_URI = 'ftp://rsshub.proxy:2333';
+
+ jest.resetModules();
+ require('../../lib/utils/request-wrapper');
+
+ check = (request) => {
+ expect(request.agent.constructor.name).toBe('PacProxyAgent');
+ expect(request.agent.uri.protocol).toBe('ftp:');
+ expect(request.agent.uri.host).toBe('rsshub.proxy:2333');
+ expect(request.agent.uri.hostname).toBe('rsshub.proxy');
+ expect(request.agent.uri.port).toBe('2333');
+ };
+
+ nock(/rsshub\.test/)
+ .get('/proxy')
+ .times(2)
+ .reply(200, simpleResponse);
+
+ await got.get('http://rsshub.test/proxy');
+ await parser.parseURL('http://rsshub.test/proxy');
+ });
+
+ it('pac-uri file', async () => {
+ process.env.PAC_URI = 'file:///D:/rsshub/proxy';
+
+ jest.resetModules();
+ require('../../lib/utils/request-wrapper');
+
+ check = (request) => {
+ expect(request.agent.constructor.name).toBe('PacProxyAgent');
+ expect(request.agent.uri.protocol).toBe('file:');
+ expect(request.agent.uri.pathname).toBe('/D:/rsshub/proxy');
+ };
+
+ nock(/rsshub\.test/)
+ .get('/proxy')
+ .times(2)
+ .reply(200, simpleResponse);
+
+ await got.get('http://rsshub.test/proxy');
+ await parser.parseURL('http://rsshub.test/proxy');
+ });
+
+ it('pac-script data', async () => {
+ process.env.PAC_SCRIPT = "function FindProxyForURL(url,host){return 'DIRECT';}";
+
+ jest.resetModules();
+ require('../../lib/utils/request-wrapper');
+
+ check = (request) => {
+ expect(request.agent.constructor.name).toBe('PacProxyAgent');
+ expect(request.agent.uri.protocol).toBe('data:');
+ expect(request.agent.uri.pathname).toBe("text/javascript;charset=utf-8,function%20FindProxyForURL(url%2Chost)%7Breturn%20'DIRECT'%3B%7D");
+ };
+
+ nock(/rsshub\.test/)
+ .get('/proxy')
+ .times(2)
+ .reply(200, simpleResponse);
+
+ await got.get('http://rsshub.test/proxy');
+ await parser.parseURL('http://rsshub.test/proxy');
+ });
+
it('auth', async () => {
process.env.PROXY_AUTH = 'testtest';
process.env.PROXY_PROTOCOL = 'http'; // only http(s) proxies extract auth from Headers
diff --git a/website/docs/install/config.md b/website/docs/install/config.md
index 92cacbdda..85bc93d06 100644
--- a/website/docs/install/config.md
+++ b/website/docs/install/config.md
@@ -40,7 +40,7 @@ RSSHub supports two caching methods: memory and redis
Partial routes have a strict anti-crawler policy, and can be configured to use proxy.
-Proxy can be configured through **Proxy URI**, **Proxy options**, or **Reverse proxy**.
+Proxy can be configured through **Proxy URI**, **Proxy options**, **PAC script**, or **Reverse proxy**.
### Proxy URI
@@ -96,6 +96,20 @@ async function handleRequest(request) {
}
```
+### PAC script
+
+:::warning
+
+This proxy method overwrites `PROXY_URI`, `PROXY_PROTOCOL`, `PROXY_HOST` and `PROXY_PORT`.
+
+:::
+
+About PAC script, please refer to [Proxy Auto-Configuration (PAC) file](https://developer.mozilla.org/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file).
+
+`PAC_URI`: PAC script URL, supports http, https, ftp, file, data. See [pac-proxy-agent](https://www.npmjs.com/package/pac-proxy-agent) NPM package page.
+
+`PAC_SCRIPT`: Hard-coded JavaScript code string of PAC script. Overwrites `PAC_URI`.
+
### Proxy options
`PROXY_PROTOCOL`: Using proxy, supports socks, http, https, etc. See [socks-proxy-agent](https://www.npmjs.com/package/socks-proxy-agent) NPM package page and [source](https://github.com/TooTallNate/proxy-agents/blob/63adbcefdb4783cc67c0eb90200886b4064e8639/packages/socks-proxy-agent/src/index.ts#L81) for what these protocols mean. See also [cURL OOTW: SOCKS5](https://daniel.haxx.se/blog/2020/05/26/curl-ootw-socks5/) for reference.
@@ -261,6 +275,11 @@ See docs of the specified route and `lib/config.js` for detailed information.
2. 打开控制台,切换到 Network 面板,刷新
3. 点击 dynamic_new 请求,找到 Cookie
4. 视频和专栏,UP 主粉丝及关注只要求 `SESSDATA` 字段,动态需复制整段 Cookie
+- `BILIBILI_DM_IMG_LIST`: 用于获取UP主投稿系列的路由,获取方式:
+ 1. 打开 [任意UP主个人空间页](https://space.bilibili.com/1)
+ 2. 打开控制台,切换到 Network 面板,关闭缓存,刷新,鼠标在窗口内不断移动
+ 3. 使用过滤器找到符合 `https://api.bilibili.com/x/space/wbi/arc/search` 的请求
+ 4. 复制请求参数中 `dm_img_list` 字段的内容,如 `[{"x":2721,"y":615,"z":0,"timestamp":29,"type":0}]`
### Bitbucket
diff --git a/website/docs/joinus/new-rss/start-code.md b/website/docs/joinus/new-rss/start-code.md
index 6f9061d0b..525c3cfea 100644
--- a/website/docs/joinus/new-rss/start-code.md
+++ b/website/docs/joinus/new-rss/start-code.md
@@ -320,7 +320,7 @@ Next, we'll use Cheerio selectors to select the relevant HTML elements, parse th
// We use a Cheerio selector to select all 'div' elements with the class name 'js-navigation-container'
// that contain child elements with the class name 'flex-auto'.
// highlight-start
- const item = $('div.js-navigation-container .flex-auto')
+ const items = $('div.js-navigation-container .flex-auto')
// We use the `toArray()` method to retrieve all the DOM elements selected as an array.
.toArray()
// We use the `map()` method to traverse the array and parse the data we need from each element.
@@ -366,7 +366,7 @@ module.exports = async (ctx) => {
const { data: response } = await got(`${baseUrl}/${user}/${repo}/issues`);
const $ = cheerio.load(response);
- const item = $('div.js-navigation-container .flex-auto')
+ const items = $('div.js-navigation-container .flex-auto')
.toArray()
.map((item) => {
item = $(item);
diff --git a/website/docs/routes/blog.mdx b/website/docs/routes/blog.mdx
index 7ba996bc8..51dae7bcd 100644
--- a/website/docs/routes/blog.mdx
+++ b/website/docs/routes/blog.mdx
@@ -22,6 +22,12 @@
+## Backlinko {#backlinko}
+
+### Blog {#backlinko-blog}
+
+
+
## Benedict Evans {#benedict-evans}
### Essays {#benedict-evans-essays}
diff --git a/website/docs/routes/forecast.mdx b/website/docs/routes/forecast.mdx
index bb8faf736..2f17b104e 100644
--- a/website/docs/routes/forecast.mdx
+++ b/website/docs/routes/forecast.mdx
@@ -68,6 +68,77 @@
+## 国家气候中心 {#guo-jia-qi-hou-zhong-xin}
+
+### 最新监测 {#guo-jia-qi-hou-zhong-xin-zui-xin-jian-ce}
+
+
+ :::tip
+ 若订阅全部最新监测信息,此时路由为 [`/ncc-cma/cmdp/image`](https://rsshub.app/ncc-cma/cmdp/image)。
+
+ 若订阅中国气温 **日平均气温距平** 的最新监测信息,此时路由为 [`/ncc-cma/cmdp/image/RPJQWQYZ`](https://rsshub.app/ncc-cma/cmdp/image/RPJQWQYZ)。
+
+ 若订阅全球降水 **降水量(最近 10 天)** / **降水量(最近 10 天)** / **降水量(最近 10 天)** 的最新监测信息,此时路由为 [`/ncc-cma/cmdp/image/glbrain10_/glbrain20_/glbrain30_`](https://rsshub.app/ncc-cma/cmdp/image/glbrain10_/glbrain20_/glbrain30_)。
+ :::
+
+ #### [中国气温](http://cmdp.ncc-cma.net/cn/index.htm)
+
+ | 分类 | ID |
+ | -------------------- | ---------- |
+ | 日平均气温距平 | RPJQWQYZ |
+ | 近 5 天平均气温距平 | ZJ5TPJQWJP |
+ | 近 10 天平均气温距平 | ZJ10TQWJP |
+ | 近 20 天平均气温距平 | ZJ20TQWJP |
+ | 近 30 天平均气温距平 | ZJ30TQWJP |
+ | 本月以来气温距平 | BYYLQWJP |
+ | 本季以来气温距平 | BJYLQWJP |
+ | 本年以来气温距平 | BNYLQWJP |
+
+ #### [中国降水](http://cmdp.ncc-cma.net/cn/index.htm)
+
+ | 分类 | ID |
+ | ------------------------ | -------------- |
+ | 日降水量分布 | QGRJSLFBT0808S |
+ | 近 5 天降水量 | ZJ5TJSLFBT |
+ | 近 10 天降水量 | ZJ10TJSL |
+ | 近 20 天降水量 | ZJ20TJSL |
+ | 近 30 天降水量 | ZJ30TJSL |
+ | 本月以来降水量 | BYYLJSL |
+ | 本季以来降水量 | BJYLJSL |
+ | 近 10 天降水量距平百分率 | ZJ10TJSLJP |
+ | 近 20 天降水量距平百分率 | ZJ20TJSLJP |
+ | 近 30 天降水量距平百分率 | ZJ30TJSLJP |
+ | 本月以来降水量距平百分率 | BYYLJSLJPZYQHZ |
+ | 本季以来降水量距平百分率 | BJYLJSLJPZJQHZ |
+ | 本年以来降水量距平百分率 | BNYLJSLJP |
+
+ #### [全球气温](http://cmdp.ncc-cma.net/cn/index.htm)
+
+ | 分类 | ID |
+ | -------------------------- | ------------- |
+ | 气温距平(最近 10 天) | glbtmeana10\_ |
+ | 气温距平(最近 20 天) | glbtmeana20\_ |
+ | 气温距平(最近 30 天) | glbtmeana30\_ |
+ | 气温距平(最近 90 天) | glbtmeana90\_ |
+ | 最低气温距平(最近 30 天) | glbtmina30\_ |
+ | 最低气温距平(最近 90 天) | glbtmina90\_ |
+ | 最高气温距平(最近 30 天) | glbtmaxa30\_ |
+ | 最高气温距平(最近 90 天) | glbtmaxa90\_ |
+
+ #### [全球降水](http://cmdp.ncc-cma.net/cn/index.htm)
+
+ | 分类 | ID |
+ | ---------------------------- | ------------ |
+ | 降水量(最近 10 天) | glbrain10\_ |
+ | 降水量(最近 20 天) | glbrain20\_ |
+ | 降水量(最近 30 天) | glbrain30\_ |
+ | 降水量(最近 90 天) | glbrain90\_ |
+ | 降水距平百分率(最近 10 天) | glbraina10\_ |
+ | 降水距平百分率(最近 20 天) | glbraina20\_ |
+ | 降水距平百分率(最近 30 天) | glbraina30\_ |
+ | 降水距平百分率(最近 90 天) | glbraina90\_ |
+
+
## 国家突发事件预警信息发布网 {#guo-jia-tu-fa-shi-jian-yu-jing-xin-xi-fa-bu-wang}
### 当前生效预警 {#guo-jia-tu-fa-shi-jian-yu-jing-xin-xi-fa-bu-wang-dang-qian-sheng-xiao-yu-jing}
diff --git a/website/docs/routes/game.mdx b/website/docs/routes/game.mdx
index a96442a79..ec9648aac 100644
--- a/website/docs/routes/game.mdx
+++ b/website/docs/routes/game.mdx
@@ -234,6 +234,43 @@
+## HoYoLAB {#hoyolab}
+
+### 公告 {#hoyolab-gong-gao}
+
+
+ 语言 language
+
+ | Language | Code |
+ | ---------------- | ----- |
+ | 简体中文 | zh-cn |
+ | 繁體中文 | zh-tw |
+ | 日本語 | ja-jp |
+ | 한국어 | ko-kr |
+ | English (US) | en-us |
+ | Español (EU) | es-es |
+ | Français | fr-fr |
+ | Deutsch | de-de |
+ | Русский | ru-ru |
+ | Português | pt-pt |
+ | Español (Latino) | es-mx |
+ | Indonesia | id-id |
+ | Tiếng Việt | vi-vn |
+ | ภาษาไทย | th-th |
+
+ 游戏 gids
+
+ | 崩坏三 | 原神 | 未定事件簿 | HoYoLAB | 崩坏:星穹铁道 | 绝区零 |
+ | ------ | ---- | ---------- | ------- | -------------- | ------ |
+ | 1 | 2 | 4 | 5 | 6 | 8 |
+
+ 公告类型 type
+
+ | 公告 | 活动 | 资讯 |
+ | ---- | ---- | ---- |
+ | 1 | 2 | 3 |
+
+
## Indienova {#indienova}
### indienova 文章 {#indienova-indienova-wen-zhang}
diff --git a/website/docs/routes/government.mdx b/website/docs/routes/government.mdx
index f14580511..9cd45d80a 100644
--- a/website/docs/routes/government.mdx
+++ b/website/docs/routes/government.mdx
@@ -2032,6 +2032,12 @@
| :------: | :------: | :------: | :------: | :------: | :------: |
| szyw | hjywnews | dfnews | xwfb | spxw | gsgg |
+## 中华人民共和国司法部 {#zhong-hua-ren-min-gong-he-guo-si-fa-bu}
+
+### 立法意见征集 {#zhong-hua-ren-min-gong-he-guo-si-fa-bu-li-fa-yi-jian-zheng-ji}
+
+
+
## 中华人民共和国退役军人事务部 {#zhong-hua-ren-min-gong-he-guo-tui-yi-jun-ren-shi-wu-bu}
### 中华人民共和国退役军人事务部 {#zhong-hua-ren-min-gong-he-guo-tui-yi-jun-ren-shi-wu-bu-zhong-hua-ren-min-gong-he-guo-tui-yi-jun-ren-shi-wu-bu}
diff --git a/website/docs/routes/journal.mdx b/website/docs/routes/journal.mdx
index c87650d69..4005e3648 100644
--- a/website/docs/routes/journal.mdx
+++ b/website/docs/routes/journal.mdx
@@ -114,6 +114,21 @@
Including 'cell', 'cancer-cell', 'cell-chemical-biology', 'cell-host-microbe', 'cell-metabolism', 'cell-reports', 'cell-reports-physical-science', 'cell-stem-cell', 'cell-systems', 'chem', 'current-biology', 'developmental-cell', 'immunity', 'joule', 'matter', 'molecular-cell', 'neuron', 'one-earth' and 'structure'.
+## Cool Papers {#cool-papers}
+
+### Category {#cool-papers-category}
+
+
+ | Category | id |
+ | ----------------------------------------------------- | ------------- |
+ | Arxiv Computation and Language (cs.CL) | arxiv/cs.CL |
+ | Arxiv Machine Learning (cs.LG) | arxiv/cs.LG |
+ | Arxiv Artificial Intelligence (cs.AI) | arxiv/cs.AI |
+ | Arxiv Information Retrieval (cs.IR) | arxiv/cs.IR |
+ | Arxiv Computer Vision and Pattern Recognition (cs.CV) | arxiv/cs.CV |
+ | Arxiv Machine Learning (stat.ML) | arxiv/stat.ML |
+
+
## Deloitte {#deloitte}
### Articles {#deloitte-articles}
@@ -447,6 +462,12 @@ You can get all short name of a journal from [https://www.nature.com/siteindex](
+## Trending Papers {#trending-papers}
+
+### Trending Papers on arXiv {#trending-papers-trending-papers-on-arxiv}
+
+
+
## USENIX {#usenix}
### Security Symposia {#usenix-security-symposia}
diff --git a/website/docs/routes/multimedia.mdx b/website/docs/routes/multimedia.mdx
index f6f5b4f34..2d389d764 100644
--- a/website/docs/routes/multimedia.mdx
+++ b/website/docs/routes/multimedia.mdx
@@ -303,6 +303,22 @@ Full transcript support for better user experience.
+## BT 之家 1LOU 站 {#bt-zhi-jia-1lou-zhan}
+
+### 搜索 {#bt-zhi-jia-1lou-zhan-sou-suo}
+
+
+ :::tip
+ 将 1lou.me/ 后的内容作为参数传入到 path 即可
+
+ [www.1lou.me/search - 繁花.htm](http://www.1lou.me/search-繁花.htm) --> /1lou/search - 繁花.htm
+
+ [www.1lou.me/forum-1.htm](http://www.1lou.me/forum-1.htm) --> /1lou/forum-1.htm
+
+ [www.1lou.me/](http://www.1lou.me/) --> /1lou/
+ :::
+
+
## BT 之家 {#bt-zhi-jia}
### 分类 {#bt-zhi-jia-fen-lei}
@@ -403,6 +419,8 @@ Full transcript support for better user experience.
:::tip
由于大部分详情页是 `/html/xxx.html`,还有部分是 `/detail/123.html`,所以此处做了兼容,id 取 `xxx` 或者 `123` 都可以。
+
+新增 `second` 参数,用于选择下载地址二(地址二不可用或者不填都默认地址一),用法: `/domp4/detail/LBTANI22222I?second=1`。
:::
## E-Hentai {#e-hentai}
@@ -957,6 +975,20 @@ JavDB 有多个备用域名,本路由默认使用永久域名 `https://javdb.c
`day` 类型的关键词必须填写 **日期** ,按照示例写成形如 `20200730` 的格式
+## OTOBANANA {#otobanana}
+
+### Timeline タイムライン {#otobanana-timeline-%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%A9%E3%82%A4%E3%83%B3}
+
+
+
+### Cast 音声投稿 {#otobanana-cast-yin-sheng-tou-gao}
+
+
+
+### Livestream ライブ配信 {#otobanana-livestream-%E3%83%A9%E3%82%A4%E3%83%96-pei-xin}
+
+
+
## PornHub {#pornhub}
### Category {#pornhub-category}
diff --git a/website/docs/routes/new-media.mdx b/website/docs/routes/new-media.mdx
index 49ae0b440..e0c42d38c 100644
--- a/website/docs/routes/new-media.mdx
+++ b/website/docs/routes/new-media.mdx
@@ -910,6 +910,12 @@
+## Live Universal Awareness Map {#live-universal-awareness-map}
+
+### 实时消息 {#live-universal-awareness-map-shi-shi-xiao-xi}
+
+
+
## LVV2 {#lvv2}
### 频道 {#lvv2-pin-dao}
@@ -1101,6 +1107,14 @@
+## Onet {#onet}
+
+### News {#onet-news}
+
+
+ This route provides a better reading experience (full text articles) over the official one for `https://wiadomosci.onet.pl`.
+
+
## OpenAI {#openai}
### Blog {#openai-blog}
diff --git a/website/docs/routes/other.mdx b/website/docs/routes/other.mdx
index 42aeebd69..273321b10 100644
--- a/website/docs/routes/other.mdx
+++ b/website/docs/routes/other.mdx
@@ -1065,6 +1065,12 @@ Specify options (in the format of query string) in parameter `routeParams` param
| short | zs | xh | xc | xhmr | xhmc | xcmr | xcmc |
+## 中华全国专利代理师协会 {#zhong-hua-quan-guo-zhuan-li-dai-li-shi-xie-hui}
+
+### 标签 {#zhong-hua-quan-guo-zhuan-li-dai-li-shi-xie-hui-biao-qian}
+
+
+
## はてな {#%E3%81%AF%E3%81%A6%E3%81%AA}
### はてな匿名ダイアリー - 人気記事アーカイブ {#%E3%81%AF%E3%81%A6%E3%81%AA-%E3%81%AF%E3%81%A6%E3%81%AA-ni-ming-%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AA%E3%83%BC-ren-qi-ji-shi-%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96}
diff --git a/website/docs/routes/program-update.mdx b/website/docs/routes/program-update.mdx
index 03f96da3c..ccf012212 100644
--- a/website/docs/routes/program-update.mdx
+++ b/website/docs/routes/program-update.mdx
@@ -266,6 +266,12 @@ Need to configure `CIVITAI_COOKIE` to obtain image information of NSFW models.
+## GoFans {#gofans}
+
+### 最新限免 / 促销应用 {#gofans-zui-xin-xian-mian-cu-xiao-ying-yong}
+
+
+
## Greasy Fork {#greasy-fork}
### Script Update {#greasy-fork-script-update}
@@ -564,8 +570,8 @@ Logseq 开发团队已经放弃了 [旧网站](https://logseq.com/blog)。
### Blog {#tradingview-blog}
-
- Language
+
+ #### Language
| Id | Language |
| -- | ------------------- |
@@ -589,6 +595,25 @@ Logseq 开发团队已经放弃了 [旧网站](https://logseq.com/blog)。
| sv | Svenska |
| ar | العربية |
| il | Hebrew |
+
+ #### Category
+
+ | Category | ID |
+ | ---------------------------------------------------------------------------------------------- | ----------------------------- |
+ | [Alerts](https://www.tradingview.com/blog/en/category/alerts/) | category/alerts |
+ | [Bitcoin and Crypto](https://www.tradingview.com/blog/en/category/bitcoin-charts/) | category/bitcoin-charts |
+ | [Business Updates](https://www.tradingview.com/blog/en/category/business-updates/) | category/business-updates |
+ | [Charting](https://www.tradingview.com/blog/en/category/charts/) | category/charts |
+ | [Charting Library](https://www.tradingview.com/blog/en/category/charting-library/) | category/charting-library |
+ | [Data Feeds and Exchanges](https://www.tradingview.com/blog/en/category/data-feeds-exchanges/) | category/data-feeds-exchanges |
+ | [Desktop](https://www.tradingview.com/blog/en/category/desktop/) | category/desktop |
+ | [Market Analysis](https://www.tradingview.com/blog/en/category/market-analysis/) | category/market-analysis |
+ | [Mobile](https://www.tradingview.com/blog/en/category/mobile/) | category/mobile |
+ | [Pine Script®](https://www.tradingview.com/blog/en/category/pine/) | category/pine |
+ | [Screener](https://www.tradingview.com/blog/en/category/stock-screener/) | category/stock-screener |
+ | [Social](https://www.tradingview.com/blog/en/category/social/) | category/social |
+ | [Trading and Brokerage](https://www.tradingview.com/blog/en/category/trading/) | category/trading |
+ | [Widgets](https://www.tradingview.com/blog/en/category/widgets/) | category/widgets |
## Typora {#typora}
diff --git a/website/docs/routes/programming.mdx b/website/docs/routes/programming.mdx
index e264355ef..c4d14219b 100644
--- a/website/docs/routes/programming.mdx
+++ b/website/docs/routes/programming.mdx
@@ -492,6 +492,10 @@ Subscribe to the updates (threads and submission) from a paritcular Hacker News
+### 中文博客 {#huggingface-zhong-wen-bo-ke}
+
+
+
## Issue Hunt {#issue-hunt}
### Project Funded {#issue-hunt-project-funded}
diff --git a/website/docs/routes/reading.mdx b/website/docs/routes/reading.mdx
index 0e3ac097b..c62257043 100644
--- a/website/docs/routes/reading.mdx
+++ b/website/docs/routes/reading.mdx
@@ -357,6 +357,12 @@
+## 中国的中古 {#zhong-guo-de-zhong-gu}
+
+### 首页 {#zhong-guo-de-zhong-gu-shou-ye}
+
+
+
## 纵横 {#zong-heng}
### 章节 {#zong-heng-zhang-jie}
diff --git a/website/docs/routes/shopping.mdx b/website/docs/routes/shopping.mdx
index 749e0a035..6361582ba 100644
--- a/website/docs/routes/shopping.mdx
+++ b/website/docs/routes/shopping.mdx
@@ -239,7 +239,7 @@ For instance, in `https://www.zagg.com/en_us/new-arrivals?brand=164&cat=3038%2C3
### 票务更新 {#da-mai-wang-piao-wu-geng-xin}
-
+
城市、分类名、子分类名,请参见[大麦网搜索页面](https://search.damai.cn/search.htm)
@@ -546,7 +546,7 @@ For instance, in `https://www.zagg.com/en_us/new-arrivals?brand=164&cat=3038%2C3
### 演出搜索 {#xiu-dong-wang-yan-chu-sou-suo}
-
+
### 音乐人 - 演出更新 {#xiu-dong-wang-yin-yue-ren-yan-chu-geng-xin}
diff --git a/website/docs/routes/social-media.mdx b/website/docs/routes/social-media.mdx
index 7246fb282..2fad79f99 100644
--- a/website/docs/routes/social-media.mdx
+++ b/website/docs/routes/social-media.mdx
@@ -339,6 +339,10 @@
## Bluesky (bsky) {#bluesky-bsky}
+### Post {#bluesky-bsky-post}
+
+
+
### Keywords {#bluesky-bsky-keywords}
diff --git a/website/docs/routes/study.mdx b/website/docs/routes/study.mdx
index 79dc2ebd2..587ae3e68 100644
--- a/website/docs/routes/study.mdx
+++ b/website/docs/routes/study.mdx
@@ -335,11 +335,19 @@
## 上海市教育考试院 {#shang-hai-shi-jiao-yu-kao-shi-yuan}
-### 消息速递 {#shang-hai-shi-jiao-yu-kao-shi-yuan-xiao-xi-su-di}
+官方网址:[https://www.shmeea.edu.cn](https://www.shmeea.edu.cn)
-官方网址:[http://www.shmeea.edu.cn](http://www.shmeea.edu.cn)
+### 消息 {#shang-hai-shi-jiao-yu-kao-shi-yuan-xiao-xi}
-
+
+ :::tip
+ 例如:消息速递的网址为 `https://www.shmeea.edu.cn/page/08000/index.html`,则页面 ID 为 `08000`。
+ :::
+
+ :::warning
+ 暂不支持大类分类和[院内动态](https://www.shmeea.edu.cn/page/19000/index.html)
+ :::
+
### 自学考试通知公告 {#shang-hai-shi-jiao-yu-kao-shi-yuan-zi-xue-kao-shi-tong-zhi-gong-gao}
diff --git a/website/docs/routes/traditional-media.mdx b/website/docs/routes/traditional-media.mdx
index ef5872940..b09385418 100644
--- a/website/docs/routes/traditional-media.mdx
+++ b/website/docs/routes/traditional-media.mdx
@@ -177,6 +177,18 @@
:::
+## Ekantipur / कान्तिपुर (Nepal) {#ekantipur-%E0%A4%95%E0%A4%BE%E0%A4%A8%E0%A5%8D%E0%A4%A4%E0%A4%BF%E0%A4%AA%E0%A5%81%E0%A4%B0-nepal}
+
+### Full Article RSS {#ekantipur-%E0%A4%95%E0%A4%BE%E0%A4%A8%E0%A5%8D%E0%A4%A4%E0%A4%BF%E0%A4%AA%E0%A5%81%E0%A4%B0-nepal-full-article-rss}
+
+
+ Channels:
+
+ | समाचार | अर्थ / वाणिज्य | विचार | खेलकुद | उपत्यका | मनोरञ्जन | फोटोफिचर | फिचर | विश्व | ब्लग |
+ | ---- | -------- | ------- | ------ | -------- | ------------- | -------------- | ------- | ----- | ---- |
+ | news | business | opinion | sports | national | entertainment | photo\_feature | feature | world | blog |
+
+
## Financial Times {#financial-times}
### FT 中文网 {#financial-times-ft-zhong-wen-wang}
@@ -194,6 +206,15 @@
- 频道包含多重路径,如 `http://www.ftchinese.com/rss/column/007000002` 则替换 `/` 为 `-` `/ft/chinese/column-007000002`.
+### myFT personal RSS {#financial-times-myft-personal-rss}
+
+
+ :::tip
+ - Visit ft.com -> myFT -> Contact Preferences to enable personal RSS feed, see [help.ft.com](https://help.ft.com/faq/email-alerts-and-contact-preferences/what-is-myft-rss-feed/)
+ - Obtain the key from the personal RSS address, it looks like `12345678-abcd-4036-82db-vdv20db024b8`
+ :::
+
+
## Korean Central News Agency (KCNA) 朝鲜中央通讯社 {#korean-central-news-agency-kcna-chao-xian-zhong-yang-tong-xun-she}
### News {#korean-central-news-agency-kcna-chao-xian-zhong-yang-tong-xun-she-news}
@@ -961,6 +982,52 @@ This route adds the missing photo and Link element. (Offical RSS doesn't have Li
+### DT 财经 {#di-yi-cai-jing-dt-cai-jing}
+
+
+ #### [文章](https://dt.yicai.com/article)
+
+ | 分类 | ID |
+ | -------- | ---------- |
+ | 全部 | article/0 |
+ | 新流行 | article/31 |
+ | 新趋势 | article/32 |
+ | 商业黑马 | article/33 |
+ | 新品 | article/34 |
+ | 营销 | article/35 |
+ | 大公司 | article/36 |
+ | 城市生活 | article/38 |
+
+ #### [报告](https://dt.yicai.com/report)
+
+ | 分类 | ID |
+ | ---------- | --------- |
+ | 全部 | report/0 |
+ | 人群观念 | report/9 |
+ | 人群行为 | report/22 |
+ | 美妆个护 | report/23 |
+ | 3C 数码 | report/24 |
+ | 营销趋势 | report/25 |
+ | 服饰鞋包 | report/27 |
+ | 互联网 | report/28 |
+ | 城市与居住 | report/29 |
+ | 消费趋势 | report/30 |
+ | 生活趋势 | report/37 |
+
+ #### [可视化](https://dt.yicai.com/visualization)
+
+ | 分类 | ID |
+ | -------- | ---------------- |
+ | 全部 | visualization/0 |
+ | 新流行 | visualization/39 |
+ | 新趋势 | visualization/40 |
+ | 商业黑马 | visualization/41 |
+ | 新品 | visualization/42 |
+ | 营销 | visualization/43 |
+ | 大公司 | visualization/44 |
+ | 城市生活 | visualization/45 |
+
+
## 东方网 {#dong-fang-wang}
### 上海新闻 {#dong-fang-wang-shang-hai-xin-wen}
@@ -1812,6 +1879,28 @@ This route adds the missing photo and Link element. (Offical RSS doesn't have Li
| ---- | ---- | ---- | ---- | ---- | -------- |
+## 三联生活周刊 {#san-lian-sheng-huo-zhou-kan}
+
+### 栏目 {#san-lian-sheng-huo-zhou-kan-lan-mu}
+
+提取文章全文,获得更好的阅读体验。支持所有频道,频道名称见 [杂志栏目](https://www.lifeweek.com.cn/classify?type=2)。例如 [调查栏目](https://www.lifeweek.com.cn/column/9) URL 最后的数字为栏目 ID
+
+
+ | 调查 | 热点 | 人物 | 社会 | 经济 | 文化 |
+ | ---- | ---- | ---- | ---- | ---- | ---- |
+ | 9 | 6 | 10 | 2 | 3 | 4 |
+
+
+### 标签 {#san-lian-sheng-huo-zhou-kan-biao-qian}
+
+提取文章全文,获得更好的阅读体验。支持所有标签,标签名称见 [全部标签](https://www.lifeweek.com.cn/classify?type=1)。例如 [社会调查标签](https://www.lifeweek.com.cn/articleList/122) URL 最后的数字为标签 ID
+
+
+ | 社会调查 | 社会 | 经济 | 理财 | 热点 |
+ | -------- | ---- | ---- | ---- | ---- |
+ | 122 | 21 | 73 | 74 | 123 |
+
+
## 厦门网 {#xia-men-wang}
### 数字媒体 {#xia-men-wang-shu-zi-mei-ti}
diff --git a/website/docs/routes/university.mdx b/website/docs/routes/university.mdx
index cf1928b10..7c45c70ed 100644
--- a/website/docs/routes/university.mdx
+++ b/website/docs/routes/university.mdx
@@ -2345,6 +2345,54 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE\_TL
| 897 | 898 |
+### 体育部 {#shang-hai-di-er-gong-ye-da-xue-ti-yu-bu}
+
+
+ | 通知公告 | 体育新闻 | 场馆管理 | 相关下载 |
+ | -------- | -------- | -------- | -------- |
+ | 342 | 343 | 324 | 325 |
+
+
+ 更多栏目
+
+ #### [部门概况](https://pe2016.sspu.edu.cn/318/list.htm)
+
+ | [部门简介](https://pe2016.sspu.edu.cn/327/list.htm) | [师资介绍](https://pe2016.sspu.edu.cn/328/list.htm) | [机构设置](https://pe2016.sspu.edu.cn/329/list.htm) | [团队建设](https://pe2016.sspu.edu.cn/330/list.htm) |
+ | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
+ | 327 | 328 | 329 | 330 |
+
+ #### [教育教学](https://pe2016.sspu.edu.cn/319/list.htm)
+
+ | [课程介绍](https://pe2016.sspu.edu.cn/331/list.htm) | [教学管理](https://pe2016.sspu.edu.cn/332/list.htm) | [教学成果](https://pe2016.sspu.edu.cn/333/list.htm) |
+ | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
+ | 331 | 332 | 333 |
+
+ #### [学科研究](https://pe2016.sspu.edu.cn/320/list.htm)
+
+ | [学术交流](https://pe2016.sspu.edu.cn/334/list.htm) | [科研工作](https://pe2016.sspu.edu.cn/335/list.htm) |
+ | --------------------------------------------------- | --------------------------------------------------- |
+ | 334 | 335 |
+
+ #### [运动竞赛](https://pe2016.sspu.edu.cn/321/list.htm)
+
+ | [竞赛管理](https://pe2016.sspu.edu.cn/336/list.htm) | [竞赛成绩](https://pe2016.sspu.edu.cn/337/list.htm) | [特色项目](https://pe2016.sspu.edu.cn/338/list.htm) |
+ | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
+ | 336 | 337 | 338 |
+
+ #### [群体活动](https://pe2016.sspu.edu.cn/322/list.htm)
+
+ | [阳光体育](https://pe2016.sspu.edu.cn/345/list.htm) | [体育社团](https://pe2016.sspu.edu.cn/346/list.htm) |
+ | --------------------------------------------------- | --------------------------------------------------- |
+ | 345 | 346 |
+
+ #### [党群工作](https://pe2016.sspu.edu.cn/323/list.htm)
+
+ | [党务公开](https://pe2016.sspu.edu.cn/339/list.htm) | [精神文明](https://pe2016.sspu.edu.cn/340/list.htm) | [教工之家](https://pe2016.sspu.edu.cn/341/list.htm) |
+ | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
+ | 339 | 340 | 341 |
+
+
+
## 上海电力大学 {#shang-hai-dian-li-da-xue}
### 新闻网与学院通知 {#shang-hai-dian-li-da-xue-xin-wen-wang-yu-xue-yuan-tong-zhi}
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 531b2d22b..0145b4105 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
@@ -40,7 +40,7 @@ RSSHub 支持 `memory` 和 `redis` 两种缓存方式
部分路由反爬严格,可以配置使用代理抓取。
-可通过**代理 URI **或**代理选项**或**反向代理**三种方式来配置代理。
+可通过**代理 URI** 或**代理选项**或**代理自动配置文件 (PAC)** 或**反向代理**等方式来配置代理。
### 代理 URI
@@ -72,6 +72,20 @@ RSSHub 支持 `memory` 和 `redis` 两种缓存方式
`PROXY_URL_REGEX`: 启用代理的 URL 正则表达式,默认全部开启 `.*`
+### 代理自动配置文件 (PAC)
+
+:::warning
+
+该方法会覆盖 `PROXY_URI`, `PROXY_PROTOCOL`, `PROXY_HOST` 以及 `PROXY_PORT`。
+
+:::
+
+关于代理自动配置文件 (PAC),请查看[代理自动配置文件(PAC)文件](https://developer.mozilla.org/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file)。
+
+`PAC_URI`: PAC 文件 URI,支持 http, https, ftp, file, data。具体以 [pac-proxy-agent](https://www.npmjs.com/package/pac-proxy-agent) NPM 包的支持为准。
+
+`PAC_SCRIPT`: 硬编码的 PAC 脚本字符串。覆盖 `PAC_URI`。
+
### 反向代理
:::warning
diff --git a/website/i18n/zh/docusaurus-plugin-content-docs/current/joinus/new-rss/start-code.md b/website/i18n/zh/docusaurus-plugin-content-docs/current/joinus/new-rss/start-code.md
index eec52ca0c..ff1334426 100644
--- a/website/i18n/zh/docusaurus-plugin-content-docs/current/joinus/new-rss/start-code.md
+++ b/website/i18n/zh/docusaurus-plugin-content-docs/current/joinus/new-rss/start-code.md
@@ -317,7 +317,7 @@ module.exports = async (ctx) => {
// 我们使用 Cheerio 选择器选择所有带类名“js-navigation-container”的“div”元素,
// 其中包含带类名“flex-auto”的子元素。
// highlight-start
- const item = $('div.js-navigation-container .flex-auto')
+ const items = $('div.js-navigation-container .flex-auto')
// 使用“toArray()”方法将选择的所有 DOM 元素以数组的形式返回。
.toArray()
// 使用“map()”方法遍历数组,并从每个元素中解析需要的数据。
@@ -363,7 +363,7 @@ module.exports = async (ctx) => {
const { data: response } = await got(`${baseUrl}/${user}/${repo}/issues`);
const $ = cheerio.load(response);
- const item = $('div.js-navigation-container .flex-auto')
+ const items = $('div.js-navigation-container .flex-auto')
.toArray()
.map((item) => {
item = $(item);
diff --git a/website/package.json b/website/package.json
index bf827ad88..b0eab6a49 100644
--- a/website/package.json
+++ b/website/package.json
@@ -17,26 +17,26 @@
},
"dependencies": {
"@dipakparmar/docusaurus-plugin-umami": "^2.1.2",
- "@docusaurus/core": "3.0.1",
- "@docusaurus/plugin-client-redirects": "3.0.1",
- "@docusaurus/plugin-pwa": "3.0.1",
- "@docusaurus/preset-classic": "3.0.1",
+ "@docusaurus/core": "3.1.0",
+ "@docusaurus/plugin-client-redirects": "3.1.0",
+ "@docusaurus/plugin-pwa": "3.1.0",
+ "@docusaurus/preset-classic": "3.1.0",
"@mdx-js/react": "^3.0.0",
- "clsx": "^2.0.0",
+ "clsx": "^2.1.0",
"markdown-it": "^14.0.0",
"meilisearch-docsearch": "^0.6.0",
- "pinyin-pro": "3.18.5",
+ "pinyin-pro": "3.19.0",
"prism-react-renderer": "^2.3.1",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
- "@docusaurus/module-type-aliases": "3.0.1",
- "@docusaurus/tsconfig": "^3.0.1",
- "@docusaurus/types": "3.0.1",
+ "@docusaurus/module-type-aliases": "3.1.0",
+ "@docusaurus/tsconfig": "^3.1.0",
+ "@docusaurus/types": "3.1.0",
"@types/markdown-it": "^13.0.7",
"@types/mdx-js__react": "^1.5.8",
- "@types/react": "^18.2.45",
+ "@types/react": "^18.2.47",
"@types/react-dom": "^18.2.18",
"typescript": "^5.3.3"
},
diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml
index 81fdb8f80..362a72148 100644
--- a/website/pnpm-lock.yaml
+++ b/website/pnpm-lock.yaml
@@ -9,23 +9,23 @@ dependencies:
specifier: ^2.1.2
version: 2.1.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
'@docusaurus/core':
- specifier: 3.0.1
- version: 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
+ 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)
'@docusaurus/plugin-client-redirects':
- specifier: 3.0.1
- version: 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
+ 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)
'@docusaurus/plugin-pwa':
- specifier: 3.0.1
- version: 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
+ specifier: 3.1.0
+ version: 3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
'@docusaurus/preset-classic':
- specifier: 3.0.1
- version: 3.0.1(@algolia/client-search@4.20.0)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.3)
+ specifier: 3.1.0
+ version: 3.1.0(@algolia/client-search@4.22.0)(@types/react@18.2.47)(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.45)(react@18.2.0)
+ version: 3.0.0(@types/react@18.2.47)(react@18.2.0)
clsx:
- specifier: ^2.0.0
- version: 2.0.0
+ specifier: ^2.1.0
+ version: 2.1.0
markdown-it:
specifier: ^14.0.0
version: 14.0.0
@@ -33,8 +33,8 @@ dependencies:
specifier: ^0.6.0
version: 0.6.0
pinyin-pro:
- specifier: 3.18.5
- version: 3.18.5
+ specifier: 3.19.0
+ version: 3.19.0
prism-react-renderer:
specifier: ^2.3.1
version: 2.3.1(react@18.2.0)
@@ -47,14 +47,14 @@ dependencies:
devDependencies:
'@docusaurus/module-type-aliases':
- specifier: 3.0.1
- version: 3.0.1(react-dom@18.2.0)(react@18.2.0)
+ specifier: 3.1.0
+ version: 3.1.0(react-dom@18.2.0)(react@18.2.0)
'@docusaurus/tsconfig':
- specifier: ^3.0.1
- version: 3.0.1
+ specifier: ^3.1.0
+ version: 3.1.0
'@docusaurus/types':
- specifier: 3.0.1
- version: 3.0.1(react-dom@18.2.0)(react@18.2.0)
+ specifier: 3.1.0
+ version: 3.1.0(react-dom@18.2.0)(react@18.2.0)
'@types/markdown-it':
specifier: ^13.0.7
version: 13.0.7
@@ -62,8 +62,8 @@ devDependencies:
specifier: ^1.5.8
version: 1.5.8
'@types/react':
- specifier: ^18.2.45
- version: 18.2.45
+ specifier: ^18.2.47
+ version: 18.2.47
'@types/react-dom':
specifier: ^18.2.18
version: 18.2.18
@@ -73,142 +73,142 @@ devDependencies:
packages:
- /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.11.0):
+ /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(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.20.0)(algoliasearch@4.20.0)(search-insights@2.11.0)
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)
+ '@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)
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
- search-insights
dev: false
- /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.11.0):
+ /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(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.20.0)(algoliasearch@4.20.0)
- search-insights: 2.11.0
+ '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)
+ search-insights: 2.13.0
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
dev: false
- /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0):
+ /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0):
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.20.0)(algoliasearch@4.20.0)
- '@algolia/client-search': 4.20.0
- algoliasearch: 4.20.0
+ '@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
dev: false
- /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0):
+ /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0):
resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
dependencies:
- '@algolia/client-search': 4.20.0
- algoliasearch: 4.20.0
+ '@algolia/client-search': 4.22.0
+ algoliasearch: 4.22.0
dev: false
- /@algolia/cache-browser-local-storage@4.20.0:
- resolution: {integrity: sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==}
+ /@algolia/cache-browser-local-storage@4.22.0:
+ resolution: {integrity: sha512-uZ1uZMLDZb4qODLfTSNHxSi4fH9RdrQf7DXEzW01dS8XK7QFtFh29N5NGKa9S+Yudf1vUMIF+/RiL4i/J0pWlQ==}
dependencies:
- '@algolia/cache-common': 4.20.0
+ '@algolia/cache-common': 4.22.0
dev: false
- /@algolia/cache-common@4.20.0:
- resolution: {integrity: sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==}
+ /@algolia/cache-common@4.22.0:
+ resolution: {integrity: sha512-TPwUMlIGPN16eW67qamNQUmxNiGHg/WBqWcrOoCddhqNTqGDPVqmgfaM85LPbt24t3r1z0zEz/tdsmuq3Q6oaA==}
dev: false
- /@algolia/cache-in-memory@4.20.0:
- resolution: {integrity: sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==}
+ /@algolia/cache-in-memory@4.22.0:
+ resolution: {integrity: sha512-kf4Cio9NpPjzp1+uXQgL4jsMDeck7MP89BYThSvXSjf2A6qV/0KeqQf90TL2ECS02ovLOBXkk98P7qVarM+zGA==}
dependencies:
- '@algolia/cache-common': 4.20.0
+ '@algolia/cache-common': 4.22.0
dev: false
- /@algolia/client-account@4.20.0:
- resolution: {integrity: sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==}
+ /@algolia/client-account@4.22.0:
+ resolution: {integrity: sha512-Bjb5UXpWmJT+yGWiqAJL0prkENyEZTBzdC+N1vBuHjwIJcjLMjPB6j1hNBRbT12Lmwi55uzqeMIKS69w+0aPzA==}
dependencies:
- '@algolia/client-common': 4.20.0
- '@algolia/client-search': 4.20.0
- '@algolia/transporter': 4.20.0
+ '@algolia/client-common': 4.22.0
+ '@algolia/client-search': 4.22.0
+ '@algolia/transporter': 4.22.0
dev: false
- /@algolia/client-analytics@4.20.0:
- resolution: {integrity: sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==}
+ /@algolia/client-analytics@4.22.0:
+ resolution: {integrity: sha512-os2K+kHUcwwRa4ArFl5p/3YbF9lN3TLOPkbXXXxOvDpqFh62n9IRZuzfxpHxMPKAQS3Et1s0BkKavnNP02E9Hg==}
dependencies:
- '@algolia/client-common': 4.20.0
- '@algolia/client-search': 4.20.0
- '@algolia/requester-common': 4.20.0
- '@algolia/transporter': 4.20.0
+ '@algolia/client-common': 4.22.0
+ '@algolia/client-search': 4.22.0
+ '@algolia/requester-common': 4.22.0
+ '@algolia/transporter': 4.22.0
dev: false
- /@algolia/client-common@4.20.0:
- resolution: {integrity: sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==}
+ /@algolia/client-common@4.22.0:
+ resolution: {integrity: sha512-BlbkF4qXVWuwTmYxVWvqtatCR3lzXwxx628p1wj1Q7QP2+LsTmGt1DiUYRuy9jG7iMsnlExby6kRMOOlbhv2Ag==}
dependencies:
- '@algolia/requester-common': 4.20.0
- '@algolia/transporter': 4.20.0
+ '@algolia/requester-common': 4.22.0
+ '@algolia/transporter': 4.22.0
dev: false
- /@algolia/client-personalization@4.20.0:
- resolution: {integrity: sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==}
+ /@algolia/client-personalization@4.22.0:
+ resolution: {integrity: sha512-pEOftCxeBdG5pL97WngOBi9w5Vxr5KCV2j2D+xMVZH8MuU/JX7CglDSDDb0ffQWYqcUN+40Ry+xtXEYaGXTGow==}
dependencies:
- '@algolia/client-common': 4.20.0
- '@algolia/requester-common': 4.20.0
- '@algolia/transporter': 4.20.0
+ '@algolia/client-common': 4.22.0
+ '@algolia/requester-common': 4.22.0
+ '@algolia/transporter': 4.22.0
dev: false
- /@algolia/client-search@4.20.0:
- resolution: {integrity: sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==}
+ /@algolia/client-search@4.22.0:
+ resolution: {integrity: sha512-bn4qQiIdRPBGCwsNuuqB8rdHhGKKWIij9OqidM1UkQxnSG8yzxHdb7CujM30pvp5EnV7jTqDZRbxacbjYVW20Q==}
dependencies:
- '@algolia/client-common': 4.20.0
- '@algolia/requester-common': 4.20.0
- '@algolia/transporter': 4.20.0
+ '@algolia/client-common': 4.22.0
+ '@algolia/requester-common': 4.22.0
+ '@algolia/transporter': 4.22.0
dev: false
/@algolia/events@4.0.1:
resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==}
dev: false
- /@algolia/logger-common@4.20.0:
- resolution: {integrity: sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==}
+ /@algolia/logger-common@4.22.0:
+ resolution: {integrity: sha512-HMUQTID0ucxNCXs5d1eBJ5q/HuKg8rFVE/vOiLaM4Abfeq1YnTtGV3+rFEhOPWhRQxNDd+YHa4q864IMc0zHpQ==}
dev: false
- /@algolia/logger-console@4.20.0:
- resolution: {integrity: sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==}
+ /@algolia/logger-console@4.22.0:
+ resolution: {integrity: sha512-7JKb6hgcY64H7CRm3u6DRAiiEVXMvCJV5gRE672QFOUgDxo4aiDpfU61g6Uzy8NKjlEzHMmgG4e2fklELmPXhQ==}
dependencies:
- '@algolia/logger-common': 4.20.0
+ '@algolia/logger-common': 4.22.0
dev: false
- /@algolia/requester-browser-xhr@4.20.0:
- resolution: {integrity: sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==}
+ /@algolia/requester-browser-xhr@4.22.0:
+ resolution: {integrity: sha512-BHfv1h7P9/SyvcDJDaRuIwDu2yrDLlXlYmjvaLZTtPw6Ok/ZVhBR55JqW832XN/Fsl6k3LjdkYHHR7xnsa5Wvg==}
dependencies:
- '@algolia/requester-common': 4.20.0
+ '@algolia/requester-common': 4.22.0
dev: false
- /@algolia/requester-common@4.20.0:
- resolution: {integrity: sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==}
+ /@algolia/requester-common@4.22.0:
+ resolution: {integrity: sha512-Y9cEH/cKjIIZgzvI1aI0ARdtR/xRrOR13g5psCxkdhpgRN0Vcorx+zePhmAa4jdQNqexpxtkUdcKYugBzMZJgQ==}
dev: false
- /@algolia/requester-node-http@4.20.0:
- resolution: {integrity: sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==}
+ /@algolia/requester-node-http@4.22.0:
+ resolution: {integrity: sha512-8xHoGpxVhz3u2MYIieHIB6MsnX+vfd5PS4REgglejJ6lPigftRhTdBCToe6zbwq4p0anZXjjPDvNWMlgK2+xYA==}
dependencies:
- '@algolia/requester-common': 4.20.0
+ '@algolia/requester-common': 4.22.0
dev: false
- /@algolia/transporter@4.20.0:
- resolution: {integrity: sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==}
+ /@algolia/transporter@4.22.0:
+ resolution: {integrity: sha512-ieO1k8x2o77GNvOoC+vAkFKppydQSVfbjM3YrSjLmgywiBejPTvU1R1nEvG59JIIUvtSLrZsLGPkd6vL14zopA==}
dependencies:
- '@algolia/cache-common': 4.20.0
- '@algolia/logger-common': 4.20.0
- '@algolia/requester-common': 4.20.0
+ '@algolia/cache-common': 4.22.0
+ '@algolia/logger-common': 4.22.0
+ '@algolia/requester-common': 4.22.0
dev: false
/@ampproject/remapping@2.2.1:
@@ -244,20 +244,20 @@ packages:
engines: {node: '>=6.9.0'}
dev: false
- /@babel/core@7.23.5:
- resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==}
+ /@babel/core@7.23.7:
+ resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.1
'@babel/code-frame': 7.23.5
- '@babel/generator': 7.23.5
- '@babel/helper-compilation-targets': 7.22.15
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
- '@babel/helpers': 7.23.5
- '@babel/parser': 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.5
- '@babel/types': 7.23.5
+ '@babel/traverse': 7.23.7
+ '@babel/types': 7.23.6
convert-source-map: 2.0.0
debug: 4.3.4
gensync: 1.0.0-beta.2
@@ -271,7 +271,17 @@ packages:
resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.5
+ '@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
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.20
jsesc: 2.5.2
@@ -281,64 +291,64 @@ packages:
resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.5
+ '@babel/types': 7.23.6
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.5
+ '@babel/types': 7.23.6
dev: false
- /@babel/helper-compilation-targets@7.22.15:
- resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==}
+ /@babel/helper-compilation-targets@7.23.6:
+ resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/compat-data': 7.23.5
'@babel/helper-validator-option': 7.23.5
- browserslist: 4.22.1
+ browserslist: 4.22.2
lru-cache: 5.1.1
semver: 6.3.1
dev: false
- /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==}
+ /@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5)
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7)
'@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.5):
+ /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7):
resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==}
+ /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-compilation-targets': 7.22.15
+ '@babel/core': 7.23.7
+ '@babel/helper-compilation-targets': 7.23.6
'@babel/helper-plugin-utils': 7.22.5
debug: 4.3.4
lodash.debounce: 4.0.8
@@ -357,37 +367,37 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.22.15
- '@babel/types': 7.23.5
+ '@babel/types': 7.23.6
dev: false
/@babel/helper-hoist-variables@7.22.5:
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.5
+ '@babel/types': 7.23.6
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.5
+ '@babel/types': 7.23.6
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.5
+ '@babel/types': 7.23.6
dev: false
- /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5):
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-module-imports': 7.22.15
'@babel/helper-simple-access': 7.22.5
@@ -399,7 +409,7 @@ packages:
resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.5
+ '@babel/types': 7.23.6
dev: false
/@babel/helper-plugin-utils@7.22.5:
@@ -407,25 +417,25 @@ packages:
engines: {node: '>=6.9.0'}
dev: false
- /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.5):
+ /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.7):
resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5):
+ /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.7):
resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-member-expression-to-functions': 7.23.0
'@babel/helper-optimise-call-expression': 7.22.5
@@ -435,21 +445,21 @@ packages:
resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.5
+ '@babel/types': 7.23.6
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.5
+ '@babel/types': 7.23.6
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.5
+ '@babel/types': 7.23.6
dev: false
/@babel/helper-string-parser@7.23.4:
@@ -473,16 +483,16 @@ packages:
dependencies:
'@babel/helper-function-name': 7.23.0
'@babel/template': 7.22.15
- '@babel/types': 7.23.5
+ '@babel/types': 7.23.6
dev: false
- /@babel/helpers@7.23.5:
- resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==}
+ /@babel/helpers@7.23.7:
+ resolution: {integrity: sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.22.15
- '@babel/traverse': 7.23.5
- '@babel/types': 7.23.5
+ '@babel/traverse': 7.23.7
+ '@babel/types': 7.23.6
transitivePeerDependencies:
- supports-color
dev: false
@@ -496,991 +506,1009 @@ packages:
js-tokens: 4.0.0
dev: false
- /@babel/parser@7.23.5:
- resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==}
+ /@babel/parser@7.23.6:
+ resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.23.5
+ '@babel/types': 7.23.6
dev: false
- /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5):
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.13.0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5)
+ '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7)
dev: false
- /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==}
+ /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5):
+ /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7):
resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
dev: false
- /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.5):
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7):
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.5):
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7):
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.5):
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7):
resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.7):
resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7):
resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.5):
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7):
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7):
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.5):
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7):
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7):
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.5):
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7):
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7):
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7):
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7):
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.5):
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7):
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.5):
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7):
resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.5):
+ /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.7):
resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-async-generator-functions@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==}
+ /@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.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)
dev: false
- /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@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.5)
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.7):
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.5
- '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.7):
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.5
- '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.5)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.5):
+ /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.7):
resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-compilation-targets': 7.22.15
+ '@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.5)
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7)
'@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.5):
+ /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
'@babel/template': 7.22.15
dev: false
- /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.7):
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.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.7):
resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5):
+ /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.5)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-for-of@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==}
+ /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.7):
+ resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5):
+ /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-compilation-targets': 7.22.15
+ '@babel/core': 7.23.7
+ '@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.5):
+ /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.5)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.5)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
'@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.5):
+ /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
'@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.5):
+ /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.5):
+ /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.7):
resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.7):
resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.5)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.7):
resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.5)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.7):
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.5
- '@babel/helper-compilation-targets': 7.22.15
+ '@babel/core': 7.23.7
+ '@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.5)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.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)
dev: false
- /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5)
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.7):
resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.5)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.7):
resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.7):
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.5
- '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.7):
resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.5)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.5):
+ /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.7):
resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
- '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@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.5)
- '@babel/types': 7.23.5
+ '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7)
+ '@babel/types': 7.23.6
dev: false
- /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@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.5):
+ /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5):
+ /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-runtime@7.23.4(@babel/core@7.23.5):
+ /@babel/plugin-transform-runtime@7.23.4(@babel/core@7.23.7):
resolution: {integrity: sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@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.6(@babel/core@7.23.5)
- babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.5)
- babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.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.5):
+ /@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):
resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5):
+ /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-typescript@7.23.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==}
+ /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.7):
+ resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5)
+ '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.7)
dev: false
- /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.5):
+ /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/preset-env@7.23.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==}
+ /@babel/preset-env@7.23.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-SY27X/GtTz/L4UryMNJ6p4fH4nsgWbz84y9FE0bQeWJP6O5BhgVCt53CotQKHCOeXJel8VyhlhujhlltKms/CA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/compat-data': 7.23.5
- '@babel/core': 7.23.5
- '@babel/helper-compilation-targets': 7.22.15
+ '@babel/core': 7.23.7
+ '@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.5)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.5)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.5)
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.5)
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.5)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.5)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.5)
- '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-async-generator-functions': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.5)
- '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-for-of': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.5)
- '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.5)
- babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.5)
- babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.5)
- babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.5)
- core-js-compat: 3.33.3
+ '@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
semver: 6.3.1
transitivePeerDependencies:
- supports-color
dev: false
- /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.5):
+ /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.7):
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.5
+ '@babel/core': 7.23.7
'@babel/helper-plugin-utils': 7.22.5
- '@babel/types': 7.23.5
+ '@babel/types': 7.23.6
esutils: 2.0.3
dev: false
- /@babel/preset-react@7.23.3(@babel/core@7.23.5):
+ /@babel/preset-react@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5)
- '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.5)
- '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@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)
dev: false
- /@babel/preset-typescript@7.23.3(@babel/core@7.23.5):
+ /@babel/preset-typescript@7.23.3(@babel/core@7.23.7):
resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@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.5)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-typescript': 7.23.5(@babel/core@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)
dev: false
/@babel/regjsgen@0.8.0:
@@ -1491,23 +1519,38 @@ packages:
resolution: {integrity: sha512-7+ziVclejQTLYhXl+Oi1f6gTGD1XDCeLa4R472TNGQxb08zbEJ0OdNoh5Piz+57Ltmui6xR88BXR4gS3/Toslw==}
engines: {node: '>=6.9.0'}
dependencies:
- core-js-pure: 3.33.3
- regenerator-runtime: 0.14.0
+ core-js-pure: 3.35.0
+ 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.0
+ regenerator-runtime: 0.14.1
+ dev: false
+
+ /@babel/runtime@7.23.7:
+ resolution: {integrity: sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.14.1
/@babel/template@7.22.15:
resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.23.5
- '@babel/parser': 7.23.5
- '@babel/types': 7.23.5
+ '@babel/parser': 7.23.6
+ '@babel/types': 7.23.6
dev: false
/@babel/traverse@7.23.5:
@@ -1520,16 +1563,34 @@ 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.5
- '@babel/types': 7.23.5
+ '@babel/parser': 7.23.6
+ '@babel/types': 7.23.6
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
dev: false
- /@babel/types@7.23.5:
- resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==}
+ /@babel/traverse@7.23.7:
+ resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@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/types@7.23.6:
+ resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-string-parser': 7.23.4
@@ -1580,7 +1641,7 @@ packages:
resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==}
dev: false
- /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0):
+ /@docsearch/react@3.5.2(@algolia/client-search@4.22.0)(@types/react@18.2.47)(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'
@@ -1597,14 +1658,14 @@ packages:
search-insights:
optional: true
dependencies:
- '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.11.0)
- '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)
+ '@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)
'@docsearch/css': 3.5.2
- '@types/react': 18.2.45
- algoliasearch: 4.20.0
+ '@types/react': 18.2.47
+ algoliasearch: 4.22.0
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- search-insights: 2.11.0
+ search-insights: 2.13.0
transitivePeerDependencies:
- '@algolia/client-search'
dev: false
@@ -1617,13 +1678,13 @@ packages:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/generator': 7.23.5
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-transform-runtime': 7.23.4(@babel/core@7.23.5)
- '@babel/preset-env': 7.23.5(@babel/core@7.23.5)
- '@babel/preset-react': 7.23.3(@babel/core@7.23.5)
- '@babel/preset-typescript': 7.23.3(@babel/core@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
@@ -1637,7 +1698,7 @@ packages:
'@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.5)(webpack@5.89.0)
+ 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
@@ -1647,7 +1708,7 @@ packages:
combine-promises: 1.2.0
commander: 5.1.0
copy-webpack-plugin: 11.0.0(webpack@5.89.0)
- core-js: 3.33.3
+ 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)
@@ -1679,7 +1740,7 @@ packages:
semver: 7.5.4
serve-handler: 6.1.5
shelljs: 0.8.5
- terser-webpack-plugin: 5.3.9(webpack@5.89.0)
+ 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)
@@ -1708,35 +1769,35 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/core@3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-CXrLpOnW+dJdSv8M5FAJ3JBwXtL6mhUWxFA8aS0ozK6jBG/wgxERk5uvH28fCeFxOGbAT9v1e9dOMo1X2IEVhQ==}
+ /@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'}
hasBin: true
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@babel/core': 7.23.5
- '@babel/generator': 7.23.5
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-transform-runtime': 7.23.4(@babel/core@7.23.5)
- '@babel/preset-env': 7.23.5(@babel/core@7.23.5)
- '@babel/preset-react': 7.23.3(@babel/core@7.23.5)
- '@babel/preset-typescript': 7.23.3(@babel/core@7.23.5)
- '@babel/runtime': 7.23.5
- '@babel/runtime-corejs3': 7.23.5
- '@babel/traverse': 7.23.5
- '@docusaurus/cssnano-preset': 3.0.1
- '@docusaurus/logger': 3.0.1
- '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)
+ '@babel/core': 7.23.7
+ '@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
+ '@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)
'@docusaurus/react-loadable': 5.5.2(react@18.2.0)
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
'@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.5)(webpack@5.89.0)
+ autoprefixer: 10.4.16(postcss@8.4.33)
+ 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
@@ -1746,10 +1807,10 @@ packages:
combine-promises: 1.2.0
commander: 5.1.0
copy-webpack-plugin: 11.0.0(webpack@5.89.0)
- core-js: 3.33.3
+ 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)
+ cssnano: 5.1.15(postcss@8.4.33)
del: 6.1.1
detect-port: 1.5.1
escape-html: 1.0.3
@@ -1758,12 +1819,12 @@ packages:
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)
+ html-webpack-plugin: 5.6.0(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)
+ postcss: 8.4.33
+ postcss-loader: 7.3.4(postcss@8.4.33)(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)
@@ -1778,7 +1839,7 @@ packages:
semver: 7.5.4
serve-handler: 6.1.5
shelljs: 0.8.5
- terser-webpack-plugin: 5.3.9(webpack@5.89.0)
+ 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)
@@ -1790,6 +1851,7 @@ packages:
transitivePeerDependencies:
- '@docusaurus/types'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -1816,13 +1878,13 @@ packages:
tslib: 2.6.2
dev: false
- /@docusaurus/cssnano-preset@3.0.1:
- resolution: {integrity: sha512-wjuXzkHMW+ig4BD6Ya1Yevx9UJadO4smNZCEljqBoQfIQrQskTswBs7lZ8InHP7mCt273a/y/rm36EZhqJhknQ==}
+ /@docusaurus/cssnano-preset@3.1.0:
+ resolution: {integrity: sha512-ned7qsgCqSv/e7KyugFNroAfiszuxLwnvMW7gmT2Ywxb/Nyt61yIw7KHyAZCMKglOalrqnYA4gMhLUCK/mVePA==}
engines: {node: '>=18.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)
+ 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
@@ -1834,8 +1896,8 @@ packages:
tslib: 2.6.2
dev: false
- /@docusaurus/logger@3.0.1:
- resolution: {integrity: sha512-I5L6Nk8OJzkVA91O2uftmo71LBSxe1vmOn9AMR6JRCzYeEBrqneWMH02AqMvjJ2NpMiviO+t0CyPjyYV7nxCWQ==}
+ /@docusaurus/logger@3.1.0:
+ resolution: {integrity: sha512-p740M+HCst1VnKKzL60Hru9xfG4EUYJDarjlEC4hHeBy9+afPmY3BNPoSHx9/8zxuYfUlv/psf7I9NvRVdmdvg==}
engines: {node: '>=18.0'}
dependencies:
chalk: 4.1.2
@@ -1849,7 +1911,7 @@ packages:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@babel/parser': 7.23.5
+ '@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)
@@ -1860,7 +1922,7 @@ packages:
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.0.2
+ image-size: 1.1.1
mdast-util-mdx: 3.0.0
mdast-util-to-string: 4.0.0
react: 18.2.0
@@ -1886,25 +1948,25 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/mdx-loader@3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-ldnTmvnvlrONUq45oKESrpy+lXtbnTcTsFkOTIDswe5xx5iWJjt6eSa0f99ZaWlnm24mlojcIGoUWNCS53qVlQ==}
+ /@docusaurus/mdx-loader@3.1.0(@docusaurus/types@3.1.0)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-D7onDz/3mgBonexWoQXPw3V2E5Bc4+jYRf9gGUUK+KoQwU8xMDaDkUUfsr7t6UBa/xox9p5+/3zwLuXOYMzGSg==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@babel/parser': 7.23.5
- '@babel/traverse': 7.23.5
- '@docusaurus/logger': 3.0.1
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
+ '@babel/parser': 7.23.6
+ '@babel/traverse': 7.23.7
+ '@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)
'@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.0.2
+ image-size: 1.1.1
mdast-util-mdx: 3.0.0
mdast-util-to-string: 4.0.0
react: 18.2.0
@@ -1930,40 +1992,41 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/module-type-aliases@3.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-DEHpeqUDsLynl3AhQQiO7AbC7/z/lBra34jTcdYuvp9eGm01pfH1wTVq8YqWZq6Jyx0BgcVl/VJqtE9StRd9Ag==}
+ /@docusaurus/module-type-aliases@3.1.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-XUl7Z4PWlKg4l6KF05JQ3iDHQxnPxbQUqTNKvviHyuHdlalOFv6qeDAm7IbzyQPJD5VA6y4dpRbTWSqP9ClwPg==}
peerDependencies:
react: '*'
react-dom: '*'
dependencies:
'@docusaurus/react-loadable': 5.5.2(react@18.2.0)
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
+ '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0)
'@types/history': 4.7.11
- '@types/react': 18.2.45
- '@types/react-router-config': 5.0.10
+ '@types/react': 18.2.47
+ '@types/react-router-config': 5.0.11
'@types/react-router-dom': 5.3.3
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-helmet-async: 2.0.1(react-dom@18.2.0)(react@18.2.0)
+ react-helmet-async: 2.0.4(react-dom@18.2.0)(react@18.2.0)
react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0)
transitivePeerDependencies:
- '@swc/core'
- esbuild
+ - supports-color
- uglify-js
- webpack-cli
- /@docusaurus/plugin-client-redirects@3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-CoZapnHbV3j5jsHCa/zmKaa8+H+oagHBgg91dN5I8/3kFit/xtZPfRaznvDX49cHg2nSoV74B3VMAT+bvCmzFQ==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/logger': 3.0.1
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
eta: 2.2.0
fs-extra: 11.2.0
lodash: 4.17.21
@@ -1973,6 +2036,7 @@ packages:
transitivePeerDependencies:
- '@docusaurus/types'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -1989,20 +2053,20 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/plugin-content-blog@3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-cLOvtvAyaMQFLI8vm4j26svg3ktxMPSXpuUJ7EERKoGbfpJSsgtowNHcRsaBVmfuCsRSk1HZ/yHBsUkTmHFEsg==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/logger': 3.0.1
- '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
cheerio: 1.0.0-rc.12
feed: 4.2.2
fs-extra: 11.2.0
@@ -2017,6 +2081,7 @@ packages:
webpack: 5.89.0
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -2033,21 +2098,21 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/plugin-content-docs@3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-dRfAOA5Ivo+sdzzJGXEu33yAtvGg8dlZkvt/NEJ7nwi1F2j4LEdsxtfX2GKeETB2fP6XoGNSQnFXqa2NYGrHFg==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/logger': 3.0.1
- '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/module-type-aliases': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
- '@types/react-router-config': 5.0.10
+ '@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)
+ '@types/react-router-config': 5.0.11
combine-promises: 1.2.0
fs-extra: 11.2.0
js-yaml: 4.1.0
@@ -2059,6 +2124,7 @@ packages:
webpack: 5.89.0
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -2075,18 +2141,18 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/plugin-content-pages@3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-oP7PoYizKAXyEttcvVzfX3OoBIXEmXTMzCdfmC4oSwjG4SPcJsRge3mmI6O8jcZBgUPjIzXD21bVGWEE1iu8gg==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
fs-extra: 11.2.0
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -2094,6 +2160,7 @@ packages:
webpack: 5.89.0
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -2110,16 +2177,16 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/plugin-debug@3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-09dxZMdATky4qdsZGzhzlUvvC+ilQ2hKbYF+wez+cM2mGo4qHbv8+qKXqxq0CQZyimwlAOWQLoSozIXU0g0i7g==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
fs-extra: 11.2.0
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -2127,6 +2194,7 @@ packages:
tslib: 2.6.2
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -2143,21 +2211,22 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/plugin-google-analytics@3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-jwseSz1E+g9rXQwDdr0ZdYNjn8leZBnKPjjQhMBEiwDoenL3JYFcNW0+p0sWoVF/f2z5t7HkKA+cYObrUh18gg==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
tslib: 2.6.2
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -2174,22 +2243,23 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/plugin-google-gtag@3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-UFTDvXniAWrajsulKUJ1DB6qplui1BlKLQZjX4F7qS/qfJ+qkKqSkhJ/F4VuGQ2JYeZstYb+KaUzUzvaPK1aRQ==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
'@types/gtag.js': 0.0.12
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
tslib: 2.6.2
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -2206,21 +2276,22 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/plugin-google-tag-manager@3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-IPFvuz83aFuheZcWpTlAdiiX1RqWIHM+OH8wS66JgwAKOiQMR3+nLywGjkLV4bp52x7nCnwhNk1rE85Cpy/CIw==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
tslib: 2.6.2
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -2237,36 +2308,37 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/plugin-pwa@3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-KC9Axpw7NOB2RiW/28jq56Q8o6CLXo2pqo/b513g9WTqYkSCadm43inIEo7bSiyXaOTWvhW1f5H5jUEU4wM8LA==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@babel/core': 7.23.5
- '@babel/preset-env': 7.23.5(@babel/core@7.23.5)
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-translations': 3.0.1
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
- babel-loader: 9.1.3(@babel/core@7.23.5)(webpack@5.89.0)
- clsx: 2.0.0
- core-js: 3.33.3
+ '@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)
+ clsx: 2.1.0
+ core-js: 3.35.0
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- terser-webpack-plugin: 5.3.9(webpack@5.89.0)
+ terser-webpack-plugin: 5.3.10(webpack@5.89.0)
tslib: 2.6.2
webpack: 5.89.0
webpack-merge: 5.10.0
webpackbar: 5.0.2(webpack@5.89.0)
- workbox-build: 6.6.1
- workbox-precaching: 6.6.1
- workbox-window: 6.6.1
+ workbox-build: 7.0.0
+ workbox-precaching: 7.0.0
+ workbox-window: 7.0.0
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- '@types/babel__core'
@@ -2284,19 +2356,19 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/plugin-sitemap@3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-xARiWnjtVvoEniZudlCq5T9ifnhCu/GAZ5nA7XgyLfPcNpHQa241HZdsTlLtVcecEVVdllevBKOp7qknBBaMGw==}
+ /@docusaurus/plugin-sitemap@3.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-TkR5vGBpUooEB9SoW42thahqqwKzfHrQQhkB+JrEGERsl4bKODSuJNle4aA4h6LSkg4IyfXOW8XOI0NIPWb9Cg==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/logger': 3.0.1
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
fs-extra: 11.2.0
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -2304,6 +2376,7 @@ packages:
tslib: 2.6.2
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -2320,31 +2393,32 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/preset-classic@3.0.1(@algolia/client-search@4.20.0)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.3):
- resolution: {integrity: sha512-il9m9xZKKjoXn6h0cRcdnt6wce0Pv1y5t4xk2Wx7zBGhKG1idu4IFHtikHlD0QPuZ9fizpXspXcTzjL5FXc1Gw==}
+ /@docusaurus/preset-classic@3.1.0(@algolia/client-search@4.22.0)(@types/react@18.2.47)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-xGLQRFmmT9IinAGUDVRYZ54Ys28USNbA3OTXQXnSJLPr1rCY7CYnHI4XoOnKWrNnDiAI4ruMzunXWyaElUYCKQ==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-content-blog': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-content-docs': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-content-pages': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-debug': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-google-analytics': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-google-gtag': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-google-tag-manager': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-sitemap': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-classic': 3.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-search-algolia': 3.0.1(@algolia/client-search@4.20.0)(@docusaurus/types@3.0.1)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.3)
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.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/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.47)(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.47)(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)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
transitivePeerDependencies:
- '@algolia/client-search'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- '@types/react'
@@ -2368,36 +2442,36 @@ packages:
peerDependencies:
react: '*'
dependencies:
- '@types/react': 18.2.45
+ '@types/react': 18.2.47
prop-types: 15.8.1
react: 18.2.0
- /@docusaurus/theme-classic@3.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-XD1FRXaJiDlmYaiHHdm27PNhhPboUah9rqIH0lMpBt5kYtsGjJzhqa27KuZvHLzOP2OEpqd2+GZ5b6YPq7Q05Q==}
+ /@docusaurus/theme-classic@3.1.0(@types/react@18.2.47)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-/+jMl2Z9O8QQxves5AtHdt91gWsEZFgOV3La/6eyKEd7QLqQUtM5fxEJ40rq9NKYjqCd1HzZ9egIMeJoWwillw==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/module-type-aliases': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/plugin-content-blog': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-content-docs': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-content-pages': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-translations': 3.0.1
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
- '@mdx-js/react': 3.0.0(@types/react@18.2.45)(react@18.2.0)
- clsx: 2.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/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)
+ '@mdx-js/react': 3.0.0(@types/react@18.2.47)(react@18.2.0)
+ clsx: 2.1.0
copy-text-to-clipboard: 3.2.0
infima: 0.2.0-alpha.43
lodash: 4.17.21
nprogress: 0.2.0
- postcss: 8.4.31
+ postcss: 8.4.33
prism-react-renderer: 2.3.1(react@18.2.0)
prismjs: 1.29.0
react: 18.2.0
@@ -2408,6 +2482,7 @@ packages:
utility-types: 3.10.0
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- '@types/react'
@@ -2425,24 +2500,24 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/theme-common@3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-cr9TOWXuIOL0PUfuXv6L5lPlTgaphKP+22NdVBOYah5jSq5XAAulJTjfe+IfLsEG4L7lJttLbhW7LXDFSAI7Ag==}
+ /@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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/module-type-aliases': 3.0.1(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/plugin-content-blog': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-content-docs': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-content-pages': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1)
+ '@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)
'@types/history': 4.7.11
- '@types/react': 18.2.45
- '@types/react-router-config': 5.0.10
- clsx: 2.0.0
+ '@types/react': 18.2.47
+ '@types/react-router-config': 5.0.11
+ clsx: 2.1.0
parse-numeric-range: 1.3.0
prism-react-renderer: 2.3.1(react@18.2.0)
react: 18.2.0
@@ -2452,6 +2527,7 @@ packages:
transitivePeerDependencies:
- '@docusaurus/types'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -2468,24 +2544,24 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/theme-search-algolia@3.0.1(@algolia/client-search@4.20.0)(@docusaurus/types@3.0.1)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.3):
- resolution: {integrity: sha512-DDiPc0/xmKSEdwFkXNf1/vH1SzJPzuJBar8kMcBbDAZk/SAmo/4lf6GU2drou4Ae60lN2waix+jYWTWcJRahSA==}
+ /@docusaurus/theme-search-algolia@3.1.0(@algolia/client-search@4.22.0)(@docusaurus/types@3.1.0)(@types/react@18.2.47)(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==}
engines: {node: '>=18.0'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@docsearch/react': 3.5.2(@algolia/client-search@4.20.0)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)
- '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/logger': 3.0.1
- '@docusaurus/plugin-content-docs': 3.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-translations': 3.0.1
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
- '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)
- algoliasearch: 4.20.0
- algoliasearch-helper: 3.15.0(algoliasearch@4.20.0)
- clsx: 2.0.0
+ '@docsearch/react': 3.5.2(@algolia/client-search@4.22.0)(@types/react@18.2.47)(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)
+ clsx: 2.1.0
eta: 2.2.0
fs-extra: 11.2.0
lodash: 4.17.21
@@ -2497,6 +2573,7 @@ packages:
- '@algolia/client-search'
- '@docusaurus/types'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- '@types/react'
@@ -2515,16 +2592,16 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/theme-translations@3.0.1:
- resolution: {integrity: sha512-6UrbpzCTN6NIJnAtZ6Ne9492vmPVX+7Fsz4kmp+yor3KQwA1+MCzQP7ItDNkP38UmVLnvB/cYk/IvehCUqS3dg==}
+ /@docusaurus/theme-translations@3.1.0:
+ resolution: {integrity: sha512-DApE4AbDI+WBajihxB54L4scWQhVGNZAochlC9fkbciPuFAgdRBD3NREb0rgfbKexDC/rioppu/WJA0u8tS+yA==}
engines: {node: '>=18.0'}
dependencies:
fs-extra: 11.2.0
tslib: 2.6.2
dev: false
- /@docusaurus/tsconfig@3.0.1:
- resolution: {integrity: sha512-hT2HCdNE3pWTzXV/7cSsowfmaOxXVOTFOXmkqaYjBWjaxjJ3FO0nHbdJ8rF6Da7PvWmIPbUekdP5gep1XCJ7Vg==}
+ /@docusaurus/tsconfig@3.1.0:
+ resolution: {integrity: sha512-PE6fSuj5gJy5sNC1OO+bYAU1/xZH5YqddGjhrNu3/T7OAUroqkMZfVl13Tz70CjYB8no4OWcraqSkObAeNdIcQ==}
dev: true
/@docusaurus/types@3.0.0(react-dom@18.2.0)(react@18.2.0):
@@ -2534,7 +2611,7 @@ packages:
react-dom: ^18.0.0
dependencies:
'@types/history': 4.7.11
- '@types/react': 18.2.45
+ '@types/react': 18.2.47
commander: 5.1.0
joi: 17.11.0
react: 18.2.0
@@ -2550,14 +2627,15 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/types@3.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-plyX2iU1tcUsF46uQ01pAd4JhexR7n0iiQ5MSnBFX6M6NSJgDYdru/i1/YNPKOnQHBoXGLHv0dNT6OAlDWNjrg==}
+ /@docusaurus/types@3.1.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-VaczOZf7+re8aFBIWnex1XENomwHdsSTkrdX43zyor7G/FY4OIsP6X28Xc3o0jiY0YdNuvIDyA5TNwOtpgkCVw==}
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.45
+ '@types/react': 18.2.47
commander: 5.1.0
joi: 17.11.0
react: 18.2.0
@@ -2569,6 +2647,7 @@ packages:
transitivePeerDependencies:
- '@swc/core'
- esbuild
+ - supports-color
- uglify-js
- webpack-cli
@@ -2585,8 +2664,8 @@ packages:
tslib: 2.6.2
dev: false
- /@docusaurus/utils-common@3.0.1(@docusaurus/types@3.0.1):
- resolution: {integrity: sha512-W0AxD6w6T8g6bNro8nBRWf7PeZ/nn7geEWM335qHU2DDDjHuV4UZjgUGP1AQsdcSikPrlIqTJJbKzer1lRSlIg==}
+ /@docusaurus/utils-common@3.1.0(@docusaurus/types@3.1.0):
+ resolution: {integrity: sha512-SfvnRLHoZ9bwTw67knkSs7IcUR0GY2SaGkpdB/J9pChrDiGhwzKNUhcieoPyPYrOWGRPk3rVNYtoy+Bc7psPAw==}
engines: {node: '>=18.0'}
peerDependencies:
'@docusaurus/types': '*'
@@ -2594,7 +2673,7 @@ packages:
'@docusaurus/types':
optional: true
dependencies:
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
+ '@docusaurus/types': 3.1.0(react-dom@18.2.0)(react@18.2.0)
tslib: 2.6.2
dev: false
@@ -2616,12 +2695,12 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/utils-validation@3.0.1(@docusaurus/types@3.0.1):
- resolution: {integrity: sha512-ujTnqSfyGQ7/4iZdB4RRuHKY/Nwm58IIb+41s5tCXOv/MBU2wGAjOHq3U+AEyJ8aKQcHbxvTKJaRchNHYUVUQg==}
+ /@docusaurus/utils-validation@3.1.0(@docusaurus/types@3.1.0):
+ resolution: {integrity: sha512-dFxhs1NLxPOSzmcTk/eeKxLY5R+U4cua22g9MsAMiRWcwFKStZ2W3/GDY0GmnJGqNS8QAQepJrxQoyxXkJNDeg==}
engines: {node: '>=18.0'}
dependencies:
- '@docusaurus/logger': 3.0.1
- '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)
+ '@docusaurus/logger': 3.1.0
+ '@docusaurus/utils': 3.1.0(@docusaurus/types@3.1.0)
joi: 17.11.0
js-yaml: 4.1.0
tslib: 2.6.2
@@ -2669,8 +2748,8 @@ packages:
- webpack-cli
dev: false
- /@docusaurus/utils@3.0.1(@docusaurus/types@3.0.1):
- resolution: {integrity: sha512-TwZ33Am0q4IIbvjhUOs+zpjtD/mXNmLmEgeTGuRq01QzulLHuPhaBTTAC/DHu6kFx3wDgmgpAlaRuCHfTcXv8g==}
+ /@docusaurus/utils@3.1.0(@docusaurus/types@3.1.0):
+ resolution: {integrity: sha512-LgZfp0D+UBqAh7PZ//MUNSFBMavmAPku6Si9x8x3V+S318IGCNJ6hUr2O29UO0oLybEWUjD5Jnj9IUN6XyZeeg==}
engines: {node: '>=18.0'}
peerDependencies:
'@docusaurus/types': '*'
@@ -2678,8 +2757,8 @@ packages:
'@docusaurus/types':
optional: true
dependencies:
- '@docusaurus/logger': 3.0.1
- '@docusaurus/types': 3.0.1(react-dom@18.2.0)(react@18.2.0)
+ '@docusaurus/logger': 3.1.0
+ '@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)
@@ -2726,7 +2805,7 @@ packages:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
'@types/yargs': 17.0.32
chalk: 4.1.2
dev: false
@@ -2794,16 +2873,15 @@ packages:
vfile: 6.0.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@mdx-js/react@3.0.0(@types/react@18.2.45)(react@18.2.0):
+ /@mdx-js/react@3.0.0(@types/react@18.2.47)(react@18.2.0):
resolution: {integrity: sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==}
peerDependencies:
'@types/react': '>=16'
react: '>=16'
dependencies:
'@types/mdx': 2.0.9
- '@types/react': 18.2.45
+ '@types/react': 18.2.47
react: 18.2.0
dev: false
@@ -2825,7 +2903,7 @@ packages:
engines: {node: '>= 8'}
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.15.0
+ fastq: 1.16.0
dev: false
/@pnpm/config.env-replace@1.1.0:
@@ -2849,11 +2927,11 @@ packages:
config-chain: 1.1.13
dev: false
- /@polka/url@1.0.0-next.23:
- resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==}
+ /@polka/url@1.0.0-next.24:
+ resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==}
dev: false
- /@rollup/plugin-babel@5.3.1(@babel/core@7.23.5)(rollup@2.79.1):
+ /@rollup/plugin-babel@5.3.1(@babel/core@7.23.7)(rollup@2.79.1):
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
peerDependencies:
@@ -2864,7 +2942,7 @@ packages:
'@types/babel__core':
optional: true
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
'@babel/helper-module-imports': 7.22.15
'@rollup/pluginutils': 3.1.0(rollup@2.79.1)
rollup: 2.79.1
@@ -2958,101 +3036,101 @@ packages:
string.prototype.matchall: 4.0.10
dev: false
- /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.23.5):
+ /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.23.7):
resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==}
engines: {node: '>=10'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
dev: false
- /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.5):
+ /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.7):
resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
dev: false
- /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.5):
+ /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.7):
resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
dev: false
- /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.23.5):
+ /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.23.7):
resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==}
engines: {node: '>=10'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
dev: false
- /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.23.5):
+ /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.23.7):
resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==}
engines: {node: '>=10'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
dev: false
- /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.23.5):
+ /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.23.7):
resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==}
engines: {node: '>=10'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
dev: false
- /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.23.5):
+ /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.23.7):
resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==}
engines: {node: '>=10'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
dev: false
- /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.23.5):
+ /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.23.7):
resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==}
engines: {node: '>=12'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
dev: false
- /@svgr/babel-preset@6.5.1(@babel/core@7.23.5):
+ /@svgr/babel-preset@6.5.1(@babel/core@7.23.7):
resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==}
engines: {node: '>=10'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.5
- '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.23.5)
- '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.5)
- '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.5)
- '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.23.5)
- '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.23.5)
- '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.23.5)
- '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.23.5)
- '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.23.5)
+ '@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)
dev: false
/@svgr/core@6.5.1:
resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==}
engines: {node: '>=10'}
dependencies:
- '@babel/core': 7.23.5
- '@svgr/babel-preset': 6.5.1(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@svgr/babel-preset': 6.5.1(@babel/core@7.23.7)
'@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1)
camelcase: 6.3.0
cosmiconfig: 7.1.0
@@ -3064,7 +3142,7 @@ packages:
resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==}
engines: {node: '>=10'}
dependencies:
- '@babel/types': 7.23.5
+ '@babel/types': 7.23.6
entities: 4.5.0
dev: false
@@ -3074,8 +3152,8 @@ packages:
peerDependencies:
'@svgr/core': ^6.0.0
dependencies:
- '@babel/core': 7.23.5
- '@svgr/babel-preset': 6.5.1(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@svgr/babel-preset': 6.5.1(@babel/core@7.23.7)
'@svgr/core': 6.5.1
'@svgr/hast-util-to-babel-ast': 6.5.1
svg-parser: 2.0.4
@@ -3099,11 +3177,11 @@ packages:
resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==}
engines: {node: '>=10'}
dependencies:
- '@babel/core': 7.23.5
- '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.5)
- '@babel/preset-env': 7.23.5(@babel/core@7.23.5)
- '@babel/preset-react': 7.23.3(@babel/core@7.23.5)
- '@babel/preset-typescript': 7.23.3(@babel/core@7.23.5)
+ '@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)
'@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)
@@ -3127,48 +3205,46 @@ packages:
resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
dependencies:
'@types/estree': 1.0.5
- dev: false
/@types/body-parser@1.19.5:
resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
dependencies:
'@types/connect': 3.4.38
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
dev: false
/@types/bonjour@3.5.13:
resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
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.1
+ '@types/node': 20.10.6
dev: false
/@types/connect@3.4.38:
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
dev: false
/@types/debug@4.1.12:
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
dependencies:
'@types/ms': 0.7.34
- dev: false
/@types/eslint-scope@3.7.7:
resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
dependencies:
- '@types/eslint': 8.44.8
+ '@types/eslint': 8.56.1
'@types/estree': 1.0.5
- /@types/eslint@8.44.8:
- resolution: {integrity: sha512-4K8GavROwhrYl2QXDXm0Rv9epkA8GBFu0EI+XrrnnuCl7u8CWBRusX7fXJfanhZTDWSAL24gDI/UqXyUM0Injw==}
+ /@types/eslint@8.56.1:
+ resolution: {integrity: sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==}
dependencies:
'@types/estree': 1.0.5
'@types/json-schema': 7.0.15
@@ -3177,7 +3253,6 @@ packages:
resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==}
dependencies:
'@types/estree': 1.0.5
- dev: false
/@types/estree@0.0.39:
resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
@@ -3189,8 +3264,8 @@ packages:
/@types/express-serve-static-core@4.17.41:
resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==}
dependencies:
- '@types/node': 20.10.1
- '@types/qs': 6.9.10
+ '@types/node': 20.10.6
+ '@types/qs': 6.9.11
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
dev: false
@@ -3200,7 +3275,7 @@ packages:
dependencies:
'@types/body-parser': 1.19.5
'@types/express-serve-static-core': 4.17.41
- '@types/qs': 6.9.10
+ '@types/qs': 6.9.11
'@types/serve-static': 1.15.5
dev: false
@@ -3212,7 +3287,6 @@ packages:
resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==}
dependencies:
'@types/unist': 3.0.2
- dev: false
/@types/history@4.7.11:
resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==}
@@ -3232,7 +3306,7 @@ packages:
/@types/http-proxy@1.17.14:
resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
dev: false
/@types/istanbul-lib-coverage@2.0.6:
@@ -3269,7 +3343,6 @@ packages:
resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
dependencies:
'@types/unist': 3.0.2
- dev: false
/@types/mdurl@1.0.4:
resolution: {integrity: sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A==}
@@ -3278,12 +3351,11 @@ packages:
/@types/mdx-js__react@1.5.8:
resolution: {integrity: sha512-iLQL8JZ4AZ+rpZvGUsQwENffpsSCMLYB8kE6OhGasLmdYn7aSLq53uOvZrKx5FM+hymE2nm08HDfq7tFx02ElA==}
dependencies:
- '@types/react': 18.2.45
+ '@types/react': 18.2.47
dev: true
/@types/mdx@2.0.10:
resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==}
- dev: false
/@types/mdx@2.0.9:
resolution: {integrity: sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==}
@@ -3299,20 +3371,19 @@ packages:
/@types/ms@0.7.34:
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
- dev: false
- /@types/node-forge@1.3.10:
- resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==}
+ /@types/node-forge@1.3.11:
+ resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
dev: false
/@types/node@17.0.45:
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
dev: false
- /@types/node@20.10.1:
- resolution: {integrity: sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==}
+ /@types/node@20.10.6:
+ resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==}
dependencies:
undici-types: 5.26.5
@@ -3327,8 +3398,8 @@ packages:
/@types/prop-types@15.7.9:
resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==}
- /@types/qs@6.9.10:
- resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==}
+ /@types/qs@6.9.11:
+ resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==}
dev: false
/@types/range-parser@1.2.7:
@@ -3338,31 +3409,31 @@ packages:
/@types/react-dom@18.2.18:
resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==}
dependencies:
- '@types/react': 18.2.45
+ '@types/react': 18.2.47
dev: true
- /@types/react-router-config@5.0.10:
- resolution: {integrity: sha512-Wn6c/tXdEgi9adCMtDwx8Q2vGty6TsPTc/wCQQ9kAlye8UqFxj0vGFWWuhywNfkwqth+SOgJxQTLTZukrqDQmQ==}
+ /@types/react-router-config@5.0.11:
+ resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==}
dependencies:
'@types/history': 4.7.11
- '@types/react': 18.2.45
+ '@types/react': 18.2.47
'@types/react-router': 5.1.20
/@types/react-router-dom@5.3.3:
resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==}
dependencies:
'@types/history': 4.7.11
- '@types/react': 18.2.45
+ '@types/react': 18.2.47
'@types/react-router': 5.1.20
/@types/react-router@5.1.20:
resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==}
dependencies:
'@types/history': 4.7.11
- '@types/react': 18.2.45
+ '@types/react': 18.2.47
- /@types/react@18.2.45:
- resolution: {integrity: sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==}
+ /@types/react@18.2.47:
+ resolution: {integrity: sha512-xquNkkOirwyCgoClNk85BjP+aqnIS+ckAJ8i37gAbDs14jfW/J23f2GItAf33oiUPQnqNMALiFeoM9Y5mbjpVQ==}
dependencies:
'@types/prop-types': 15.7.9
'@types/scheduler': 0.16.5
@@ -3371,7 +3442,7 @@ packages:
/@types/resolve@1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
dev: false
/@types/retry@0.12.0:
@@ -3381,7 +3452,7 @@ packages:
/@types/sax@1.2.7:
resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 17.0.45
dev: false
/@types/scheduler@0.16.5:
@@ -3391,7 +3462,7 @@ packages:
resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
dependencies:
'@types/mime': 1.3.5
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
dev: false
/@types/serve-index@1.9.4:
@@ -3405,13 +3476,13 @@ packages:
dependencies:
'@types/http-errors': 2.0.4
'@types/mime': 3.0.4
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
dev: false
/@types/sockjs@0.3.36:
resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
dev: false
/@types/trusted-types@2.0.7:
@@ -3420,16 +3491,14 @@ packages:
/@types/unist@2.0.10:
resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
- dev: false
/@types/unist@3.0.2:
resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
- dev: false
/@types/ws@8.5.10:
resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
dev: false
/@types/yargs-parser@21.0.3:
@@ -3444,7 +3513,6 @@ packages:
/@ungap/structured-clone@1.2.0:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- dev: false
/@webassemblyjs/ast@1.11.6:
resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==}
@@ -3551,28 +3619,27 @@ packages:
negotiator: 0.6.3
dev: false
- /acorn-import-assertions@1.9.0(acorn@8.11.2):
+ /acorn-import-assertions@1.9.0(acorn@8.11.3):
resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
peerDependencies:
acorn: ^8
dependencies:
- acorn: 8.11.2
+ acorn: 8.11.3
- /acorn-jsx@5.3.2(acorn@8.11.2):
+ /acorn-jsx@5.3.2(acorn@8.11.3):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- acorn: 8.11.2
- dev: false
+ acorn: 8.11.3
- /acorn-walk@8.3.0:
- resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==}
+ /acorn-walk@8.3.1:
+ resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==}
engines: {node: '>=0.4.0'}
dev: false
- /acorn@8.11.2:
- resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
engines: {node: '>=0.4.0'}
hasBin: true
@@ -3633,32 +3700,32 @@ packages:
uri-js: 4.4.1
dev: false
- /algoliasearch-helper@3.15.0(algoliasearch@4.20.0):
- resolution: {integrity: sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==}
+ /algoliasearch-helper@3.16.1(algoliasearch@4.22.0):
+ resolution: {integrity: sha512-qxAHVjjmT7USVvrM8q6gZGaJlCK1fl4APfdAA7o8O6iXEc68G0xMNrzRkxoB/HmhhvyHnoteS/iMTiHiTcQQcg==}
peerDependencies:
algoliasearch: '>= 3.1 < 6'
dependencies:
'@algolia/events': 4.0.1
- algoliasearch: 4.20.0
+ algoliasearch: 4.22.0
dev: false
- /algoliasearch@4.20.0:
- resolution: {integrity: sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==}
+ /algoliasearch@4.22.0:
+ resolution: {integrity: sha512-gfceltjkwh7PxXwtkS8KVvdfK+TSNQAWUeNSxf4dA29qW5tf2EGwa8jkJujlT9jLm17cixMVoGNc+GJFO1Mxhg==}
dependencies:
- '@algolia/cache-browser-local-storage': 4.20.0
- '@algolia/cache-common': 4.20.0
- '@algolia/cache-in-memory': 4.20.0
- '@algolia/client-account': 4.20.0
- '@algolia/client-analytics': 4.20.0
- '@algolia/client-common': 4.20.0
- '@algolia/client-personalization': 4.20.0
- '@algolia/client-search': 4.20.0
- '@algolia/logger-common': 4.20.0
- '@algolia/logger-console': 4.20.0
- '@algolia/requester-browser-xhr': 4.20.0
- '@algolia/requester-common': 4.20.0
- '@algolia/requester-node-http': 4.20.0
- '@algolia/transporter': 4.20.0
+ '@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
dev: false
/ansi-align@3.0.1:
@@ -3735,10 +3802,6 @@ packages:
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
dev: false
- /array-flatten@2.1.2:
- resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==}
- dev: false
-
/array-union@2.1.0:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'}
@@ -3760,7 +3823,6 @@ packages:
/astring@1.8.6:
resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==}
hasBin: true
- dev: false
/async@3.2.5:
resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
@@ -3782,8 +3844,8 @@ packages:
peerDependencies:
postcss: ^8.1.0
dependencies:
- browserslist: 4.22.1
- caniuse-lite: 1.0.30001565
+ browserslist: 4.22.2
+ caniuse-lite: 1.0.30001574
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.0.0
@@ -3791,6 +3853,22 @@ packages:
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
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.33
+ postcss-value-parser: 4.2.0
+ dev: false
+
/available-typed-arrays@1.0.5:
resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
engines: {node: '>= 0.4'}
@@ -3799,21 +3877,21 @@ packages:
/axios@1.6.2:
resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==}
dependencies:
- follow-redirects: 1.15.3
+ 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.5)(webpack@5.89.0):
+ /babel-loader@9.1.3(@babel/core@7.23.7)(webpack@5.89.0):
resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
engines: {node: '>= 14.15.0'}
peerDependencies:
'@babel/core': ^7.12.0
webpack: '>=5'
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.23.7
find-cache-dir: 4.0.0
schema-utils: 4.2.0
webpack: 5.89.0
@@ -3825,45 +3903,44 @@ packages:
object.assign: 4.1.5
dev: false
- /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.5):
- resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==}
+ /babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
'@babel/compat-data': 7.23.5
- '@babel/core': 7.23.5
- '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
dev: false
- /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.5):
- resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==}
+ /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.23.7):
+ resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5)
- core-js-compat: 3.33.3
+ '@babel/core': 7.23.7
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
+ core-js-compat: 3.35.0
transitivePeerDependencies:
- supports-color
dev: false
- /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==}
+ /babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5)
+ '@babel/core': 7.23.7
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
transitivePeerDependencies:
- supports-color
dev: false
/bail@2.0.2:
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
- dev: false
/balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@@ -3902,11 +3979,9 @@ packages:
- supports-color
dev: false
- /bonjour-service@1.1.1:
- resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==}
+ /bonjour-service@1.2.0:
+ resolution: {integrity: sha512-xdzMA6JGckxyJzZByjEWRcfKmDxXaGXZWVftah3FkCqdlePNS9DjHSUN5zkP4oEfz/t0EXXlro88EIhzwMB4zA==}
dependencies:
- array-flatten: 2.1.2
- dns-equal: 1.0.0
fast-deep-equal: 3.1.3
multicast-dns: 7.2.5
dev: false
@@ -3963,15 +4038,15 @@ packages:
fill-range: 7.0.1
dev: false
- /browserslist@4.22.1:
- resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
+ /browserslist@4.22.2:
+ resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001565
- electron-to-chromium: 1.4.598
- node-releases: 2.0.13
- update-browserslist-db: 1.0.13(browserslist@4.22.1)
+ caniuse-lite: 1.0.30001574
+ electron-to-chromium: 1.4.623
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.2)
/buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@@ -4042,18 +4117,17 @@ packages:
/caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
dependencies:
- browserslist: 4.22.1
- caniuse-lite: 1.0.30001565
+ browserslist: 4.22.2
+ caniuse-lite: 1.0.30001574
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
dev: false
- /caniuse-lite@1.0.30001565:
- resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==}
+ /caniuse-lite@1.0.30001574:
+ resolution: {integrity: sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==}
/ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
- dev: false
/chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
@@ -4084,19 +4158,15 @@ packages:
/character-entities-html4@2.1.0:
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
- dev: false
/character-entities-legacy@3.0.0:
resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
- dev: false
/character-entities@2.0.2:
resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
- dev: false
/character-reference-invalid@2.0.1:
resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
- dev: false
/cheerio-select@2.1.0:
resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
@@ -4180,14 +4250,13 @@ packages:
kind-of: 6.0.3
shallow-clone: 3.0.1
- /clsx@2.0.0:
- resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
+ /clsx@2.1.0:
+ resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==}
engines: {node: '>=6'}
dev: false
/collapse-white-space@2.1.0:
resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
- dev: false
/color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -4232,7 +4301,6 @@ packages:
/comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
- dev: false
/commander@10.0.1:
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
@@ -4368,19 +4436,19 @@ packages:
webpack: 5.89.0
dev: false
- /core-js-compat@3.33.3:
- resolution: {integrity: sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==}
+ /core-js-compat@3.35.0:
+ resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==}
dependencies:
- browserslist: 4.22.1
+ browserslist: 4.22.2
dev: false
- /core-js-pure@3.33.3:
- resolution: {integrity: sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==}
+ /core-js-pure@3.35.0:
+ resolution: {integrity: sha512-f+eRYmkou59uh7BPcyJ8MC76DiGhspj1KMxVIcF24tzP8NA9HVa1uC7BTW2tgx7E1QVCzDzsgp7kArrzhlz8Ew==}
requiresBuild: true
dev: false
- /core-js@3.33.3:
- resolution: {integrity: sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==}
+ /core-js@3.35.0:
+ resolution: {integrity: sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==}
requiresBuild: true
dev: false
@@ -4464,18 +4532,27 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.0.9
+ dependencies:
+ postcss: 8.4.33
+ dev: false
+
/css-loader@6.8.1(webpack@5.89.0):
resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==}
engines: {node: '>= 12.13.0'}
peerDependencies:
webpack: ^5.0.0
dependencies:
- icss-utils: 5.1.0(postcss@8.4.31)
- postcss: 8.4.31
- postcss-modules-extract-imports: 3.0.0(postcss@8.4.31)
- postcss-modules-local-by-default: 4.0.3(postcss@8.4.31)
- postcss-modules-scope: 3.0.0(postcss@8.4.31)
- postcss-modules-values: 4.0.0(postcss@8.4.31)
+ 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-values: 4.0.0(postcss@8.4.33)
postcss-value-parser: 4.2.0
semver: 7.5.4
webpack: 5.89.0
@@ -4507,9 +4584,9 @@ packages:
optional: true
dependencies:
clean-css: 5.3.3
- cssnano: 5.1.15(postcss@8.4.31)
+ cssnano: 5.1.15(postcss@8.4.33)
jest-worker: 29.7.0
- postcss: 8.4.31
+ postcss: 8.4.33
schema-utils: 4.2.0
serialize-javascript: 6.0.1
source-map: 0.6.1
@@ -4570,6 +4647,21 @@ packages:
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)
+ cssnano-preset-default: 5.2.14(postcss@8.4.33)
+ postcss: 8.4.33
+ postcss-discard-unused: 5.1.0(postcss@8.4.33)
+ postcss-merge-idents: 5.1.1(postcss@8.4.33)
+ postcss-reduce-idents: 5.2.0(postcss@8.4.33)
+ 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}
@@ -4608,6 +4700,44 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ css-declaration-sorter: 6.4.1(postcss@8.4.33)
+ cssnano-utils: 3.1.0(postcss@8.4.33)
+ postcss: 8.4.33
+ postcss-calc: 8.2.4(postcss@8.4.33)
+ postcss-colormin: 5.3.1(postcss@8.4.33)
+ postcss-convert-values: 5.1.3(postcss@8.4.33)
+ postcss-discard-comments: 5.1.2(postcss@8.4.33)
+ postcss-discard-duplicates: 5.1.0(postcss@8.4.33)
+ postcss-discard-empty: 5.1.1(postcss@8.4.33)
+ postcss-discard-overridden: 5.1.0(postcss@8.4.33)
+ postcss-merge-longhand: 5.1.7(postcss@8.4.33)
+ postcss-merge-rules: 5.1.4(postcss@8.4.33)
+ postcss-minify-font-values: 5.1.0(postcss@8.4.33)
+ postcss-minify-gradients: 5.1.1(postcss@8.4.33)
+ postcss-minify-params: 5.1.4(postcss@8.4.33)
+ postcss-minify-selectors: 5.2.1(postcss@8.4.33)
+ postcss-normalize-charset: 5.1.0(postcss@8.4.33)
+ postcss-normalize-display-values: 5.1.0(postcss@8.4.33)
+ postcss-normalize-positions: 5.1.1(postcss@8.4.33)
+ postcss-normalize-repeat-style: 5.1.1(postcss@8.4.33)
+ postcss-normalize-string: 5.1.0(postcss@8.4.33)
+ postcss-normalize-timing-functions: 5.1.0(postcss@8.4.33)
+ postcss-normalize-unicode: 5.1.1(postcss@8.4.33)
+ postcss-normalize-url: 5.1.0(postcss@8.4.33)
+ postcss-normalize-whitespace: 5.1.1(postcss@8.4.33)
+ postcss-ordered-values: 5.1.3(postcss@8.4.33)
+ postcss-reduce-initial: 5.1.2(postcss@8.4.33)
+ postcss-reduce-transforms: 5.1.0(postcss@8.4.33)
+ postcss-svgo: 5.1.0(postcss@8.4.33)
+ 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}
@@ -4617,6 +4747,15 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ 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}
@@ -4629,6 +4768,18 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-preset-default: 5.2.14(postcss@8.4.33)
+ lilconfig: 2.1.0
+ postcss: 8.4.33
+ yaml: 1.10.2
+ dev: false
+
/csso@4.2.0:
resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
engines: {node: '>=8.0.0'}
@@ -4664,13 +4815,11 @@ packages:
optional: true
dependencies:
ms: 2.1.2
- dev: false
/decode-named-character-reference@1.0.2:
resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
dependencies:
character-entities: 2.0.2
- dev: false
/decompress-response@6.0.0:
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
@@ -4756,7 +4905,6 @@ packages:
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
- dev: false
/destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
@@ -4792,7 +4940,6 @@ packages:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
dependencies:
dequal: 2.0.3
- dev: false
/dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
@@ -4801,10 +4948,6 @@ packages:
path-type: 4.0.0
dev: false
- /dns-equal@1.0.0:
- resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==}
- dev: false
-
/dns-packet@5.6.1:
resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
engines: {node: '>=6'}
@@ -4902,8 +5045,8 @@ packages:
jake: 10.8.7
dev: false
- /electron-to-chromium@1.4.598:
- resolution: {integrity: sha512-0JnipX0scPUlwsptQVCZggoCpREv+IrVD3h0ZG+sldmK9L27tSV3QjV8+QdaA4qQTzDf3PluNS45YYJky1oASw==}
+ /electron-to-chromium@1.4.623:
+ resolution: {integrity: sha512-lKoz10iCYlP1WtRYdh5MvocQPWVRoI7ysp6qf18bmeBgR8abE6+I2CsfyNKztRDZvhdWc+krKT6wS7Neg8sw3A==}
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -5078,7 +5221,6 @@ packages:
resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
dependencies:
'@types/estree': 1.0.5
- dev: false
/estree-util-build-jsx@3.0.1:
resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
@@ -5087,11 +5229,9 @@ packages:
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
estree-walker: 3.0.3
- dev: false
/estree-util-is-identifier-name@3.0.0:
resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
- dev: false
/estree-util-to-js@2.0.0:
resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
@@ -5099,7 +5239,6 @@ packages:
'@types/estree-jsx': 1.0.3
astring: 1.8.6
source-map: 0.7.4
- dev: false
/estree-util-value-to-estree@3.0.1:
resolution: {integrity: sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==}
@@ -5114,7 +5253,6 @@ packages:
dependencies:
'@types/estree-jsx': 1.0.3
'@types/unist': 3.0.2
- dev: false
/estree-walker@1.0.1:
resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
@@ -5124,7 +5262,6 @@ packages:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
dependencies:
'@types/estree': 1.0.5
- dev: false
/esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
@@ -5145,7 +5282,7 @@ packages:
resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==}
engines: {node: '>= 0.8'}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
require-like: 0.1.2
dev: false
@@ -5220,7 +5357,6 @@ packages:
/extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
- dev: false
/fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -5245,8 +5381,8 @@ packages:
punycode: 1.4.1
dev: false
- /fastq@1.15.0:
- resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ /fastq@1.16.0:
+ resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==}
dependencies:
reusify: 1.0.4
dev: false
@@ -5350,8 +5486,8 @@ packages:
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
hasBin: true
- /follow-redirects@1.15.3:
- resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==}
+ /follow-redirects@1.15.4:
+ resolution: {integrity: sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==}
engines: {node: '>=4.0'}
peerDependencies:
debug: '*'
@@ -5761,7 +5897,6 @@ packages:
zwitch: 2.0.4
transitivePeerDependencies:
- supports-color
- dev: false
/hast-util-to-jsx-runtime@2.3.0:
resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==}
@@ -5778,12 +5913,11 @@ packages:
mdast-util-mdxjs-esm: 2.0.1
property-information: 6.4.0
space-separated-tokens: 2.0.2
- style-to-object: 1.0.4
+ style-to-object: 1.0.5
unist-util-position: 5.0.0
vfile-message: 4.0.2
transitivePeerDependencies:
- supports-color
- dev: false
/hast-util-to-parse5@8.0.0:
resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
@@ -5801,7 +5935,6 @@ packages:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
dependencies:
'@types/hast': 3.0.3
- dev: false
/hastscript@8.0.0:
resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==}
@@ -5821,7 +5954,7 @@ packages:
/history@4.10.1:
resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.23.7
loose-envify: 1.4.0
resolve-pathname: 3.0.0
tiny-invariant: 1.3.1
@@ -5863,7 +5996,7 @@ packages:
he: 1.2.0
param-case: 3.0.4
relateurl: 0.2.7
- terser: 5.24.0
+ terser: 5.26.0
dev: false
/html-minifier-terser@7.2.0:
@@ -5877,7 +6010,7 @@ packages:
entities: 4.5.0
param-case: 3.0.4
relateurl: 0.2.7
- terser: 5.24.0
+ terser: 5.26.0
dev: false
/html-tags@3.3.1:
@@ -5903,6 +6036,26 @@ packages:
webpack: 5.89.0
dev: false
+ /html-webpack-plugin@5.6.0(webpack@5.89.0):
+ resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.20.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+ 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
+
/htmlparser2@6.1.0:
resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
dependencies:
@@ -5978,7 +6131,7 @@ packages:
engines: {node: '>=8.0.0'}
dependencies:
eventemitter3: 4.0.7
- follow-redirects: 1.15.3
+ follow-redirects: 1.15.4
requires-port: 1.0.0
transitivePeerDependencies:
- debug
@@ -6004,13 +6157,13 @@ packages:
safer-buffer: 2.1.2
dev: false
- /icss-utils@5.1.0(postcss@8.4.31):
+ /icss-utils@5.1.0(postcss@8.4.33):
resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- postcss: 8.4.31
+ postcss: 8.4.33
dev: false
/idb@7.1.1:
@@ -6022,9 +6175,9 @@ packages:
engines: {node: '>= 4'}
dev: false
- /image-size@1.0.2:
- resolution: {integrity: sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==}
- engines: {node: '>=14.0.0'}
+ /image-size@1.1.1:
+ resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==}
+ engines: {node: '>=16.x'}
hasBin: true
dependencies:
queue: 6.0.2
@@ -6088,11 +6241,9 @@ packages:
/inline-style-parser@0.1.1:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
- dev: false
/inline-style-parser@0.2.2:
resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==}
- dev: false
/internal-slot@1.0.6:
resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==}
@@ -6125,14 +6276,12 @@ packages:
/is-alphabetical@2.0.1:
resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
- dev: false
/is-alphanumerical@2.0.1:
resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
dependencies:
is-alphabetical: 2.0.1
is-decimal: 2.0.1
- dev: false
/is-array-buffer@3.0.2:
resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
@@ -6194,7 +6343,6 @@ packages:
/is-decimal@2.0.1:
resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
- dev: false
/is-docker@2.2.1:
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
@@ -6226,7 +6374,6 @@ packages:
/is-hexadecimal@2.0.1:
resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
- dev: false
/is-installed-globally@0.4.0:
resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
@@ -6290,7 +6437,6 @@ packages:
/is-plain-obj@4.1.0:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
- dev: false
/is-plain-object@2.0.4:
resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
@@ -6307,7 +6453,6 @@ packages:
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
dependencies:
'@types/estree': 1.0.5
- dev: false
/is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
@@ -6417,7 +6562,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.6.3
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -6428,7 +6573,7 @@ packages:
resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
merge-stream: 2.0.0
supports-color: 7.2.0
dev: false
@@ -6437,7 +6582,7 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 20.10.1
+ '@types/node': 20.10.6
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -6445,7 +6590,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.1
+ '@types/node': 20.10.6
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -6642,7 +6787,6 @@ packages:
/longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
- dev: false
/loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
@@ -6683,7 +6827,6 @@ packages:
/markdown-extensions@2.0.0:
resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
engines: {node: '>=16'}
- dev: false
/markdown-it@14.0.0:
resolution: {integrity: sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==}
@@ -6742,7 +6885,6 @@ packages:
unist-util-stringify-position: 4.0.0
transitivePeerDependencies:
- supports-color
- dev: false
/mdast-util-frontmatter@2.0.1:
resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
@@ -6837,7 +6979,6 @@ packages:
mdast-util-to-markdown: 2.1.0
transitivePeerDependencies:
- supports-color
- dev: false
/mdast-util-mdx-jsx@3.0.0:
resolution: {integrity: sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==}
@@ -6857,7 +6998,6 @@ packages:
vfile-message: 4.0.2
transitivePeerDependencies:
- supports-color
- dev: false
/mdast-util-mdx@3.0.0:
resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
@@ -6869,7 +7009,6 @@ packages:
mdast-util-to-markdown: 2.1.0
transitivePeerDependencies:
- supports-color
- dev: false
/mdast-util-mdxjs-esm@2.0.1:
resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
@@ -6882,14 +7021,12 @@ packages:
mdast-util-to-markdown: 2.1.0
transitivePeerDependencies:
- supports-color
- dev: false
/mdast-util-phrasing@4.0.0:
resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==}
dependencies:
'@types/mdast': 4.0.3
unist-util-is: 6.0.0
- dev: false
/mdast-util-to-hast@13.0.2:
resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==}
@@ -6902,7 +7039,6 @@ packages:
trim-lines: 3.0.1
unist-util-position: 5.0.0
unist-util-visit: 5.0.0
- dev: false
/mdast-util-to-markdown@2.1.0:
resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
@@ -6915,13 +7051,11 @@ packages:
micromark-util-decode-string: 2.0.0
unist-util-visit: 5.0.0
zwitch: 2.0.4
- dev: false
/mdast-util-to-string@4.0.0:
resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
dependencies:
'@types/mdast': 4.0.3
- dev: false
/mdn-data@2.0.14:
resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
@@ -6996,7 +7130,6 @@ packages:
micromark-util-subtokenize: 2.0.0
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-extension-directive@3.0.0:
resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==}
@@ -7102,7 +7235,6 @@ packages:
micromark-util-events-to-acorn: 2.0.2
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-extension-mdx-jsx@3.0.0:
resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==}
@@ -7117,13 +7249,11 @@ packages:
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
vfile-message: 4.0.2
- dev: false
/micromark-extension-mdx-md@2.0.0:
resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
dependencies:
micromark-util-types: 2.0.0
- dev: false
/micromark-extension-mdxjs-esm@3.0.0:
resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
@@ -7137,20 +7267,18 @@ packages:
micromark-util-types: 2.0.0
unist-util-position-from-estree: 2.0.0
vfile-message: 4.0.2
- dev: false
/micromark-extension-mdxjs@3.0.0:
resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
dependencies:
- acorn: 8.11.2
- acorn-jsx: 5.3.2(acorn@8.11.2)
+ acorn: 8.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
micromark-extension-mdx-expression: 3.0.0
micromark-extension-mdx-jsx: 3.0.0
micromark-extension-mdx-md: 2.0.0
micromark-extension-mdxjs-esm: 3.0.0
micromark-util-combine-extensions: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-factory-destination@2.0.0:
resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
@@ -7158,7 +7286,6 @@ packages:
micromark-util-character: 2.0.1
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-factory-label@2.0.0:
resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
@@ -7167,7 +7294,6 @@ packages:
micromark-util-character: 2.0.1
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-factory-mdx-expression@2.0.1:
resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==}
@@ -7180,7 +7306,6 @@ packages:
micromark-util-types: 2.0.0
unist-util-position-from-estree: 2.0.0
vfile-message: 4.0.2
- dev: false
/micromark-factory-space@1.1.0:
resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
@@ -7194,7 +7319,6 @@ packages:
dependencies:
micromark-util-character: 2.0.1
micromark-util-types: 2.0.0
- dev: false
/micromark-factory-title@2.0.0:
resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
@@ -7203,7 +7327,6 @@ packages:
micromark-util-character: 2.0.1
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-factory-whitespace@2.0.0:
resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
@@ -7212,7 +7335,6 @@ packages:
micromark-util-character: 2.0.1
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-util-character@1.2.0:
resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
@@ -7226,13 +7348,11 @@ packages:
dependencies:
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-util-chunked@2.0.0:
resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
dependencies:
micromark-util-symbol: 2.0.0
- dev: false
/micromark-util-classify-character@2.0.0:
resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
@@ -7240,20 +7360,17 @@ packages:
micromark-util-character: 2.0.1
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-util-combine-extensions@2.0.0:
resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
dependencies:
micromark-util-chunked: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-util-decode-numeric-character-reference@2.0.1:
resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
dependencies:
micromark-util-symbol: 2.0.0
- dev: false
/micromark-util-decode-string@2.0.0:
resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
@@ -7262,11 +7379,9 @@ packages:
micromark-util-character: 2.0.1
micromark-util-decode-numeric-character-reference: 2.0.1
micromark-util-symbol: 2.0.0
- dev: false
/micromark-util-encode@2.0.0:
resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
- dev: false
/micromark-util-events-to-acorn@2.0.2:
resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==}
@@ -7279,23 +7394,19 @@ packages:
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
vfile-message: 4.0.2
- dev: false
/micromark-util-html-tag-name@2.0.0:
resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
- dev: false
/micromark-util-normalize-identifier@2.0.0:
resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
dependencies:
micromark-util-symbol: 2.0.0
- dev: false
/micromark-util-resolve-all@2.0.0:
resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
dependencies:
micromark-util-types: 2.0.0
- dev: false
/micromark-util-sanitize-uri@2.0.0:
resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
@@ -7303,7 +7414,6 @@ packages:
micromark-util-character: 2.0.1
micromark-util-encode: 2.0.0
micromark-util-symbol: 2.0.0
- dev: false
/micromark-util-subtokenize@2.0.0:
resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==}
@@ -7312,7 +7422,6 @@ packages:
micromark-util-chunked: 2.0.0
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- dev: false
/micromark-util-symbol@1.1.0:
resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
@@ -7320,7 +7429,6 @@ packages:
/micromark-util-symbol@2.0.0:
resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
- dev: false
/micromark-util-types@1.1.0:
resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
@@ -7328,7 +7436,6 @@ packages:
/micromark-util-types@2.0.0:
resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
- dev: false
/micromark@4.0.0:
resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
@@ -7352,7 +7459,6 @@ packages:
micromark-util-types: 2.0.0
transitivePeerDependencies:
- supports-color
- dev: false
/micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
@@ -7436,8 +7542,8 @@ packages:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: false
- /mrmime@1.0.1:
- resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
+ /mrmime@2.0.0:
+ resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
engines: {node: '>=10'}
dev: false
@@ -7447,7 +7553,6 @@ packages:
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: false
/ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -7509,8 +7614,8 @@ packages:
engines: {node: '>= 6.13.0'}
dev: false
- /node-releases@2.0.13:
- resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
+ /node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
/normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
@@ -7717,7 +7822,6 @@ packages:
is-alphanumerical: 2.0.1
is-decimal: 2.0.1
is-hexadecimal: 2.0.1
- dev: false
/parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
@@ -7816,7 +7920,6 @@ packages:
'@types/estree': 1.0.5
estree-walker: 3.0.3
is-reference: 3.0.2
- dev: false
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
@@ -7826,8 +7929,8 @@ packages:
engines: {node: '>=8.6'}
dev: false
- /pinyin-pro@3.18.5:
- resolution: {integrity: sha512-WNnVRkNj+SLkSLL+zUqWgs2t9RuEaCZFTNPyjwBqbgJYu6VSX5bZMP/hmKiUD0n21VJSQTBQHrW8plQQvK8b0A==}
+ /pinyin-pro@3.19.0:
+ resolution: {integrity: sha512-SDR7SHOVlaSDLEqbYnbuSKTPe9891KVWj3qjndPa9ZgdtuJgIgqcwpiQcfphYzonGV1qwG44B1rWTRaTjNCzcQ==}
dev: false
/pkg-dir@7.0.0:
@@ -7850,7 +7953,17 @@ packages:
postcss: ^8.2.2
dependencies:
postcss: 8.4.31
- postcss-selector-parser: 6.0.13
+ 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:
+ postcss: ^8.2.2
+ dependencies:
+ postcss: 8.4.33
+ postcss-selector-parser: 6.0.15
postcss-value-parser: 4.2.0
dev: false
@@ -7860,24 +7973,48 @@ packages:
peerDependencies:
postcss: ^8.2.15
dependencies:
- browserslist: 4.22.1
+ 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
+ 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.1
+ 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
+ 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}
@@ -7887,6 +8024,15 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ 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}
@@ -7896,6 +8042,15 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ 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}
@@ -7905,6 +8060,15 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ 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}
@@ -7914,6 +8078,15 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ 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}
@@ -7921,7 +8094,17 @@ packages:
postcss: ^8.2.15
dependencies:
postcss: 8.4.31
- postcss-selector-parser: 6.0.13
+ 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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ 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):
@@ -7940,6 +8123,22 @@ packages:
- typescript
dev: false
+ /postcss-loader@7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.89.0):
+ resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==}
+ 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.33
+ semver: 7.5.4
+ webpack: 5.89.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}
@@ -7951,6 +8150,17 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-utils: 3.1.0(postcss@8.4.33)
+ postcss: 8.4.33
+ 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}
@@ -7962,17 +8172,41 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ postcss-value-parser: 4.2.0
+ 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.1
+ 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.13
+ 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
+ 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):
@@ -7985,6 +8219,16 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ 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}
@@ -7997,18 +8241,42 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 3.1.0(postcss@8.4.33)
+ postcss: 8.4.33
+ 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.1
+ 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
+ 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}
@@ -8016,48 +8284,58 @@ packages:
postcss: ^8.2.15
dependencies:
postcss: 8.4.31
- postcss-selector-parser: 6.0.13
+ postcss-selector-parser: 6.0.15
dev: false
- /postcss-modules-extract-imports@3.0.0(postcss@8.4.31):
+ /postcss-minify-selectors@5.2.1(postcss@8.4.33):
+ resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ postcss-selector-parser: 6.0.15
+ dev: false
+
+ /postcss-modules-extract-imports@3.0.0(postcss@8.4.33):
resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- postcss: 8.4.31
+ postcss: 8.4.33
dev: false
- /postcss-modules-local-by-default@4.0.3(postcss@8.4.31):
+ /postcss-modules-local-by-default@4.0.3(postcss@8.4.33):
resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- icss-utils: 5.1.0(postcss@8.4.31)
- postcss: 8.4.31
- postcss-selector-parser: 6.0.13
+ icss-utils: 5.1.0(postcss@8.4.33)
+ postcss: 8.4.33
+ postcss-selector-parser: 6.0.15
postcss-value-parser: 4.2.0
dev: false
- /postcss-modules-scope@3.0.0(postcss@8.4.31):
- resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==}
+ /postcss-modules-scope@3.1.0(postcss@8.4.33):
+ resolution: {integrity: sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- postcss: 8.4.31
- postcss-selector-parser: 6.0.13
+ postcss: 8.4.33
+ postcss-selector-parser: 6.0.15
dev: false
- /postcss-modules-values@4.0.0(postcss@8.4.31):
+ /postcss-modules-values@4.0.0(postcss@8.4.33):
resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- icss-utils: 5.1.0(postcss@8.4.31)
- postcss: 8.4.31
+ icss-utils: 5.1.0(postcss@8.4.33)
+ postcss: 8.4.33
dev: false
/postcss-normalize-charset@5.1.0(postcss@8.4.31):
@@ -8069,6 +8347,15 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ 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}
@@ -8079,6 +8366,16 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ 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}
@@ -8089,6 +8386,16 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ 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}
@@ -8099,6 +8406,16 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ 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}
@@ -8109,6 +8426,16 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ 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}
@@ -8119,17 +8446,38 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ 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.1
+ 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
+ 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}
@@ -8141,6 +8489,17 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ normalize-url: 6.1.0
+ postcss: 8.4.33
+ 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}
@@ -8151,6 +8510,16 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ 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}
@@ -8162,6 +8531,17 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-utils: 3.1.0(postcss@8.4.33)
+ postcss: 8.4.33
+ 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}
@@ -8172,17 +8552,38 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ 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.1
+ 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
+ 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}
@@ -8193,8 +8594,18 @@ packages:
postcss-value-parser: 4.2.0
dev: false
- /postcss-selector-parser@6.0.13:
- resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
+ /postcss-reduce-transforms@5.1.0(postcss@8.4.33):
+ resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-selector-parser@6.0.15:
+ resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
engines: {node: '>=4'}
dependencies:
cssesc: 3.0.0
@@ -8211,6 +8622,16 @@ packages:
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'}
+ peerDependencies:
+ postcss: ^8.4.16
+ dependencies:
+ postcss: 8.4.33
+ 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}
@@ -8222,6 +8643,17 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ postcss-value-parser: 4.2.0
+ 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}
@@ -8229,7 +8661,17 @@ packages:
postcss: ^8.2.15
dependencies:
postcss: 8.4.31
- postcss-selector-parser: 6.0.13
+ 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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ postcss-selector-parser: 6.0.15
dev: false
/postcss-value-parser@4.2.0:
@@ -8245,6 +8687,15 @@ packages:
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}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.33
+ dev: false
+
/postcss@8.4.31:
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
engines: {node: ^10 || ^12 || >=14}
@@ -8254,6 +8705,15 @@ packages:
source-map-js: 1.0.2
dev: false
+ /postcss@8.4.33:
+ resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: false
+
/pretty-bytes@5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
engines: {node: '>=6'}
@@ -8277,7 +8737,7 @@ packages:
react: '>=16.0.0'
dependencies:
'@types/prismjs': 1.26.2
- clsx: 2.0.0
+ clsx: 2.1.0
react: 18.2.0
dev: false
@@ -8307,7 +8767,6 @@ packages:
/property-information@6.4.0:
resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==}
- dev: false
/proto-list@1.2.4:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
@@ -8414,7 +8873,7 @@ packages:
dependencies:
'@babel/code-frame': 7.23.5
address: 1.2.2
- browserslist: 4.22.1
+ browserslist: 4.22.2
chalk: 4.1.2
cross-spawn: 7.0.3
detect-port-alt: 1.1.6
@@ -8466,7 +8925,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.5
+ '@babel/runtime': 7.23.7
invariant: 2.2.4
prop-types: 15.8.1
react: 18.2.0
@@ -8474,8 +8933,8 @@ packages:
react-fast-compare: 3.2.2
shallowequal: 1.1.0
- /react-helmet-async@2.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-SFvEqfhFpLr5xqU6fWFb8wjVPjOR4A5skkNVNN5gAr/QeHutfDe4m1Cdo521umTiFRAY8hDOcl4xJO8sXN1n2Q==}
+ /react-helmet-async@2.0.4(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==}
peerDependencies:
react: ^16.6.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0
@@ -8505,7 +8964,7 @@ packages:
react-loadable: '*'
webpack: '>=4.41.1 || 5.x'
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.23.7
react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0)
webpack: 5.89.0
dev: false
@@ -8516,7 +8975,7 @@ packages:
react: '>=15'
react-router: '>=5'
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.23.7
react: 18.2.0
react-router: 5.3.4(react@18.2.0)
dev: false
@@ -8526,7 +8985,7 @@ packages:
peerDependencies:
react: '>=15'
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.23.7
history: 4.10.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -8541,7 +9000,7 @@ packages:
peerDependencies:
react: '>=15'
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.23.7
history: 4.10.1
hoist-non-react-statics: 3.3.2
loose-envify: 1.4.0
@@ -8616,13 +9075,13 @@ packages:
resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
dev: false
- /regenerator-runtime@0.14.0:
- resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
+ /regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
/regenerator-transform@0.15.2:
resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.23.7
dev: false
/regexp.prototype.flags@1.5.1:
@@ -8733,7 +9192,6 @@ packages:
micromark-extension-mdxjs: 3.0.0
transitivePeerDependencies:
- supports-color
- dev: false
/remark-parse@11.0.0:
resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
@@ -8744,7 +9202,6 @@ packages:
unified: 11.0.4
transitivePeerDependencies:
- supports-color
- dev: false
/remark-rehype@11.0.0:
resolution: {integrity: sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==}
@@ -8754,7 +9211,6 @@ packages:
mdast-util-to-hast: 13.0.2
unified: 11.0.4
vfile: 6.0.1
- dev: false
/remark-stringify@11.0.0:
resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
@@ -8843,7 +9299,7 @@ packages:
jest-worker: 26.6.2
rollup: 2.79.1
serialize-javascript: 4.0.0
- terser: 5.24.0
+ terser: 5.26.0
dev: false
/rollup@2.79.1:
@@ -8865,7 +9321,7 @@ packages:
dependencies:
escalade: 3.1.1
picocolors: 1.0.0
- postcss: 8.4.31
+ postcss: 8.4.33
strip-json-comments: 3.1.1
dev: false
@@ -8946,8 +9402,8 @@ packages:
ajv-keywords: 5.1.0(ajv@8.12.0)
dev: false
- /search-insights@2.11.0:
- resolution: {integrity: sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==}
+ /search-insights@2.13.0:
+ resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==}
dev: false
/section-matter@1.0.0:
@@ -8966,7 +9422,7 @@ packages:
resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
engines: {node: '>=10'}
dependencies:
- '@types/node-forge': 1.3.10
+ '@types/node-forge': 1.3.11
node-forge: 1.3.1
dev: false
@@ -9141,12 +9597,12 @@ packages:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
dev: false
- /sirv@2.0.3:
- resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
+ /sirv@2.0.4:
+ resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
engines: {node: '>= 10'}
dependencies:
- '@polka/url': 1.0.0-next.23
- mrmime: 1.0.1
+ '@polka/url': 1.0.0-next.24
+ mrmime: 2.0.0
totalist: 3.0.1
dev: false
@@ -9220,7 +9676,6 @@ packages:
/source-map@0.7.4:
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
engines: {node: '>= 8'}
- dev: false
/source-map@0.8.0-beta.0:
resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
@@ -9236,7 +9691,6 @@ packages:
/space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
- dev: false
/spdy-transport@3.0.0:
resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
@@ -9288,8 +9742,8 @@ packages:
engines: {node: '>= 0.8'}
dev: false
- /std-env@3.5.0:
- resolution: {integrity: sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA==}
+ /std-env@3.7.0:
+ resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
dev: false
/string-width@4.2.3:
@@ -9366,7 +9820,6 @@ packages:
dependencies:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
- dev: false
/stringify-object@3.3.0:
resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
@@ -9420,13 +9873,11 @@ packages:
resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
dependencies:
inline-style-parser: 0.1.1
- dev: false
- /style-to-object@1.0.4:
- resolution: {integrity: sha512-KyNO6mfijxSnypdvEjeXlhvbGPSh0l1zBJp80n+ncBQvrEbSwBHwZCpo0xz6Q4AKSPfXowWwypCBAUAdfz3rFQ==}
+ /style-to-object@1.0.5:
+ resolution: {integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==}
dependencies:
inline-style-parser: 0.2.2
- dev: false
/stylehacks@5.1.1(postcss@8.4.31):
resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
@@ -9434,9 +9885,20 @@ packages:
peerDependencies:
postcss: ^8.2.15
dependencies:
- browserslist: 4.22.1
+ browserslist: 4.22.2
postcss: 8.4.31
- postcss-selector-parser: 6.0.13
+ 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
+ postcss: 8.4.33
+ postcss-selector-parser: 6.0.15
dev: false
/supports-color@5.5.0:
@@ -9506,8 +9968,8 @@ packages:
unique-string: 2.0.0
dev: false
- /terser-webpack-plugin@5.3.9(webpack@5.89.0):
- resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==}
+ /terser-webpack-plugin@5.3.10(webpack@5.89.0):
+ resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
engines: {node: '>= 10.13.0'}
peerDependencies:
'@swc/core': '*'
@@ -9526,16 +9988,16 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.1
- terser: 5.24.0
+ terser: 5.26.0
webpack: 5.89.0
- /terser@5.24.0:
- resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==}
+ /terser@5.26.0:
+ resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==}
engines: {node: '>=10'}
hasBin: true
dependencies:
'@jridgewell/source-map': 0.3.5
- acorn: 8.11.2
+ acorn: 8.11.3
commander: 2.20.3
source-map-support: 0.5.21
@@ -9589,11 +10051,9 @@ packages:
/trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
- dev: false
/trough@2.1.0:
resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
- dev: false
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
@@ -9725,7 +10185,6 @@ packages:
is-plain-obj: 4.1.0
trough: 2.1.0
vfile: 6.0.1
- dev: false
/unique-string@2.0.0:
resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
@@ -9745,39 +10204,33 @@ packages:
resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
dependencies:
'@types/unist': 3.0.2
- dev: false
/unist-util-position-from-estree@2.0.0:
resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
dependencies:
'@types/unist': 3.0.2
- dev: false
/unist-util-position@5.0.0:
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
dependencies:
'@types/unist': 3.0.2
- dev: false
/unist-util-remove-position@5.0.0:
resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
dependencies:
'@types/unist': 3.0.2
unist-util-visit: 5.0.0
- dev: false
/unist-util-stringify-position@4.0.0:
resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
dependencies:
'@types/unist': 3.0.2
- dev: false
/unist-util-visit-parents@6.0.1:
resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
dependencies:
'@types/unist': 3.0.2
unist-util-is: 6.0.0
- dev: false
/unist-util-visit@5.0.0:
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
@@ -9785,7 +10238,6 @@ packages:
'@types/unist': 3.0.2
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
- dev: false
/universalify@2.0.1:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
@@ -9802,13 +10254,13 @@ packages:
engines: {node: '>=4'}
dev: false
- /update-browserslist-db@1.0.13(browserslist@4.22.1):
+ /update-browserslist-db@1.0.13(browserslist@4.22.2):
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
- browserslist: 4.22.1
+ browserslist: 4.22.2
escalade: 3.1.1
picocolors: 1.0.0
@@ -9897,7 +10349,6 @@ packages:
dependencies:
'@types/unist': 3.0.2
unist-util-stringify-position: 4.0.0
- dev: false
/vfile@6.0.1:
resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
@@ -9905,7 +10356,6 @@ packages:
'@types/unist': 3.0.2
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
- dev: false
/wait-on@7.2.0:
resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
@@ -9952,8 +10402,8 @@ packages:
hasBin: true
dependencies:
'@discoveryjs/json-ext': 0.5.7
- acorn: 8.11.2
- acorn-walk: 8.3.0
+ acorn: 8.11.3
+ acorn-walk: 8.3.1
commander: 7.2.0
debounce: 1.2.1
escape-string-regexp: 4.0.0
@@ -9962,7 +10412,7 @@ packages:
is-plain-object: 5.0.0
opener: 1.5.2
picocolors: 1.0.0
- sirv: 2.0.3
+ sirv: 2.0.4
ws: 7.5.9
transitivePeerDependencies:
- bufferutil
@@ -10004,7 +10454,7 @@ packages:
'@types/sockjs': 0.3.36
'@types/ws': 8.5.10
ansi-html-community: 0.0.8
- bonjour-service: 1.1.1
+ bonjour-service: 1.2.0
chokidar: 3.5.3
colorette: 2.0.20
compression: 1.7.4
@@ -10026,7 +10476,7 @@ packages:
spdy: 4.0.2
webpack: 5.89.0
webpack-dev-middleware: 5.3.3(webpack@5.89.0)
- ws: 8.14.2
+ ws: 8.16.0
transitivePeerDependencies:
- bufferutil
- debug
@@ -10061,9 +10511,9 @@ packages:
'@webassemblyjs/ast': 1.11.6
'@webassemblyjs/wasm-edit': 1.11.6
'@webassemblyjs/wasm-parser': 1.11.6
- acorn: 8.11.2
- acorn-import-assertions: 1.9.0(acorn@8.11.2)
- browserslist: 4.22.1
+ acorn: 8.11.3
+ acorn-import-assertions: 1.9.0(acorn@8.11.3)
+ browserslist: 4.22.2
chrome-trace-event: 1.0.3
enhanced-resolve: 5.15.0
es-module-lexer: 1.4.1
@@ -10077,7 +10527,7 @@ packages:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.9(webpack@5.89.0)
+ terser-webpack-plugin: 5.3.10(webpack@5.89.0)
watchpack: 2.4.0
webpack-sources: 3.2.3
transitivePeerDependencies:
@@ -10094,7 +10544,7 @@ packages:
chalk: 4.1.2
consola: 2.15.3
pretty-time: 1.1.0
- std-env: 3.5.0
+ std-env: 3.7.0
webpack: 5.89.0
dev: false
@@ -10173,31 +10623,28 @@ packages:
/wildcard@2.0.1:
resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
- /workbox-background-sync@6.6.1:
- resolution: {integrity: sha512-trJd3ovpWCvzu4sW0E8rV3FUyIcC0W8G+AZ+VcqzzA890AsWZlUGOTSxIMmIHVusUw/FDq1HFWfy/kC/WTRqSg==}
- deprecated: this package has been deprecated
+ /workbox-background-sync@7.0.0:
+ resolution: {integrity: sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==}
dependencies:
idb: 7.1.1
- workbox-core: 6.6.1
+ workbox-core: 7.0.0
dev: false
- /workbox-broadcast-update@6.6.1:
- resolution: {integrity: sha512-fBhffRdaANdeQ1V8s692R9l/gzvjjRtydBOvR6WCSB0BNE2BacA29Z4r9/RHd9KaXCPl6JTdI9q0bR25YKP8TQ==}
- deprecated: this package has been deprecated
+ /workbox-broadcast-update@7.0.0:
+ resolution: {integrity: sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==}
dependencies:
- workbox-core: 6.6.1
+ workbox-core: 7.0.0
dev: false
- /workbox-build@6.6.1:
- resolution: {integrity: sha512-INPgDx6aRycAugUixbKgiEQBWD0MPZqU5r0jyr24CehvNuLPSXp/wGOpdRJmts656lNiXwqV7dC2nzyrzWEDnw==}
+ /workbox-build@7.0.0:
+ resolution: {integrity: sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==}
engines: {node: '>=16.0.0'}
- deprecated: this package has been deprecated
dependencies:
'@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0)
- '@babel/core': 7.23.5
- '@babel/preset-env': 7.23.5(@babel/core@7.23.5)
- '@babel/runtime': 7.23.5
- '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.5)(rollup@2.79.1)
+ '@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)
'@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
@@ -10215,124 +10662,111 @@ packages:
strip-comments: 2.0.1
tempy: 0.6.0
upath: 1.2.0
- workbox-background-sync: 6.6.1
- workbox-broadcast-update: 6.6.1
- workbox-cacheable-response: 6.6.1
- workbox-core: 6.6.1
- workbox-expiration: 6.6.1
- workbox-google-analytics: 6.6.1
- workbox-navigation-preload: 6.6.1
- workbox-precaching: 6.6.1
- workbox-range-requests: 6.6.1
- workbox-recipes: 6.6.1
- workbox-routing: 6.6.1
- workbox-strategies: 6.6.1
- workbox-streams: 6.6.1
- workbox-sw: 6.6.1
- workbox-window: 6.6.1
+ workbox-background-sync: 7.0.0
+ workbox-broadcast-update: 7.0.0
+ workbox-cacheable-response: 7.0.0
+ workbox-core: 7.0.0
+ workbox-expiration: 7.0.0
+ workbox-google-analytics: 7.0.0
+ workbox-navigation-preload: 7.0.0
+ workbox-precaching: 7.0.0
+ workbox-range-requests: 7.0.0
+ workbox-recipes: 7.0.0
+ workbox-routing: 7.0.0
+ workbox-strategies: 7.0.0
+ workbox-streams: 7.0.0
+ workbox-sw: 7.0.0
+ workbox-window: 7.0.0
transitivePeerDependencies:
- '@types/babel__core'
- supports-color
dev: false
- /workbox-cacheable-response@6.6.1:
- resolution: {integrity: sha512-85LY4veT2CnTCDxaVG7ft3NKaFbH6i4urZXgLiU4AiwvKqS2ChL6/eILiGRYXfZ6gAwDnh5RkuDbr/GMS4KSag==}
- deprecated: workbox-background-sync@6.6.1
+ /workbox-cacheable-response@7.0.0:
+ resolution: {integrity: sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==}
dependencies:
- workbox-core: 6.6.1
+ workbox-core: 7.0.0
dev: false
- /workbox-core@6.6.1:
- resolution: {integrity: sha512-ZrGBXjjaJLqzVothoE12qTbVnOAjFrHDXpZe7coCb6q65qI/59rDLwuFMO4PcZ7jcbxY+0+NhUVztzR/CbjEFw==}
- deprecated: this package has been deprecated
+ /workbox-core@7.0.0:
+ resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==}
dev: false
- /workbox-expiration@6.6.1:
- resolution: {integrity: sha512-qFiNeeINndiOxaCrd2DeL1Xh1RFug3JonzjxUHc5WkvkD2u5abY3gZL1xSUNt3vZKsFFGGORItSjVTVnWAZO4A==}
- deprecated: this package has been deprecated
+ /workbox-expiration@7.0.0:
+ resolution: {integrity: sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==}
dependencies:
idb: 7.1.1
- workbox-core: 6.6.1
+ workbox-core: 7.0.0
dev: false
- /workbox-google-analytics@6.6.1:
- resolution: {integrity: sha512-1TjSvbFSLmkpqLcBsF7FuGqqeDsf+uAXO/pjiINQKg3b1GN0nBngnxLcXDYo1n/XxK4N7RaRrpRlkwjY/3ocuA==}
- deprecated: this package has been deprecated
+ /workbox-google-analytics@7.0.0:
+ resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==}
dependencies:
- workbox-background-sync: 6.6.1
- workbox-core: 6.6.1
- workbox-routing: 6.6.1
- workbox-strategies: 6.6.1
+ workbox-background-sync: 7.0.0
+ workbox-core: 7.0.0
+ workbox-routing: 7.0.0
+ workbox-strategies: 7.0.0
dev: false
- /workbox-navigation-preload@6.6.1:
- resolution: {integrity: sha512-DQCZowCecO+wRoIxJI2V6bXWK6/53ff+hEXLGlQL4Rp9ZaPDLrgV/32nxwWIP7QpWDkVEtllTAK5h6cnhxNxDA==}
- deprecated: this package has been deprecated
+ /workbox-navigation-preload@7.0.0:
+ resolution: {integrity: sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==}
dependencies:
- workbox-core: 6.6.1
+ workbox-core: 7.0.0
dev: false
- /workbox-precaching@6.6.1:
- resolution: {integrity: sha512-K4znSJ7IKxCnCYEdhNkMr7X1kNh8cz+mFgx9v5jFdz1MfI84pq8C2zG+oAoeE5kFrUf7YkT5x4uLWBNg0DVZ5A==}
- deprecated: this package has been deprecated
+ /workbox-precaching@7.0.0:
+ resolution: {integrity: sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==}
dependencies:
- workbox-core: 6.6.1
- workbox-routing: 6.6.1
- workbox-strategies: 6.6.1
+ workbox-core: 7.0.0
+ workbox-routing: 7.0.0
+ workbox-strategies: 7.0.0
dev: false
- /workbox-range-requests@6.6.1:
- resolution: {integrity: sha512-4BDzk28govqzg2ZpX0IFkthdRmCKgAKreontYRC5YsAPB2jDtPNxqx3WtTXgHw1NZalXpcH/E4LqUa9+2xbv1g==}
- deprecated: this package has been deprecated
+ /workbox-range-requests@7.0.0:
+ resolution: {integrity: sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==}
dependencies:
- workbox-core: 6.6.1
+ workbox-core: 7.0.0
dev: false
- /workbox-recipes@6.6.1:
- resolution: {integrity: sha512-/oy8vCSzromXokDA+X+VgpeZJvtuf8SkQ8KL0xmRivMgJZrjwM3c2tpKTJn6PZA6TsbxGs3Sc7KwMoZVamcV2g==}
- deprecated: this package has been deprecated
+ /workbox-recipes@7.0.0:
+ resolution: {integrity: sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==}
dependencies:
- workbox-cacheable-response: 6.6.1
- workbox-core: 6.6.1
- workbox-expiration: 6.6.1
- workbox-precaching: 6.6.1
- workbox-routing: 6.6.1
- workbox-strategies: 6.6.1
+ workbox-cacheable-response: 7.0.0
+ workbox-core: 7.0.0
+ workbox-expiration: 7.0.0
+ workbox-precaching: 7.0.0
+ workbox-routing: 7.0.0
+ workbox-strategies: 7.0.0
dev: false
- /workbox-routing@6.6.1:
- resolution: {integrity: sha512-j4ohlQvfpVdoR8vDYxTY9rA9VvxTHogkIDwGdJ+rb2VRZQ5vt1CWwUUZBeD/WGFAni12jD1HlMXvJ8JS7aBWTg==}
- deprecated: this package has been deprecated
+ /workbox-routing@7.0.0:
+ resolution: {integrity: sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==}
dependencies:
- workbox-core: 6.6.1
+ workbox-core: 7.0.0
dev: false
- /workbox-strategies@6.6.1:
- resolution: {integrity: sha512-WQLXkRnsk4L81fVPkkgon1rZNxnpdO5LsO+ws7tYBC6QQQFJVI6v98klrJEjFtZwzw/mB/HT5yVp7CcX0O+mrw==}
- deprecated: this package has been deprecated
+ /workbox-strategies@7.0.0:
+ resolution: {integrity: sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==}
dependencies:
- workbox-core: 6.6.1
+ workbox-core: 7.0.0
dev: false
- /workbox-streams@6.6.1:
- resolution: {integrity: sha512-maKG65FUq9e4BLotSKWSTzeF0sgctQdYyTMq529piEN24Dlu9b6WhrAfRpHdCncRS89Zi2QVpW5V33NX8PgH3Q==}
- deprecated: this package has been deprecated
+ /workbox-streams@7.0.0:
+ resolution: {integrity: sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==}
dependencies:
- workbox-core: 6.6.1
- workbox-routing: 6.6.1
+ workbox-core: 7.0.0
+ workbox-routing: 7.0.0
dev: false
- /workbox-sw@6.6.1:
- resolution: {integrity: sha512-R7whwjvU2abHH/lR6kQTTXLHDFU2izht9kJOvBRYK65FbwutT4VvnUAJIgHvfWZ/fokrOPhfoWYoPCMpSgUKHQ==}
- deprecated: this package has been deprecated
+ /workbox-sw@7.0.0:
+ resolution: {integrity: sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==}
dev: false
- /workbox-window@6.6.1:
- resolution: {integrity: sha512-wil4nwOY58nTdCvif/KEZjQ2NP8uk3gGeRNy2jPBbzypU4BT4D9L8xiwbmDBpZlSgJd2xsT9FvSNU0gsxV51JQ==}
- deprecated: this package has been deprecated
+ /workbox-window@7.0.0:
+ resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==}
dependencies:
'@types/trusted-types': 2.0.7
- workbox-core: 6.6.1
+ workbox-core: 7.0.0
dev: false
/wrap-ansi@8.1.0:
@@ -10370,8 +10804,8 @@ packages:
optional: true
dev: false
- /ws@8.14.2:
- resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==}
+ /ws@8.16.0:
+ resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -10420,4 +10854,3 @@ packages:
/zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
- dev: false
diff --git a/website/src/components/InstanceList.tsx b/website/src/components/InstanceList.tsx
index e4dd388c1..2f0ec8471 100644
--- a/website/src/components/InstanceList.tsx
+++ b/website/src/components/InstanceList.tsx
@@ -46,6 +46,11 @@ export default function InstanceList(): JSX.Element {
location: '🇺🇸',
maintainer: 'limfoo',
maintainerUrl: 'https://blog.limfoo.io',
+ }, {
+ url: 'https://rsshub.rss.tips',
+ location: '🇺🇸',
+ maintainer: 'AboutRSS',
+ maintainerUrl: 'https://github.com/AboutRSS/ALL-about-RSS',
}]
return (