mirror of
https://github.com/DIYgod/RSSHub.git
synced 2026-09-01 14:57:14 +08:00
Merge remote-tracking branch 'origin/master' into feature/hono
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
const { rootUrl, fetchItems } = require('./util');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const { category = '1_1' } = ctx.params;
|
||||
const limit = ctx.query.limit ? Number.parseInt(ctx.query.limit, 10) : 30;
|
||||
|
||||
const currentUrl = new URL(`class/${category}.html`, rootUrl).href;
|
||||
|
||||
ctx.state.data = await fetchItems(limit, currentUrl, ctx.cache.tryGet);
|
||||
};
|
||||
@@ -0,0 +1,4 @@
|
||||
module.exports = {
|
||||
'/class/:category?': ['nczitzk'],
|
||||
'/top/:category?': ['nczitzk'],
|
||||
};
|
||||
@@ -0,0 +1,85 @@
|
||||
module.exports = {
|
||||
'56kog.com': {
|
||||
_name: '明月中文网',
|
||||
'.': [
|
||||
{
|
||||
title: '玄幻魔法',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/1_1.html'],
|
||||
target: '/56kog/class/1_1',
|
||||
},
|
||||
{
|
||||
title: '武侠修真',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/2_1.html'],
|
||||
target: '/56kog/class/2_1',
|
||||
},
|
||||
{
|
||||
title: '历史军事',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/4_1.html'],
|
||||
target: '/56kog/class/4_1',
|
||||
},
|
||||
{
|
||||
title: '侦探推理',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/5_1.html'],
|
||||
target: '/56kog/class/5_1',
|
||||
},
|
||||
{
|
||||
title: '网游动漫',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/6_1.html'],
|
||||
target: '/56kog/class/6_1',
|
||||
},
|
||||
{
|
||||
title: '恐怖灵异',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/8_1.html'],
|
||||
target: '/56kog/class/8_1',
|
||||
},
|
||||
{
|
||||
title: '都市言情',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/3_1.html'],
|
||||
target: '/56kog/class/3_1',
|
||||
},
|
||||
{
|
||||
title: '科幻',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/7_1.html'],
|
||||
target: '/56kog/class/7_1',
|
||||
},
|
||||
{
|
||||
title: '女生小说',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/9_1.html'],
|
||||
target: '/56kog/class/9_1',
|
||||
},
|
||||
{
|
||||
title: '其他',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-fen-lei',
|
||||
source: ['/class/10_1.html'],
|
||||
target: '/56kog/class/10_1',
|
||||
},
|
||||
{
|
||||
title: '周点击榜',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-bang-dan',
|
||||
source: ['/top/weekvisit_1.html'],
|
||||
target: '/56kog/top/weekvisit',
|
||||
},
|
||||
{
|
||||
title: '总收藏榜',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-bang-dan',
|
||||
source: ['/top/goodnum_1.html'],
|
||||
target: '/56kog/top/goodnum',
|
||||
},
|
||||
{
|
||||
title: '最新入库',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#ming-yue-zhong-wen-wang-bang-dan',
|
||||
source: ['/top/postdate_1.html'],
|
||||
target: '/56kog/top/postdate',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,4 @@
|
||||
module.exports = (router) => {
|
||||
router.get('/class/:category?', require('./class'));
|
||||
router.get('/top/:category?', require('./top'));
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
{{ if images }}
|
||||
{{ each images image }}
|
||||
{{ if image?.src }}
|
||||
<figure>
|
||||
<img
|
||||
{{ if image.alt }}
|
||||
alt="{{ image.alt }}"
|
||||
{{ /if }}
|
||||
src="{{ image.src }}">
|
||||
</figure>
|
||||
{{ /if }}
|
||||
{{ /each }}
|
||||
{{ /if }}
|
||||
|
||||
{{ if details }}
|
||||
<table>
|
||||
<tbody>
|
||||
{{ each details detail }}
|
||||
<tr>
|
||||
<th>{{ detail.label }}</th>
|
||||
<td>
|
||||
{{ if detail.value?.href && detail.value?.text }}
|
||||
<a href="{{ detail.value.href }}">{{ detail.value.text }}</a>
|
||||
{{ else }}
|
||||
{{ detail.value }}
|
||||
{{ /if }}
|
||||
</td>
|
||||
</tr>
|
||||
{{ /each }}
|
||||
</tbody>
|
||||
</table>
|
||||
{{ /if }}
|
||||
@@ -0,0 +1,10 @@
|
||||
const { rootUrl, fetchItems } = require('./util');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const { category = 'weekvisit' } = ctx.params;
|
||||
const limit = ctx.query.limit ? Number.parseInt(ctx.query.limit, 10) : 30;
|
||||
|
||||
const currentUrl = new URL(`top/${category.split(/_/)[0]}_1.html`, rootUrl).href;
|
||||
|
||||
ctx.state.data = await fetchItems(limit, currentUrl, ctx.cache.tryGet);
|
||||
};
|
||||
@@ -0,0 +1,111 @@
|
||||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
const iconv = require('iconv-lite');
|
||||
const timezone = require('@/utils/timezone');
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const { art } = require('@/utils/render');
|
||||
const path = require('path');
|
||||
|
||||
const rootUrl = 'https://www.56kog.com';
|
||||
|
||||
const fetchItems = async (limit, currentUrl, tryGet) => {
|
||||
const { data: response } = await got(currentUrl, {
|
||||
responseType: 'buffer',
|
||||
});
|
||||
|
||||
const $ = cheerio.load(iconv.decode(response, 'gbk'));
|
||||
|
||||
let items = $('p.line')
|
||||
.toArray()
|
||||
.map((item) => {
|
||||
item = $(item);
|
||||
|
||||
const a = item.find('a');
|
||||
|
||||
return {
|
||||
title: a.text(),
|
||||
link: new URL(a.prop('href'), rootUrl).href,
|
||||
author: item.find('span').last().text(),
|
||||
};
|
||||
});
|
||||
|
||||
items = await Promise.all(
|
||||
items.map((item) =>
|
||||
tryGet(item.link, async () => {
|
||||
try {
|
||||
const { data: detailResponse } = await got(item.link, {
|
||||
responseType: 'buffer',
|
||||
});
|
||||
|
||||
const content = cheerio.load(iconv.decode(detailResponse, 'gbk'));
|
||||
|
||||
const details = content('div.mohe-content p')
|
||||
.toArray()
|
||||
.map((detail) => {
|
||||
detail = content(detail);
|
||||
const as = detail.find('a');
|
||||
|
||||
return {
|
||||
label: detail.find('span.c-l-depths').text().split(/:/)[0],
|
||||
value:
|
||||
as.length === 0
|
||||
? content(
|
||||
detail
|
||||
.contents()
|
||||
.toArray()
|
||||
.find((c) => c.nodeType === 3)
|
||||
)
|
||||
.text()
|
||||
.trim()
|
||||
: {
|
||||
href: new URL(as.first().prop('href'), rootUrl).href,
|
||||
text: as.first().text().trim(),
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
const pubDate = details.find((detail) => detail.label === '更新').value;
|
||||
|
||||
item.title = content('h1').contents().first().text();
|
||||
item.description = art(path.join(__dirname, 'templates/description.art'), {
|
||||
images: [
|
||||
{
|
||||
src: new URL(content('a.mohe-imgs img').prop('src'), rootUrl).href,
|
||||
alt: item.title,
|
||||
},
|
||||
],
|
||||
details,
|
||||
});
|
||||
item.author = details.find((detail) => detail.label === '作者').value;
|
||||
item.category = [details.find((detail) => detail.label === '状态').value, details.find((detail) => detail.label === '类型').value.text].filter(Boolean);
|
||||
item.guid = `56kog-${item.link.match(/\/(\d+)\.html$/)[1]}#${pubDate}`;
|
||||
item.pubDate = timezone(parseDate(pubDate), +8);
|
||||
} catch {
|
||||
// no-empty
|
||||
}
|
||||
|
||||
return item;
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
const icon = new URL('favicon.ico', rootUrl).href;
|
||||
|
||||
return {
|
||||
item: items.filter((item) => item.description).slice(0, limit),
|
||||
title: $('title').text(),
|
||||
link: currentUrl,
|
||||
description: $('meta[name="description"]').prop('content'),
|
||||
language: $('html').prop('lang'),
|
||||
icon,
|
||||
logo: icon,
|
||||
subtitle: $('meta[name="keywords"]').prop('content'),
|
||||
author: $('div.uni_footer a').text(),
|
||||
allowEmpty: true,
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
rootUrl,
|
||||
fetchItems,
|
||||
};
|
||||
@@ -203,7 +203,7 @@ module.exports = {
|
||||
return aid;
|
||||
},
|
||||
getArticleDataFromCvid: async (ctx, cvid, uid) => {
|
||||
const url = `https://www.bilibili.com/read/cv${cvid}`;
|
||||
const url = `https://www.bilibili.com/read/cv${cvid}/`;
|
||||
const data = await ctx.cache.tryGet(
|
||||
url,
|
||||
async () =>
|
||||
@@ -218,7 +218,39 @@ module.exports = {
|
||||
).data
|
||||
);
|
||||
const $ = cheerio.load(data);
|
||||
const description = $('#read-article-holder').html();
|
||||
let description = $('#read-article-holder').html();
|
||||
if (!description) {
|
||||
try {
|
||||
const newFormatData = JSON.parse(
|
||||
$('script:contains("window.__INITIAL_STATE__")')
|
||||
.text()
|
||||
.match(/window\.__INITIAL_STATE__\s*=\s*(.*?);\(/)[1]
|
||||
);
|
||||
|
||||
if (newFormatData?.readInfo?.opus?.content?.paragraphs) {
|
||||
description = '';
|
||||
for (const element of newFormatData.readInfo.opus.content.paragraphs) {
|
||||
if (element.para_type === 1) {
|
||||
for (const text of element.text.nodes) {
|
||||
if (text?.word?.words) {
|
||||
description += `<p>${text.word.words}</p>`;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (element.para_type === 2) {
|
||||
for (const image of element.pic.pics) {
|
||||
description += `<p ><img src="${image.url}@progressive.webp"></p>`;
|
||||
}
|
||||
}
|
||||
if (element.para_type === 3 && element.line?.pic?.url) {
|
||||
description += `<figure><img src="${element.line.pic.url}"></figure>`;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
/* empty */
|
||||
}
|
||||
}
|
||||
return { url, description };
|
||||
},
|
||||
};
|
||||
|
||||
@@ -22,7 +22,7 @@ module.exports = {
|
||||
'/popular/all': ['ziminliu'],
|
||||
'/ranking/:rid?/:day?/:arc_type?/:disableEmbed?': ['DIYgod'],
|
||||
'/readlist/:listid': ['hoilc'],
|
||||
'/user/article/:uid': ['lengthmin'],
|
||||
'/user/article/:uid': ['lengthmin', 'Qixingchen'],
|
||||
'/user/bangumi/:uid/:type?': ['wdssmq'],
|
||||
'/user/channel/:uid/:sid/:disableEmbed?': ['weirongxu'],
|
||||
'/user/coin/:uid/:disableEmbed?': ['DIYgod'],
|
||||
|
||||
@@ -3,7 +3,7 @@ const md5 = require('@/utils/md5');
|
||||
const CryptoJS = require('crypto-js');
|
||||
|
||||
function iframe(aid, page, bvid) {
|
||||
return `<iframe src="https://player.bilibili.com/player.html?${bvid ? `bvid=${bvid}` : `aid=${aid}`}${
|
||||
return `<iframe src="https://www.bilibili.com/blackboard/html5mobileplayer.html?${bvid ? `bvid=${bvid}` : `aid=${aid}`}${
|
||||
page ? `&page=${page}` : ''
|
||||
}&high_quality=1&autoplay=0" width="650" height="477" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>`;
|
||||
}
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ module.exports = {
|
||||
'.': [
|
||||
{
|
||||
title: '外汇牌价',
|
||||
docs: 'https://docs.rsshub.app/routes/others#zhong-guo-yin-hang',
|
||||
docs: 'https://docs.rsshub.app/routes/other#zhong-guo-yin-hang',
|
||||
source: ['/sourcedb/whpj', '/'],
|
||||
target: '/boc/whpj',
|
||||
},
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
'/whpj/:format?': ['Qixingchen'],
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
module.exports = {
|
||||
'cib.com.cn': {
|
||||
_name: '中国兴业银行',
|
||||
'.': [
|
||||
{
|
||||
title: '外汇牌价',
|
||||
docs: 'https://docs.rsshub.app/routes/other#zhong-guo-xing-ye-yin-hang',
|
||||
source: ['/'],
|
||||
target: '/cib/whpj',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = (router) => {
|
||||
router.get('/whpj/:format?', require('./whpj'));
|
||||
};
|
||||
@@ -0,0 +1,85 @@
|
||||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const https = require('https');
|
||||
const crypto = require('crypto');
|
||||
const config = require('@/config').value;
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
// fix unsafe legacy renegotiation disabled
|
||||
const agent = new https.Agent({
|
||||
secureOptions: crypto.constants.SSL_OP_LEGACY_SERVER_CONNECT,
|
||||
});
|
||||
|
||||
const response = await got('https://personalbank.cib.com.cn/pers/main/pubinfo/ifxQuotationQuery.do', { agent: { https: agent } });
|
||||
const cookies = response.headers['set-cookie'].map((item) => item.split(';')[0]).join(';');
|
||||
|
||||
const $ = cheerio.load(response.data);
|
||||
let date = $('div.main-body').find('div.labe_text').text();
|
||||
date = date.split('\n\t')[1].replace('日期:', '').trim();
|
||||
date = date.substring(0, 11) + date.substring(15);
|
||||
|
||||
const link = 'https://personalbank.cib.com.cn/pers/main/pubinfo/ifxQuotationQuery/list?_search=false&dataSet.rows=80&dataSet.page=1&dataSet.sidx=&dataSet.sord=asc';
|
||||
const data = await ctx.cache.tryGet(
|
||||
link,
|
||||
async () => {
|
||||
const detailResponse = await got(link, {
|
||||
headers: {
|
||||
Cookie: cookies,
|
||||
},
|
||||
agent: { https: agent },
|
||||
});
|
||||
return detailResponse.data;
|
||||
},
|
||||
config.cache.contentExpire,
|
||||
false
|
||||
);
|
||||
|
||||
const format = ctx.params.format;
|
||||
|
||||
ctx.state.data = {
|
||||
title: '中国兴业银行外汇牌价',
|
||||
link: 'https://personalbank.cib.com.cn/pers/main/pubinfo/ifxQuotationQuery.do',
|
||||
item: data.rows.map((item) => {
|
||||
const name = `${item.cell[0]} ${item.cell[1]}`;
|
||||
|
||||
const xhmr = `现汇买入价:${item.cell[3]}`;
|
||||
|
||||
const xcmr = `现钞买入价:${item.cell[5]}`;
|
||||
|
||||
const xhmc = `现汇卖出价:${item.cell[4]}`;
|
||||
|
||||
const xcmc = `现钞卖出价:${item.cell[6]}`;
|
||||
|
||||
const content = `${xhmr} ${xcmr} ${xhmc} ${xcmc}`;
|
||||
|
||||
return {
|
||||
title: formatTitle(name, xhmr, xcmr, xhmc, xcmc, content, format),
|
||||
pubDate: parseDate(date, 'YYYY年MM月DD日 HH:mm:ss'),
|
||||
description: content.replaceAll(/\s/g, '<br>'),
|
||||
guid: `${item.cell[0]} ${item.cell[1]} ${date}`,
|
||||
};
|
||||
}),
|
||||
};
|
||||
};
|
||||
|
||||
function formatTitle(name, xhmr, xcmr, xhmc, xcmc, content, format) {
|
||||
switch (format) {
|
||||
case 'short':
|
||||
return name;
|
||||
case 'xh':
|
||||
return `${name} ${xhmr} ${xhmc}`;
|
||||
case 'xc':
|
||||
return `${name} ${xcmr} ${xcmc}`;
|
||||
case 'xhmr':
|
||||
return `${name} ${xhmr}`;
|
||||
case 'xhmc':
|
||||
return `${name} ${xhmc}`;
|
||||
case 'xcmr':
|
||||
return `${name} ${xcmr}`;
|
||||
case 'xcmc':
|
||||
return `${name} ${xcmc}`;
|
||||
default:
|
||||
return `${name} ${content}`;
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ module.exports = async (ctx) => {
|
||||
item = $(item);
|
||||
return {
|
||||
title: item.text(),
|
||||
link: item.parents('a').attr('href'),
|
||||
link: new URL(item.parents('a').attr('href'), 'https://www.cna.com.tw').href,
|
||||
pubDate: timezone(parseDate(item.next().text()), +8),
|
||||
};
|
||||
});
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
'/': ['cnkmmk'],
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
module.exports = {
|
||||
'free.com.tw': {
|
||||
_name: '免費資源網路社群',
|
||||
'.': [
|
||||
{
|
||||
title: '博客',
|
||||
docs: 'https://docs.rsshub.app/routes/blog#mian-fei-zi-yuan-wang-lu-she-qun',
|
||||
source: ['/'],
|
||||
target: '/free',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = function (router) {
|
||||
router.get('/', require('./rss'));
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const got = require('@/utils/got');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const url = 'https://free.com.tw/';
|
||||
const response = await got(`${url}/wp-json/wp/v2/posts`);
|
||||
const list = response.data;
|
||||
ctx.state.data = {
|
||||
title: '免費資源網路社群',
|
||||
link: url,
|
||||
description: '免費資源網路社群 - 全部文章',
|
||||
item: list.map((item) => ({
|
||||
title: item.title.rendered,
|
||||
link: item.link,
|
||||
pubDate: parseDate(item.date_gmt),
|
||||
description: item.content.rendered,
|
||||
})),
|
||||
};
|
||||
};
|
||||
+1
-1
@@ -35,7 +35,7 @@ module.exports = async (ctx) => {
|
||||
.get(),
|
||||
];
|
||||
item.author = $('a.n-content-tag--author')
|
||||
.map((i, e) => $(e).text())
|
||||
.map((i, e) => ({ name: $(e).text() }))
|
||||
.get();
|
||||
|
||||
return item;
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
'/': ['cnkmmk'],
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
module.exports = {
|
||||
'hicairo.com': {
|
||||
_name: "HiFeng'Blog",
|
||||
'.': [
|
||||
{
|
||||
title: '博客',
|
||||
docs: 'https://docs.rsshub.app/routes/blog#hifeng-blog',
|
||||
source: ['/'],
|
||||
target: '/hicairo',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = function (router) {
|
||||
router.get('/', require('./rss'));
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const currentUrl = 'https://www.hicairo.com';
|
||||
const response = await got(`${currentUrl}/feed.php`);
|
||||
const $ = cheerio.load(response.data, { xmlMode: true });
|
||||
const title_main = $('channel > title').text();
|
||||
const description_main = $('channel > description').text();
|
||||
const items = $('channel > item')
|
||||
.map((_, item) => {
|
||||
const $item = $(item);
|
||||
const link = $item.find('link').text();
|
||||
const title = $item.find('title').text();
|
||||
const description = $item.find('description').text();
|
||||
const pubDate = $item.find('pubDate').text();
|
||||
return {
|
||||
link,
|
||||
pubDate, // no need to normalize because it's from a valid RSS feed
|
||||
title,
|
||||
description,
|
||||
};
|
||||
})
|
||||
.get();
|
||||
|
||||
ctx.state.data = {
|
||||
title: title_main,
|
||||
description: description_main,
|
||||
link: currentUrl,
|
||||
item: items,
|
||||
};
|
||||
};
|
||||
+10
-2
@@ -6,7 +6,11 @@ const timezone = require('@/utils/timezone');
|
||||
const baseUrl = 'https://today.hitwh.edu.cn';
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const response = await got(`${baseUrl}/1024/list.htm`);
|
||||
const response = await got(`${baseUrl}/1024/list.htm`, {
|
||||
https: {
|
||||
rejectUnauthorized: false,
|
||||
},
|
||||
});
|
||||
const $ = cheerio.load(response.data);
|
||||
const type = (filename) => filename.split('.').pop();
|
||||
const links = $('.list_list_wrap #wp_news_w10002 ul > li')
|
||||
@@ -25,7 +29,11 @@ module.exports = async (ctx) => {
|
||||
ctx.cache.tryGet(item.link, async () => {
|
||||
if (type(item.link) === 'htm') {
|
||||
try {
|
||||
const { data } = await got(item.link);
|
||||
const { data } = await got(item.link, {
|
||||
https: {
|
||||
rejectUnauthorized: false,
|
||||
},
|
||||
});
|
||||
const $ = cheerio.load(data);
|
||||
item.description = $('div.wp_articlecontent').html() && $('div.wp_articlecontent').html().replaceAll('src="/', `src="${baseUrl}/`).replaceAll('href="/', `href="${baseUrl}/`).trim();
|
||||
return item;
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
'/': ['cnkmmk'],
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
module.exports = {
|
||||
'howtoforge.com': {
|
||||
_name: 'Howtoforge Linux Tutorials',
|
||||
'.': [
|
||||
{
|
||||
title: '学习',
|
||||
docs: 'https://docs.rsshub.app/routes/study#howtoforge-linux-tutorials',
|
||||
source: ['/'],
|
||||
target: '/howtoforge',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = function (router) {
|
||||
router.get('/', require('./rss'));
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const currentUrl = 'https://www.howtoforge.com';
|
||||
const response = await got(`${currentUrl}/feed.rss`);
|
||||
const $ = cheerio.load(response.data, { xmlMode: true });
|
||||
const titleMain = $('channel > title').text();
|
||||
const descriptionMain = $('channel > description').text();
|
||||
const items = $('channel > item')
|
||||
.map((_, item) => {
|
||||
const $item = $(item);
|
||||
const link = $item.find('link').text();
|
||||
const title = $item.find('title').text();
|
||||
const description = $item.find('description').text();
|
||||
const pubDate = $item.find('pubDate').text();
|
||||
return {
|
||||
link,
|
||||
pubDate, // no need to normalize because it's from a valid RSS feed
|
||||
title,
|
||||
description,
|
||||
};
|
||||
})
|
||||
.get();
|
||||
|
||||
ctx.state.data = {
|
||||
title: titleMain,
|
||||
description: descriptionMain,
|
||||
link: currentUrl,
|
||||
item: items,
|
||||
};
|
||||
};
|
||||
@@ -43,7 +43,7 @@ const renderItems = (items) =>
|
||||
|
||||
// Metadata
|
||||
const url = `https://www.instagram.com/p/${item.code}/`;
|
||||
const pubDate = parseDate(item.caption.created_at_utc || item.taken_at, 'X');
|
||||
const pubDate = parseDate(item.caption?.created_at_utc || item.taken_at, 'X');
|
||||
const title = summary.split('\n')[0];
|
||||
|
||||
return {
|
||||
|
||||
@@ -4,7 +4,7 @@ module.exports = {
|
||||
'.': [
|
||||
{
|
||||
title: '最近更新',
|
||||
docs: 'https://docs.rsshub.app/routes/others#ai-q-sheng-huo-wang',
|
||||
docs: 'https://docs.rsshub.app/routes/other#ai-q-sheng-huo-wang',
|
||||
source: ['/post/new_100/', '/'],
|
||||
target: '/iqnew/latest',
|
||||
},
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
const iconv = require('iconv-lite');
|
||||
const timezone = require('@/utils/timezone');
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const { art } = require('@/utils/render');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const { id } = ctx.params;
|
||||
|
||||
const rootUrl = 'https://www.jjwxc.net';
|
||||
const currentUrl = new URL(`oneauthor.php?authorid=${id}`, rootUrl).href;
|
||||
|
||||
const { data: response } = await got(currentUrl, {
|
||||
responseType: 'buffer',
|
||||
});
|
||||
|
||||
const $ = cheerio.load(iconv.decode(response, 'gbk'));
|
||||
|
||||
const bookEl = $('font a').first();
|
||||
const bookInfoEl = bookEl.parent();
|
||||
|
||||
const bookName = bookEl.text();
|
||||
const bookUrl = new URL(bookEl.prop('href'), rootUrl).href;
|
||||
const bookStatus = bookInfoEl.find('font').first().text();
|
||||
const bookWords = bookInfoEl.find('font').eq(1).text();
|
||||
const bookUpdatedTime = bookInfoEl.parent().contents().last().text().trim();
|
||||
const bookId = bookUrl.split(/=/).pop();
|
||||
|
||||
const title = `${bookName}(${bookStatus}/${bookWords}/${bookUpdatedTime})`;
|
||||
const author = $('span[itemprop="name"]').text();
|
||||
|
||||
const items = [
|
||||
{
|
||||
title,
|
||||
link: bookUrl,
|
||||
description: art(path.join(__dirname, 'templates/author.art'), {
|
||||
bookName,
|
||||
bookUrl,
|
||||
bookStatus,
|
||||
bookWords,
|
||||
bookUpdatedTime,
|
||||
}),
|
||||
author,
|
||||
category: [bookStatus],
|
||||
guid: `jjwxc-${id}-${bookId}#${bookWords}`,
|
||||
pubDate: timezone(parseDate(bookUpdatedTime), +8),
|
||||
},
|
||||
];
|
||||
|
||||
const logoEl = $('div.logo a img');
|
||||
const image = `https:${logoEl.prop('src')}`;
|
||||
const icon = new URL('favicon.ico', rootUrl).href;
|
||||
|
||||
ctx.state.data = {
|
||||
item: items,
|
||||
title: `${logoEl.prop('alt').replace(/logo/, '')} | ${author} - 最近更新`,
|
||||
link: currentUrl,
|
||||
description: $('span[itemprop="description"]').text(),
|
||||
language: 'zh',
|
||||
image,
|
||||
icon,
|
||||
logo: icon,
|
||||
subtitle: $('meta[name="Description"]').prop('content'),
|
||||
author,
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,106 @@
|
||||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
const iconv = require('iconv-lite');
|
||||
const timezone = require('@/utils/timezone');
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const { art } = require('@/utils/render');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const { id } = ctx.params;
|
||||
const limit = ctx.query.limit ? Number.parseInt(ctx.query.limit, 10) : 100;
|
||||
|
||||
const rootUrl = 'https://www.jjwxc.net';
|
||||
const currentUrl = new URL(`onebook.php?novelid=${id}`, rootUrl).href;
|
||||
|
||||
const { data: response } = await got(currentUrl, {
|
||||
responseType: 'buffer',
|
||||
});
|
||||
|
||||
const $ = cheerio.load(iconv.decode(response, 'gbk'));
|
||||
|
||||
const author = $('meta[name="Author"]').prop('content');
|
||||
const keywords = $('meta[name="Keywords"]').prop('content').split(/,/);
|
||||
|
||||
keywords.pop();
|
||||
|
||||
const category = keywords.pop();
|
||||
|
||||
let items = $('tr[itemprop="chapter"]')
|
||||
.toArray()
|
||||
.map((item) => {
|
||||
item = $(item);
|
||||
|
||||
const chapterId = item.find('td').first().text().trim();
|
||||
const chapterName = item.find('span[itemprop="headline"]').text().trim();
|
||||
const chapterIntro = item.find('td').eq(2).text().trim();
|
||||
const chapterUrl = new URL(`onebook.php?novelid=${id}&chapterid=${chapterId}`, rootUrl).href;
|
||||
const chapterWords = item.find('td[itemprop="wordCount"]').text();
|
||||
const chapterClicks = item.find('td.chapterclick').text();
|
||||
const chapterUpdatedTime = item.find('td').last().text().trim();
|
||||
|
||||
const isVip = item.find('span[itemprop="headline"] font').last().text() === '[VIP]';
|
||||
|
||||
return {
|
||||
title: `${chapterName} ${chapterIntro}`,
|
||||
link: chapterUrl,
|
||||
description: art(path.join(__dirname, 'templates/book.art'), {
|
||||
chapterId,
|
||||
chapterName,
|
||||
chapterIntro,
|
||||
chapterUrl,
|
||||
chapterWords,
|
||||
chapterClicks,
|
||||
chapterUpdatedTime,
|
||||
}),
|
||||
author,
|
||||
category: [isVip ? 'VIP' : undefined, ...(category?.split(/\s/) ?? [])].filter(Boolean),
|
||||
guid: `jjwxc-${id}#${chapterId}`,
|
||||
pubDate: timezone(parseDate(chapterUpdatedTime), +8),
|
||||
isVip,
|
||||
};
|
||||
});
|
||||
|
||||
items.reverse();
|
||||
|
||||
items = await Promise.all(
|
||||
items.slice(0, limit).map((item) =>
|
||||
ctx.cache.tryGet(item.link, async () => {
|
||||
if (!item.isVip) {
|
||||
const { data: detailResponse } = await got(item.link, {
|
||||
responseType: 'buffer',
|
||||
});
|
||||
|
||||
const content = cheerio.load(iconv.decode(detailResponse, 'gbk'));
|
||||
|
||||
content('span.favorite_novel').parent().remove();
|
||||
|
||||
item.description += art(path.join(__dirname, 'templates/book.art'), {
|
||||
description: content('div.novelbody').html(),
|
||||
});
|
||||
}
|
||||
|
||||
delete item.isVip;
|
||||
|
||||
return item;
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
const logoEl = $('div.logo a img');
|
||||
const image = `https:${logoEl.prop('src')}`;
|
||||
const icon = new URL('favicon.ico', rootUrl).href;
|
||||
|
||||
ctx.state.data = {
|
||||
item: items,
|
||||
title: `${logoEl.prop('alt').replace(/logo/, '')} | ${author}${keywords[0]}`,
|
||||
link: currentUrl,
|
||||
description: $('span[itemprop="description"]').text(),
|
||||
language: 'zh',
|
||||
image,
|
||||
icon,
|
||||
logo: icon,
|
||||
subtitle: $('meta[name="Description"]').prop('content'),
|
||||
author: $('meta[name="Author"]').prop('content'),
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,4 @@
|
||||
module.exports = {
|
||||
'/author/:id?': ['nczitzk'],
|
||||
'/book/:id?': ['nczitzk'],
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
module.exports = {
|
||||
'jjwxc.net': {
|
||||
_name: '晋江文学城',
|
||||
'.': [
|
||||
{
|
||||
title: '作者最新作品',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#jin-jiang-wen-xue-cheng-zuo-zhe-zui-xin-zuo-pin',
|
||||
source: ['oneauthor.php'],
|
||||
target: (_, url) => {
|
||||
url = new URL(url);
|
||||
const id = url.searchParams.get('authorid');
|
||||
|
||||
return `/jjwxc/author/${id}`;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '作品',
|
||||
docs: 'https://docs.rsshub.app/routes/reading#jin-jiang-wen-xue-cheng-zuo-pin',
|
||||
source: ['onebook.php'],
|
||||
target: (_, url) => {
|
||||
url = new URL(url);
|
||||
const id = url.searchParams.get('novelid');
|
||||
|
||||
return `/jjwxc/book/${id}`;
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,4 @@
|
||||
module.exports = (router) => {
|
||||
router.get('/author/:id?', require('./author'));
|
||||
router.get('/book/:id?', require('./book'));
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
<table>
|
||||
<tbody>
|
||||
{{ if bookName }}
|
||||
<tr>
|
||||
<th>最近更新作品</th>
|
||||
<td><a href="{{ bookUrl }}">{{ bookName }}</a></td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
{{ if bookStatus }}
|
||||
<tr>
|
||||
<th>作品状态</th>
|
||||
<td>{{ bookStatus }}</td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
{{ if bookWords }}
|
||||
<tr>
|
||||
<th>作品字数</th>
|
||||
<td>{{ bookWords }}</td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
{{ if bookUpdatedTime }}
|
||||
<tr>
|
||||
<th>最后更新时间</th>
|
||||
<td>{{ bookUpdatedTime }}</td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -0,0 +1,44 @@
|
||||
{{ if description }}
|
||||
{{@ description }}
|
||||
{{ else }}
|
||||
<table>
|
||||
<tbody>
|
||||
{{ if chapterId }}
|
||||
<tr>
|
||||
<th>章节</th>
|
||||
<td><a href="{{ chapterUrl }}">{{ chapterId }}</a></td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
{{ if chapterName }}
|
||||
<tr>
|
||||
<th>标题</th>
|
||||
<td><a href="{{ chapterUrl }}">{{ chapterName }}</a></td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
{{ if chapterIntro }}
|
||||
<tr>
|
||||
<th>内容提要</th>
|
||||
<td><a href="{{ chapterUrl }}">{{ chapterIntro }}</a></td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
{{ if chapterWords }}
|
||||
<tr>
|
||||
<th>字数</th>
|
||||
<td>{{ chapterWords }}</td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
{{ if chapterClicks }}
|
||||
<tr>
|
||||
<th>点击</th>
|
||||
<td>{{ chapterClicks }}</td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
{{ if chapterUpdatedTime }}
|
||||
<tr>
|
||||
<th>更新时间</th>
|
||||
<td>{{ chapterUpdatedTime }}</td>
|
||||
</tr>
|
||||
{{ /if }}
|
||||
</tbody>
|
||||
</table>
|
||||
{{ /if }}
|
||||
@@ -0,0 +1,75 @@
|
||||
// 导入必要的模组
|
||||
const got = require('@/utils/got'); // 自订的 got
|
||||
const cheerio = require('cheerio'); // 可以使用类似 jQuery 的 API HTML 解析器
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const { getPageItemAndDate } = require('./utils/index');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
// 在此处编写您的逻辑
|
||||
const { types = 'xkjs' } = ctx.params;
|
||||
const baseUrl = 'https://cxzx.jsu.edu.cn/';
|
||||
const urls = {
|
||||
tzgg: {
|
||||
url: 'https://cxzx.jsu.edu.cn/xwzx.htm',
|
||||
title: '通知公告',
|
||||
}, // 通知公告页面
|
||||
xkjs: {
|
||||
url: 'https://cxzx.jsu.edu.cn/xwzx/zxdt.htm',
|
||||
title: '学科竞赛公告',
|
||||
},
|
||||
cxtz: {
|
||||
url: 'https://cxzx.jsu.edu.cn/cxlt/xsjz1.htm',
|
||||
title: '创新项目公告',
|
||||
},
|
||||
jsxw: {
|
||||
url: 'https://cxzx.jsu.edu.cn/cxjs.htm',
|
||||
title: '竞赛新闻',
|
||||
},
|
||||
jstz: {
|
||||
url: 'https://cxzx.jsu.edu.cn/cxjs/xkjs.htm',
|
||||
title: '竞赛新闻 -> 通知公告',
|
||||
},
|
||||
};
|
||||
// 获取页面中所有的 body > div.cx_big_container > div.cx_content_container > div.cx_right_part > div.cx_article_list_box > table > tbody > tr
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: urls[types].url,
|
||||
});
|
||||
|
||||
const $ = cheerio.load(response.data);
|
||||
const list = $('tr[height="20"]').toArray();
|
||||
|
||||
const out = await Promise.all(
|
||||
list.map((item) => {
|
||||
item = $(item);
|
||||
const link = new URL(item.find('td:nth-child(2) > a').attr('href'), baseUrl).href;
|
||||
return ctx.cache.tryGet(link, async () => {
|
||||
const title = item.find('td:nth-child(2) > a').text() || '无标题';
|
||||
|
||||
const category = urls[types].title;
|
||||
const description = await getPageItemAndDate(
|
||||
'#vsb_newscontent',
|
||||
link,
|
||||
'body > div.cx_big_container > div.cx_content_container > div.cx_right_part > div.viewbox > form > table > tbody > tr:nth-child(1) > td',
|
||||
'body > div.cx_big_container > div.cx_content_container > div.cx_right_part > div.viewbox > form > table > tbody > tr:nth-child(2) > td > span.timestyle134612'
|
||||
);
|
||||
const pubDate = parseDate(description.date);
|
||||
return {
|
||||
title,
|
||||
link,
|
||||
pubDate,
|
||||
description: description.pageInfo,
|
||||
category,
|
||||
};
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
ctx.state.data = {
|
||||
// 在此处输出您的 RSS
|
||||
title: `吉首大学创新中心 - ${urls[types].title}`,
|
||||
link: urls[types].url,
|
||||
description: '吉首大学创新中心',
|
||||
item: out,
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,59 @@
|
||||
// 导入必要的模组
|
||||
const got = require('@/utils/got'); // 自订的 got
|
||||
const cheerio = require('cheerio'); // 可以使用类似 jQuery 的 API HTML 解析器
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const { getPageItemAndDate } = require('@/v2/jsu/utils');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const baseUrl = 'https://jwc.jsu.edu.cn/';
|
||||
const { types = 'jwtz' } = ctx.params;
|
||||
const selectors = {
|
||||
jwtz: {
|
||||
category: '教务通知',
|
||||
url: 'https://jwc.jsu.edu.cn/tzgg.htm',
|
||||
},
|
||||
jwdt: {
|
||||
category: '教务动态',
|
||||
url: 'https://jwc.jsu.edu.cn/jwdt.htm',
|
||||
},
|
||||
};
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: selectors[types].url,
|
||||
});
|
||||
|
||||
const $ = cheerio.load(response.data);
|
||||
const list = $('a.c135042').toArray();
|
||||
const out = await Promise.all(
|
||||
list.map((item) => {
|
||||
item = $(item);
|
||||
const link = new URL(item.attr('href'), baseUrl).href;
|
||||
return ctx.cache.tryGet(link, async () => {
|
||||
const description = await getPageItemAndDate(
|
||||
'#vsb_content',
|
||||
link,
|
||||
'body > div.w1180.nyWrap.clearfix > div.nyRight > div > div.passage.contPsg > form > div > h1',
|
||||
'body > div.w1180.nyWrap.clearfix > div.nyRight > div > div.passage.contPsg > form > div > div:nth-child(2)',
|
||||
(date) => date.split(' 文章来源:')[0].split('添加时间:')[1]
|
||||
);
|
||||
const category = selectors[types].category;
|
||||
const pubDate = parseDate(description.date, 'YYYY年MM月DD日');
|
||||
return {
|
||||
title: description.title,
|
||||
link,
|
||||
pubDate,
|
||||
description: description.pageInfo,
|
||||
category,
|
||||
};
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
ctx.state.data = {
|
||||
// 在此处输出您的 RSS
|
||||
title: `吉首大学教务处 - ${selectors[types].category}`,
|
||||
link: selectors[types].url,
|
||||
description: `吉首大学教务处 - ${selectors[types].category}`,
|
||||
item: out,
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
module.exports = {
|
||||
'/cxzx/:types?': ['wenjia03'],
|
||||
'/jwc/:types?': ['wenjia03'],
|
||||
'/notice': ['wenjia03'],
|
||||
'/rjxy': ['wenjia03'],
|
||||
'/stxy': ['wenjia03'],
|
||||
};
|
||||
@@ -0,0 +1,41 @@
|
||||
// 导入必要的模组
|
||||
const got = require('@/utils/got'); // 自订的 got
|
||||
const cheerio = require('cheerio'); // 可以使用类似 jQuery 的 API HTML 解析器
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const { getPageItemAndDate } = require('@/v2/jsu/utils');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const baseUrl = 'https://stxy.jsu.edu.cn/';
|
||||
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: 'https://stxy.jsu.edu.cn/index/tzgg1.htm',
|
||||
});
|
||||
|
||||
const $ = cheerio.load(response.data);
|
||||
const list = $('div.art_list').toArray();
|
||||
const out = await Promise.all(
|
||||
list.map((item) => {
|
||||
item = $(item);
|
||||
const link = new URL(item.find('a').attr('href'), baseUrl).href;
|
||||
return ctx.cache.tryGet(link, async () => {
|
||||
const description = await getPageItemAndDate('#right_con > form > div.articleInfo', link, '#right_con > form > div.articleTitle', '#right_con > form > div.articleAuthor > span:nth-child(1)');
|
||||
const pubDate = parseDate(description.date, 'YYYY年MM月DD日 HH:mm');
|
||||
return {
|
||||
title: description.title,
|
||||
link,
|
||||
pubDate,
|
||||
description: description.pageInfo,
|
||||
category: '通知公告',
|
||||
};
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
ctx.state.data = {
|
||||
title: '吉首大学数学与统计学院 - 通知公告',
|
||||
link: 'https://stxy.jsu.edu.cn/index/tzgg1.htm',
|
||||
description: '吉首大学数学与统计学院 - 通知公告',
|
||||
item: out,
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
module.exports = {
|
||||
'jsu.edu.cn': {
|
||||
_name: '吉首大学',
|
||||
'.': [
|
||||
{
|
||||
title: '通知公告',
|
||||
docs: 'https://docs.rsshub.app/routes/university#ji-shou-da-xue-tong-zhi-gong-gao',
|
||||
},
|
||||
],
|
||||
cxzx: [
|
||||
{
|
||||
title: '创新中心',
|
||||
docs: 'https://docs.rsshub.app/routes/university#ji-shou-da-xue-chuang-xin-zhong-xin',
|
||||
},
|
||||
],
|
||||
jwc: [
|
||||
{
|
||||
title: '教务处',
|
||||
docs: 'https://docs.rsshub.app/routes/university#ji-shou-da-xue-jiao-wu-chu',
|
||||
},
|
||||
],
|
||||
|
||||
rjxy: [
|
||||
{
|
||||
title: '计算机科学与工程学院',
|
||||
docs: 'https://docs.rsshub.app/routes/university##ji-shou-da-xue-ji-suan-ji-ke-xue-yu-gong-cheng-xue-yuan',
|
||||
},
|
||||
],
|
||||
stxy: [
|
||||
{
|
||||
title: '数学与统计学院',
|
||||
docs: 'https://docs.rsshub.app/routes/university#ji-shou-da-xue-shu-xue-yu-tong-ji-xue-yuan',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,43 @@
|
||||
// 导入必要的模组
|
||||
const got = require('@/utils/got'); // 自订的 got
|
||||
const cheerio = require('cheerio'); // 可以使用类似 jQuery 的 API HTML 解析器
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const { getPageItemAndDate } = require('@/v2/jsu/utils');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const baseUrl = 'https://rjxy.jsu.edu.cn/';
|
||||
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: 'https://rjxy.jsu.edu.cn/index/tzgg1.htm',
|
||||
});
|
||||
|
||||
const $ = cheerio.load(response.data);
|
||||
const list = $('body > div.list-box > div > ul > li').toArray();
|
||||
const out = await Promise.all(
|
||||
list.map((item) => {
|
||||
item = $(item);
|
||||
const link = new URL(item.find('a').attr('href'), baseUrl).href;
|
||||
return ctx.cache.tryGet(link, async () => {
|
||||
const category = '通知公告';
|
||||
const description = await getPageItemAndDate('#vsb_content', link, 'body > form > div > h1', 'body > form > div > div.label', (date) => date.split(' 点击:')[0]);
|
||||
const pubDate = parseDate(description.date, 'YYYY年MM月DD日 HH:mm');
|
||||
return {
|
||||
title: description.title,
|
||||
link,
|
||||
pubDate,
|
||||
description: description.pageInfo,
|
||||
category,
|
||||
};
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
ctx.state.data = {
|
||||
// 在此处输出您的 RSS
|
||||
title: '吉首大学计算机科学与工程学院 - 通知公告',
|
||||
link: 'https://rjxy.jsu.edu.cn/index/tzgg1.htm',
|
||||
description: '吉首大学计算机科学与工程学院 - 通知公告',
|
||||
item: out,
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
module.exports = (router) => {
|
||||
// 创新中心
|
||||
router.get('/cxzx/:types?', require('./cxzx'));
|
||||
router.get('/jwc/:types?', require('./jwc'));
|
||||
router.get('/notice', require('./universityindex'));
|
||||
router.get('/rjxy', require('./rjxy'));
|
||||
router.get('/stxy', require('./math'));
|
||||
};
|
||||
@@ -0,0 +1,48 @@
|
||||
// 导入必要的模组
|
||||
const got = require('@/utils/got'); // 自订的 got
|
||||
const cheerio = require('cheerio'); // 可以使用类似 jQuery 的 API HTML 解析器
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const { getPageItemAndDate } = require('./utils');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const baseUrl = 'https://www.jsu.edu.cn/';
|
||||
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: 'https://www.jsu.edu.cn/index/tzgg.htm',
|
||||
});
|
||||
|
||||
const $ = cheerio.load(response.data);
|
||||
const list = $('body > div.container.container-fluid.dynava.no-padding.cleafix > div.con_wz_fr.fr.cleafix > div:nth-child(2) > ul > li').toArray();
|
||||
const out = await Promise.all(
|
||||
list.map((item) => {
|
||||
item = $(item);
|
||||
const link = new URL(item.find('a').attr('href'), baseUrl).href;
|
||||
return ctx.cache.tryGet(link, async () => {
|
||||
const description = await getPageItemAndDate(
|
||||
'#vsb_content',
|
||||
link,
|
||||
'body > div.container.container-fluid.dynava.no-padding.cleafix > div.con_wz_fr.fr.cleafix > form > div > h1',
|
||||
'body > div.container.container-fluid.dynava.no-padding.cleafix > div.con_wz_fr.fr.cleafix > form > div > div:nth-child(2)',
|
||||
(date) => date.split('时间:')[1].split(' 作者:')[0]
|
||||
);
|
||||
const pubDate = parseDate(description.date, 'YYYY-MM-DD');
|
||||
return {
|
||||
title: description.title,
|
||||
link,
|
||||
pubDate,
|
||||
description: description.pageInfo,
|
||||
category: '通知公告',
|
||||
};
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
ctx.state.data = {
|
||||
// 在此处输出您的 RSS
|
||||
title: '吉首大学 - 通知公告',
|
||||
link: 'https://www.jsu.edu.cn/index/tzgg.htm',
|
||||
description: '吉首大学 - 通知公告',
|
||||
item: out,
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,52 @@
|
||||
const got = require('@/utils/got'); // 自订的 got
|
||||
const cheerio = require('cheerio'); // 可以使用类似 jQuery 的 API HTML 解析器
|
||||
|
||||
/**
|
||||
* 获取页面内容
|
||||
* @param selector 正文CSS选择器
|
||||
* @param pageUrl 页面URL
|
||||
* @returns {Promise<string|string>} 页面内容,为符合RSS规范的HTML
|
||||
*/
|
||||
async function getPageItem(selector, pageUrl) {
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: pageUrl,
|
||||
https: { rejectUnauthorized: false },
|
||||
});
|
||||
const $ = cheerio.load(response.data);
|
||||
const page = $(selector);
|
||||
return page ? page.html() : '无法获取内容';
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取页面内容、标题、日期
|
||||
* @param selector 正文CSS选择器
|
||||
* @param pageUrl 页面URL
|
||||
* @param titleSelector 标题CSS选择器
|
||||
* @param dateSelector 日期CSS选择器
|
||||
* @param dateHander 日期处理函数,在CMS系统中会以“日期:点击数”等特殊格式显示日期,需要处理切分出日期
|
||||
* @returns {Promise<{date, pageInfo: string, title: (*|jQuery|string)}|{date: string, pageInfo: string, title: string}>} 页面内容、标题、日期
|
||||
*/
|
||||
async function getPageDetails(selector, pageUrl, titleSelector, dateSelector, dateHander = (date) => date) {
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: pageUrl,
|
||||
https: { rejectUnauthorized: false },
|
||||
});
|
||||
const $ = cheerio.load(response.data);
|
||||
const page = $(selector);
|
||||
const date = dateHander($(dateSelector).text());
|
||||
const title = $(titleSelector).text();
|
||||
return page
|
||||
? { pageInfo: page.html(), date, title }
|
||||
: {
|
||||
pageInfo: '无法获取内容',
|
||||
date: '1970-1-1',
|
||||
title: '无法获取标题',
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getPageItem,
|
||||
getPageItemAndDate: getPageDetails,
|
||||
};
|
||||
@@ -5,6 +5,7 @@ const { art } = require('@/utils/render');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const limit = ctx.query.limit ? Number.parseInt(ctx.query.limit) : 25;
|
||||
const source = ctx.params.source ?? '';
|
||||
const id = ctx.params.id;
|
||||
|
||||
@@ -40,6 +41,7 @@ module.exports = async (ctx) => {
|
||||
|
||||
return channelResponse.data
|
||||
.filter((i) => i.content || i.attachments)
|
||||
.slice(0, limit)
|
||||
.map((i) => ({
|
||||
title: i.content,
|
||||
description: art(path.join(__dirname, 'templates', 'discord.art'), { i }),
|
||||
@@ -62,7 +64,7 @@ module.exports = async (ctx) => {
|
||||
items = await Promise.all(
|
||||
$('.card-list__items')
|
||||
.find('a')
|
||||
.slice(0, ctx.query.limit ? Number.parseInt(ctx.query.limit) : 25)
|
||||
.slice(0, limit)
|
||||
.toArray()
|
||||
.map((item) => {
|
||||
item = $(item);
|
||||
@@ -90,7 +92,7 @@ module.exports = async (ctx) => {
|
||||
item.author = content('.post__user-name').text();
|
||||
item.title = content('.post__title span').first().text();
|
||||
item.guid = item.link.replace('kemono.su', 'kemono.party');
|
||||
item.pubDate = parseDate(content('.timestamp').attr('datetime'));
|
||||
item.pubDate = parseDate(content('div.post__published').contents().last().text().trim());
|
||||
|
||||
// find the first attachment with a file extension we
|
||||
// want, and set it as the enclosure
|
||||
|
||||
+5
-5
@@ -38,11 +38,11 @@ module.exports = async (ctx) => {
|
||||
|
||||
const content = cheerio.load(detailResponse.data);
|
||||
|
||||
item.author = content('meta[name="author"]')
|
||||
.attr('content')
|
||||
.replace(/文//, '')
|
||||
.split(//|\/|編譯|報導/)[0];
|
||||
item.pubDate = timezone(parseDate(content('meta[property="article:published_time"]').attr('content')), +8);
|
||||
item.author = content('.reporter-container a')
|
||||
.toArray()
|
||||
.map((e) => ({ name: content(e).text() }));
|
||||
item.pubDate = timezone(parseDate(content('.article-time .mr-2 time').text()), +8);
|
||||
item.updated = timezone(parseDate(content('.article-time span:nth-child(2) time').text()), +8);
|
||||
item.category = content('.tag-list')
|
||||
.first()
|
||||
.find('.blue-tag')
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
const timezone = require('@/utils/timezone');
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
|
||||
const base = 'https://houqin.qdu.edu.cn/';
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: `${base}index/tzgg.htm`,
|
||||
});
|
||||
|
||||
const $ = cheerio.load(response.data);
|
||||
const list = $('.n_newslist').children();
|
||||
const items = await Promise.all(
|
||||
list.map((i, item) => {
|
||||
item = $(item);
|
||||
const itemTitle = item.find('a').text();
|
||||
let itemDate = timezone(parseDate(item.find('span').text()), 8);
|
||||
const path = item.find('a').attr('href');
|
||||
const itemUrl = base + path;
|
||||
return ctx.cache.tryGet(itemUrl, async () => {
|
||||
let description = '';
|
||||
const result = await got(itemUrl);
|
||||
const $ = cheerio.load(result.data);
|
||||
if (
|
||||
$('.article_body')
|
||||
.find('div > h4')
|
||||
.text()
|
||||
.match(/发布时间:(.*)编辑:/) !== null
|
||||
) {
|
||||
itemDate = timezone(
|
||||
parseDate(
|
||||
$('.article_body')
|
||||
.find('div > h4')
|
||||
.text()
|
||||
.match(/发布时间:(.*)编辑:/)[1]
|
||||
.trim(),
|
||||
'YYYY年MM月DD日 HH:mm'
|
||||
),
|
||||
8
|
||||
);
|
||||
}
|
||||
description = $('.v_news_content').html().trim();
|
||||
|
||||
return {
|
||||
title: itemTitle,
|
||||
link: itemUrl,
|
||||
pubDate: itemDate,
|
||||
description,
|
||||
};
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
ctx.state.data = {
|
||||
title: '青岛大学 - 后勤管理处通知',
|
||||
link: `${base}index/tzgg.htm`,
|
||||
description: '青岛大学 - 后勤管理处通知',
|
||||
item: items,
|
||||
};
|
||||
};
|
||||
@@ -1,3 +1,4 @@
|
||||
module.exports = {
|
||||
'/houqin': ['abc1763613206'],
|
||||
'/jwc': ['abc1763613206'],
|
||||
};
|
||||
|
||||
@@ -9,5 +9,13 @@ module.exports = {
|
||||
target: '/qdu/jwc',
|
||||
},
|
||||
],
|
||||
houqin: [
|
||||
{
|
||||
title: '后勤管理处通知',
|
||||
docs: 'https://docs.rsshub.app/routes/university#qing-dao-da-xue',
|
||||
source: ['/tzgg.htm', '/'],
|
||||
target: '/qdu/houqin',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
module.exports = (router) => {
|
||||
router.get('/houqin', require('./houqin'));
|
||||
router.get('/jwc', require('./jwc'));
|
||||
};
|
||||
|
||||
@@ -19,7 +19,6 @@ module.exports = async (ctx) => {
|
||||
description: item.description_html,
|
||||
link: `https://${FQDN}/changelog/${item.slug}`,
|
||||
pubDate: parseDate(item.published_at.timestamp),
|
||||
author: item.user.name,
|
||||
}));
|
||||
|
||||
ctx.state.data = {
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
module.exports = {
|
||||
'/changelog': ['TonyRL'],
|
||||
'/changelog': ['TonyRL', 'amakerlife'],
|
||||
};
|
||||
|
||||
+13
-13
@@ -21,7 +21,7 @@ module.exports = async (ctx) => {
|
||||
const { data: response } = await got(link);
|
||||
const $ = cheerio.load(response);
|
||||
|
||||
const items = $('table tr')
|
||||
const list = $('table tr')
|
||||
.slice(1) // skip thead
|
||||
.toArray()
|
||||
.map((item) => {
|
||||
@@ -43,20 +43,20 @@ module.exports = async (ctx) => {
|
||||
};
|
||||
});
|
||||
|
||||
if (preview) {
|
||||
await Promise.all(
|
||||
items.map((item) =>
|
||||
ctx.cache.tryGet(item.link, async () => {
|
||||
const { data: response } = await got(item.link);
|
||||
const $ = cheerio.load(response);
|
||||
const items = preview
|
||||
? await Promise.all(
|
||||
list.map((item) =>
|
||||
ctx.cache.tryGet(item.link, async () => {
|
||||
const { data: response } = await got(item.link);
|
||||
const $ = cheerio.load(response);
|
||||
|
||||
item.description = $('.panel-body').eq(1).html();
|
||||
item.description = $('.panel-body').eq(1).html();
|
||||
|
||||
return item;
|
||||
})
|
||||
)
|
||||
);
|
||||
}
|
||||
return item;
|
||||
})
|
||||
)
|
||||
)
|
||||
: list;
|
||||
|
||||
ctx.state.data = {
|
||||
title,
|
||||
|
||||
+9
-9
@@ -79,8 +79,8 @@
|
||||
"@koa/router": "12.0.1",
|
||||
"@notionhq/client": "2.2.14",
|
||||
"@postlight/parser": "2.2.3",
|
||||
"@sentry/node": "7.101.1",
|
||||
"@tonyrl/rand-user-agent": "2.0.50",
|
||||
"@sentry/node": "7.102.1",
|
||||
"@tonyrl/rand-user-agent": "2.0.51",
|
||||
"@types/node": "20.11.5",
|
||||
"aes-js": "3.1.2",
|
||||
"art-template": "4.13.2",
|
||||
@@ -92,7 +92,7 @@
|
||||
"currency-symbol-map": "5.1.0",
|
||||
"dayjs": "1.11.8",
|
||||
"directory-import": "3.2.1",
|
||||
"dotenv": "16.4.4",
|
||||
"dotenv": "16.4.5",
|
||||
"entities": "4.5.0",
|
||||
"etag": "1.8.1",
|
||||
"fanfou-sdk": "4.2.0",
|
||||
@@ -128,7 +128,7 @@
|
||||
"pac-proxy-agent": "7.0.1",
|
||||
"plist": "3.1.0",
|
||||
"proxy-chain": "2.4.0",
|
||||
"puppeteer": "22.0.0",
|
||||
"puppeteer": "22.2.0",
|
||||
"puppeteer-extra": "3.3.6",
|
||||
"puppeteer-extra-plugin-stealth": "2.11.2",
|
||||
"puppeteer-extra-plugin-user-data-dir": "2.4.1",
|
||||
@@ -138,7 +138,7 @@
|
||||
"require-all": "3.0.0",
|
||||
"rfc4648": "1.5.3",
|
||||
"rss-parser": "3.13.0",
|
||||
"sanitize-html": "2.11.0",
|
||||
"sanitize-html": "2.12.1",
|
||||
"simplecc-wasm": "0.1.5",
|
||||
"socks-proxy-agent": "8.0.2",
|
||||
"source-map": "0.7.4",
|
||||
@@ -158,7 +158,7 @@
|
||||
"@stylistic/eslint-plugin-js": "1.6.2",
|
||||
"@types/aes-js": "3.1.4",
|
||||
"@types/crypto-js": "4.2.2",
|
||||
"@types/eslint": "8.56.2",
|
||||
"@types/eslint": "8.56.3",
|
||||
"@types/eslint-config-prettier": "6.11.3",
|
||||
"@types/etag": "1.8.3",
|
||||
"@types/fs-extra": "11.0.4",
|
||||
@@ -167,7 +167,7 @@
|
||||
"@types/imapflow": "1.0.18",
|
||||
"@types/jsdom": "21.1.6",
|
||||
"@types/json-bigint": "1.0.4",
|
||||
"@types/koa": "2.14.0",
|
||||
"@types/koa": "2.15.0",
|
||||
"@types/koa-basic-auth": "2.0.6",
|
||||
"@types/koa-favicon": "2.1.3",
|
||||
"@types/koa-mount": "4.0.5",
|
||||
@@ -187,7 +187,7 @@
|
||||
"@typescript-eslint/parser": "6.19.1",
|
||||
"@vercel/nft": "0.26.4",
|
||||
"cross-env": "7.0.3",
|
||||
"eslint": "8.56.0",
|
||||
"eslint": "8.57.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-nibble": "8.1.0",
|
||||
"eslint-plugin-n": "16.6.2",
|
||||
@@ -200,7 +200,7 @@
|
||||
"jest-junit": "16.0.0",
|
||||
"lint-staged": "15.2.2",
|
||||
"mockdate": "3.0.5",
|
||||
"nock": "13.5.1",
|
||||
"nock": "13.5.3",
|
||||
"prettier": "3.2.5",
|
||||
"remark": "14.0.3",
|
||||
"remark-custom-heading-id": "1.0.1",
|
||||
|
||||
Generated
+211
-162
@@ -18,11 +18,11 @@ dependencies:
|
||||
specifier: 2.2.3
|
||||
version: 2.2.3
|
||||
'@sentry/node':
|
||||
specifier: 7.101.1
|
||||
version: 7.101.1
|
||||
specifier: 7.102.1
|
||||
version: 7.102.1
|
||||
'@tonyrl/rand-user-agent':
|
||||
specifier: 2.0.50
|
||||
version: 2.0.50
|
||||
specifier: 2.0.51
|
||||
version: 2.0.51
|
||||
'@types/node':
|
||||
specifier: 20.11.5
|
||||
version: 20.11.5
|
||||
@@ -57,8 +57,8 @@ dependencies:
|
||||
specifier: 3.2.1
|
||||
version: 3.2.1
|
||||
dotenv:
|
||||
specifier: 16.4.4
|
||||
version: 16.4.4
|
||||
specifier: 16.4.5
|
||||
version: 16.4.5
|
||||
entities:
|
||||
specifier: 4.5.0
|
||||
version: 4.5.0
|
||||
@@ -165,11 +165,11 @@ dependencies:
|
||||
specifier: 2.4.0
|
||||
version: 2.4.0
|
||||
puppeteer:
|
||||
specifier: 22.0.0
|
||||
version: 22.0.0(typescript@5.3.3)
|
||||
specifier: 22.2.0
|
||||
version: 22.2.0(typescript@5.3.3)
|
||||
puppeteer-extra:
|
||||
specifier: 3.3.6
|
||||
version: 3.3.6(puppeteer@22.0.0)
|
||||
version: 3.3.6(puppeteer@22.2.0)
|
||||
puppeteer-extra-plugin-stealth:
|
||||
specifier: 2.11.2
|
||||
version: 2.11.2(puppeteer-extra@3.3.6)
|
||||
@@ -195,8 +195,8 @@ dependencies:
|
||||
specifier: 3.13.0
|
||||
version: 3.13.0
|
||||
sanitize-html:
|
||||
specifier: 2.11.0
|
||||
version: 2.11.0
|
||||
specifier: 2.12.1
|
||||
version: 2.12.1
|
||||
simplecc-wasm:
|
||||
specifier: 0.1.5
|
||||
version: 0.1.5
|
||||
@@ -243,7 +243,7 @@ devDependencies:
|
||||
version: 3.0.0
|
||||
'@stylistic/eslint-plugin-js':
|
||||
specifier: 1.6.2
|
||||
version: 1.6.2(eslint@8.56.0)
|
||||
version: 1.6.2(eslint@8.57.0)
|
||||
'@types/aes-js':
|
||||
specifier: 3.1.4
|
||||
version: 3.1.4
|
||||
@@ -251,8 +251,8 @@ devDependencies:
|
||||
specifier: 4.2.2
|
||||
version: 4.2.2
|
||||
'@types/eslint':
|
||||
specifier: 8.56.2
|
||||
version: 8.56.2
|
||||
specifier: 8.56.3
|
||||
version: 8.56.3
|
||||
'@types/eslint-config-prettier':
|
||||
specifier: 6.11.3
|
||||
version: 6.11.3
|
||||
@@ -278,8 +278,8 @@ devDependencies:
|
||||
specifier: 1.0.4
|
||||
version: 1.0.4
|
||||
'@types/koa':
|
||||
specifier: 2.14.0
|
||||
version: 2.14.0
|
||||
specifier: 2.15.0
|
||||
version: 2.15.0
|
||||
'@types/koa-basic-auth':
|
||||
specifier: 2.0.6
|
||||
version: 2.0.6
|
||||
@@ -327,10 +327,10 @@ devDependencies:
|
||||
version: 4.0.5
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: 6.19.1
|
||||
version: 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.56.0)(typescript@5.3.3)
|
||||
version: 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.57.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/parser':
|
||||
specifier: 6.19.1
|
||||
version: 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
version: 6.19.1(eslint@8.57.0)(typescript@5.3.3)
|
||||
'@vercel/nft':
|
||||
specifier: 0.26.4
|
||||
version: 0.26.4
|
||||
@@ -338,26 +338,26 @@ devDependencies:
|
||||
specifier: 7.0.3
|
||||
version: 7.0.3
|
||||
eslint:
|
||||
specifier: 8.56.0
|
||||
version: 8.56.0
|
||||
specifier: 8.57.0
|
||||
version: 8.57.0
|
||||
eslint-config-prettier:
|
||||
specifier: 9.1.0
|
||||
version: 9.1.0(eslint@8.56.0)
|
||||
version: 9.1.0(eslint@8.57.0)
|
||||
eslint-nibble:
|
||||
specifier: 8.1.0
|
||||
version: 8.1.0(eslint@8.56.0)
|
||||
version: 8.1.0(eslint@8.57.0)
|
||||
eslint-plugin-n:
|
||||
specifier: 16.6.2
|
||||
version: 16.6.2(eslint@8.56.0)
|
||||
version: 16.6.2(eslint@8.57.0)
|
||||
eslint-plugin-prettier:
|
||||
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.5)
|
||||
version: 5.1.3(@types/eslint@8.56.3)(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5)
|
||||
eslint-plugin-unicorn:
|
||||
specifier: 51.0.1
|
||||
version: 51.0.1(eslint@8.56.0)
|
||||
version: 51.0.1(eslint@8.57.0)
|
||||
eslint-plugin-yml:
|
||||
specifier: 1.12.2
|
||||
version: 1.12.2(eslint@8.56.0)
|
||||
version: 1.12.2(eslint@8.57.0)
|
||||
fs-extra:
|
||||
specifier: 11.2.0
|
||||
version: 11.2.0
|
||||
@@ -377,8 +377,8 @@ devDependencies:
|
||||
specifier: 3.0.5
|
||||
version: 3.0.5
|
||||
nock:
|
||||
specifier: 13.5.1
|
||||
version: 13.5.1
|
||||
specifier: 13.5.3
|
||||
version: 13.5.3
|
||||
prettier:
|
||||
specifier: 3.2.5
|
||||
version: 3.2.5
|
||||
@@ -1977,13 +1977,13 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
|
||||
/@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
@@ -2009,8 +2009,8 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@eslint/js@8.56.0:
|
||||
resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
|
||||
/@eslint/js@8.57.0:
|
||||
resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
@@ -2019,11 +2019,11 @@ packages:
|
||||
engines: {node: '>=18.14.1'}
|
||||
dev: false
|
||||
|
||||
/@humanwhocodes/config-array@0.11.13:
|
||||
resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
|
||||
/@humanwhocodes/config-array@0.11.14:
|
||||
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
|
||||
engines: {node: '>=10.10.0'}
|
||||
dependencies:
|
||||
'@humanwhocodes/object-schema': 2.0.1
|
||||
'@humanwhocodes/object-schema': 2.0.2
|
||||
debug: 4.3.4
|
||||
minimatch: 3.1.2
|
||||
transitivePeerDependencies:
|
||||
@@ -2035,8 +2035,8 @@ packages:
|
||||
engines: {node: '>=12.22'}
|
||||
dev: true
|
||||
|
||||
/@humanwhocodes/object-schema@2.0.1:
|
||||
resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
|
||||
/@humanwhocodes/object-schema@2.0.2:
|
||||
resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
|
||||
dev: true
|
||||
|
||||
/@ianvs/eslint-stats@2.0.0:
|
||||
@@ -2350,7 +2350,7 @@ packages:
|
||||
resolution: {integrity: sha512-KIKkT44hEqCzqxODYwFMUvYEK0CrdHx/Ll9xiOWgFbBSRuzbxmVy4d/tzfgoucGz72HJZNOMjuyzFTBKntRK5Q==}
|
||||
engines: {node: '>= 14'}
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
jschardet: 3.0.0
|
||||
lodash: 4.17.21
|
||||
utf8: 3.0.0
|
||||
@@ -2496,16 +2496,17 @@ packages:
|
||||
safe-buffer: 5.2.1
|
||||
dev: false
|
||||
|
||||
/@puppeteer/browsers@2.0.0:
|
||||
resolution: {integrity: sha512-3PS82/5+tnpEaUWonjAFFvlf35QHF15xqyGd34GBa5oP5EPVfFXRsbSxIGYf1M+vZlqBZ3oxT1kRg9OYhtt8ng==}
|
||||
/@puppeteer/browsers@2.1.0:
|
||||
resolution: {integrity: sha512-xloWvocjvryHdUjDam/ZuGMh7zn4Sn3ZAaV4Ah2e2EwEt90N3XphZlSsU3n0VDc1F7kggCjMuH0UuxfPQ5mD9w==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
extract-zip: 2.0.1
|
||||
progress: 2.0.3
|
||||
proxy-agent: 6.3.1
|
||||
tar-fs: 3.0.4
|
||||
proxy-agent: 6.4.0
|
||||
semver: 7.6.0
|
||||
tar-fs: 3.0.5
|
||||
unbzip2-stream: 1.4.3
|
||||
yargs: 17.7.2
|
||||
transitivePeerDependencies:
|
||||
@@ -2527,43 +2528,43 @@ packages:
|
||||
selderee: 0.11.0
|
||||
dev: false
|
||||
|
||||
/@sentry-internal/tracing@7.101.1:
|
||||
resolution: {integrity: sha512-ihjWG8x4x0ozx6t+EHoXLKbsPrgzYLCpeBLWyS+M6n3hn6cmHM76c8nZw3ldhUQi5UYL3LFC/JZ50b4oSxtlrg==}
|
||||
/@sentry-internal/tracing@7.102.1:
|
||||
resolution: {integrity: sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
'@sentry/core': 7.101.1
|
||||
'@sentry/types': 7.101.1
|
||||
'@sentry/utils': 7.101.1
|
||||
'@sentry/core': 7.102.1
|
||||
'@sentry/types': 7.102.1
|
||||
'@sentry/utils': 7.102.1
|
||||
dev: false
|
||||
|
||||
/@sentry/core@7.101.1:
|
||||
resolution: {integrity: sha512-XSmXXeYT1d4O14eDF3OXPJFUgaN2qYEeIGUztqPX9nBs9/ij8y/kZOayFqlIMnfGvjOUM+63sy/2xDBOpFn6ug==}
|
||||
/@sentry/core@7.102.1:
|
||||
resolution: {integrity: sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
'@sentry/types': 7.101.1
|
||||
'@sentry/utils': 7.101.1
|
||||
'@sentry/types': 7.102.1
|
||||
'@sentry/utils': 7.102.1
|
||||
dev: false
|
||||
|
||||
/@sentry/node@7.101.1:
|
||||
resolution: {integrity: sha512-iXSxUT6Zbt/KUY0+fRcW5II6Tgp2zdTfhBW+fQuDt/UUZt7Ypvb+6n4U2oom3LJfttmD7mdjQuT4+vsNImDjTQ==}
|
||||
/@sentry/node@7.102.1:
|
||||
resolution: {integrity: sha512-mb3vmM3SGuCruckPiv/Vafeh89UQavTfpPFoU6Jwe6dSpQ39BO8fO8k8Zev+/nP6r/FKLtX17mJobErHECXsYw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
'@sentry-internal/tracing': 7.101.1
|
||||
'@sentry/core': 7.101.1
|
||||
'@sentry/types': 7.101.1
|
||||
'@sentry/utils': 7.101.1
|
||||
'@sentry-internal/tracing': 7.102.1
|
||||
'@sentry/core': 7.102.1
|
||||
'@sentry/types': 7.102.1
|
||||
'@sentry/utils': 7.102.1
|
||||
dev: false
|
||||
|
||||
/@sentry/types@7.101.1:
|
||||
resolution: {integrity: sha512-bwtkQvrCZ6JGc7vqX7TEAKBgkbQFORt84FFS3JQQb8G3efTt9fZd2ReY4buteKQdlALl8h1QWVngTLmI+kyUuw==}
|
||||
/@sentry/types@7.102.1:
|
||||
resolution: {integrity: sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA==}
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/@sentry/utils@7.101.1:
|
||||
resolution: {integrity: sha512-Nrg0nrEI3nrOCd9SLJ/WGzxS5KMQE4cryLOvrDcHJRWpsSyGBF1hLLerk84Nsw/0myMsn7zTYU+xoq7idNsX5A==}
|
||||
/@sentry/utils@7.102.1:
|
||||
resolution: {integrity: sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
'@sentry/types': 7.101.1
|
||||
'@sentry/types': 7.102.1
|
||||
dev: false
|
||||
|
||||
/@sinclair/typebox@0.27.8:
|
||||
@@ -2592,16 +2593,16 @@ packages:
|
||||
'@sinonjs/commons': 3.0.0
|
||||
dev: true
|
||||
|
||||
/@stylistic/eslint-plugin-js@1.6.2(eslint@8.56.0):
|
||||
/@stylistic/eslint-plugin-js@1.6.2(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-ndT6X2KgWGxv8101pdMOxL8pihlYIHcOv3ICd70cgaJ9exwkPn8hJj4YQwslxoAlre1TFHnXd/G1/hYXgDrjIA==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
eslint: '>=8.40.0'
|
||||
dependencies:
|
||||
'@types/eslint': 8.56.2
|
||||
'@types/eslint': 8.56.3
|
||||
acorn: 8.11.3
|
||||
escape-string-regexp: 4.0.0
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
espree: 9.6.1
|
||||
dev: true
|
||||
@@ -2613,8 +2614,8 @@ packages:
|
||||
defer-to-connect: 2.0.1
|
||||
dev: false
|
||||
|
||||
/@tonyrl/rand-user-agent@2.0.50:
|
||||
resolution: {integrity: sha512-gV0Kn0PoqpJbDqlty+0h2NPTqiLagKeNQQY+P8g2eywbq8yuWd5Hq7w7Rx7OAt061J4SVF/lmBBJoHULwMz++Q==}
|
||||
/@tonyrl/rand-user-agent@2.0.51:
|
||||
resolution: {integrity: sha512-5kcqEftfRcajowAXKL7zswf94ahcqKUNL7KUa6qech4lr06edEZqvyBR4Z4gcvI3AkdI6n71muOzebmwtvOLhg==}
|
||||
engines: {node: '>=14.16'}
|
||||
dev: false
|
||||
|
||||
@@ -2730,8 +2731,8 @@ packages:
|
||||
resolution: {integrity: sha512-3wXCiM8croUnhg9LdtZUJQwNcQYGWxxdOWDjPe1ykCqJFPVpzAKfs/2dgSoCtAvdPeaponcWPI7mPcGGp9dkKQ==}
|
||||
dev: true
|
||||
|
||||
/@types/eslint@8.56.2:
|
||||
resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==}
|
||||
/@types/eslint@8.56.3:
|
||||
resolution: {integrity: sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg==}
|
||||
dependencies:
|
||||
'@types/estree': 1.0.1
|
||||
'@types/json-schema': 7.0.12
|
||||
@@ -2867,42 +2868,42 @@ packages:
|
||||
/@types/koa-basic-auth@2.0.6:
|
||||
resolution: {integrity: sha512-1/FdT3KiHIkVf+TxYiPPey0wnPBzuts6lz/Obskgo9ZY485J02+uI6STnD114L2iG+Wi5MBqU7EYNphKdKwZWQ==}
|
||||
dependencies:
|
||||
'@types/koa': 2.14.0
|
||||
'@types/koa': 2.15.0
|
||||
dev: true
|
||||
|
||||
/@types/koa-compose@3.2.5:
|
||||
resolution: {integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==}
|
||||
dependencies:
|
||||
'@types/koa': 2.14.0
|
||||
'@types/koa': 2.15.0
|
||||
dev: true
|
||||
|
||||
/@types/koa-favicon@2.1.3:
|
||||
resolution: {integrity: sha512-L1XAF8k1iOuh3hA/ZjEqWURm9/62a8A1x7BZR9ZCMw8nbnUBt6oZksz2rfKRCEwESqI2e6WVGlF03fs9DbQQXQ==}
|
||||
dependencies:
|
||||
'@types/koa': 2.14.0
|
||||
'@types/koa': 2.15.0
|
||||
dev: true
|
||||
|
||||
/@types/koa-mount@4.0.5:
|
||||
resolution: {integrity: sha512-pV1njJ7r94iqAFzT9D5sGSYKUHFGudCLAnmr4WFli7V5tJf5MAgRQK9leTPJ4gjvgr+hnTf86fZsKoFN358c7w==}
|
||||
dependencies:
|
||||
'@types/koa': 2.14.0
|
||||
'@types/koa': 2.15.0
|
||||
dev: true
|
||||
|
||||
/@types/koa-send@4.1.3:
|
||||
resolution: {integrity: sha512-daaTqPZlgjIJycSTNjKpHYuKhXYP30atFc1pBcy6HHqB9+vcymDgYTguPdx9tO4HMOqNyz6bz/zqpxt5eLR+VA==}
|
||||
dependencies:
|
||||
'@types/koa': 2.14.0
|
||||
'@types/koa': 2.15.0
|
||||
dev: true
|
||||
|
||||
/@types/koa-static@4.0.4:
|
||||
resolution: {integrity: sha512-j1AUzzl7eJYEk9g01hNTlhmipFh8RFbOQmaMNLvLcNNAkPw0bdTs3XTa3V045XFlrWN0QYnblbDJv2RzawTn6A==}
|
||||
dependencies:
|
||||
'@types/koa': 2.14.0
|
||||
'@types/koa': 2.15.0
|
||||
'@types/koa-send': 4.1.3
|
||||
dev: true
|
||||
|
||||
/@types/koa@2.14.0:
|
||||
resolution: {integrity: sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==}
|
||||
/@types/koa@2.15.0:
|
||||
resolution: {integrity: sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==}
|
||||
dependencies:
|
||||
'@types/accepts': 1.3.5
|
||||
'@types/content-disposition': 0.5.5
|
||||
@@ -2917,7 +2918,7 @@ packages:
|
||||
/@types/koa__router@12.0.4:
|
||||
resolution: {integrity: sha512-Y7YBbSmfXZpa/m5UGGzb7XadJIRBRnwNY9cdAojZGp65Cpe5MAP3mOZE7e3bImt8dfKS4UFcR16SLH8L/z7PBw==}
|
||||
dependencies:
|
||||
'@types/koa': 2.14.0
|
||||
'@types/koa': 2.15.0
|
||||
dev: true
|
||||
|
||||
/@types/linkify-it@3.0.3:
|
||||
@@ -3114,7 +3115,7 @@ packages:
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.56.0)(typescript@5.3.3):
|
||||
/@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.57.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
@@ -3126,13 +3127,13 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.8.0
|
||||
'@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/scope-manager': 6.19.1
|
||||
'@typescript-eslint/type-utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/type-utils': 6.19.1(eslint@8.57.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.19.1(eslint@8.57.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/visitor-keys': 6.19.1
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.2.4
|
||||
natural-compare: 1.4.0
|
||||
@@ -3143,7 +3144,7 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/parser@6.19.1(eslint@8.56.0)(typescript@5.3.3):
|
||||
/@typescript-eslint/parser@6.19.1(eslint@8.57.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
@@ -3158,7 +3159,7 @@ packages:
|
||||
'@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3)
|
||||
'@typescript-eslint/visitor-keys': 6.19.1
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -3172,7 +3173,7 @@ packages:
|
||||
'@typescript-eslint/visitor-keys': 6.19.1
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/type-utils@6.19.1(eslint@8.56.0)(typescript@5.3.3):
|
||||
/@typescript-eslint/type-utils@6.19.1(eslint@8.57.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
@@ -3183,9 +3184,9 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.19.1(eslint@8.57.0)(typescript@5.3.3)
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
ts-api-utils: 1.0.3(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
@@ -3219,19 +3220,19 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/utils@6.19.1(eslint@8.56.0)(typescript@5.3.3):
|
||||
/@typescript-eslint/utils@6.19.1(eslint@8.57.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
'@types/json-schema': 7.0.12
|
||||
'@types/semver': 7.5.6
|
||||
'@typescript-eslint/scope-manager': 6.19.1
|
||||
'@typescript-eslint/types': 6.19.1
|
||||
'@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3)
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
semver: 7.5.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -3644,6 +3645,37 @@ packages:
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
|
||||
/bare-events@2.2.0:
|
||||
resolution: {integrity: sha512-Yyyqff4PIFfSuthCZqLlPISTWHmnQxoPuAvkmgzsJEmG3CesdIv6Xweayl0JkCZJSB2yYIdJyEz97tpxNhgjbg==}
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/bare-fs@2.2.0:
|
||||
resolution: {integrity: sha512-+VhW202E9eTVGkX7p+TNXtZC4RTzj9JfJW7PtfIbZ7mIQ/QT9uOafQTx7lx2n9ERmWsXvLHF4hStAFn4gl2mQw==}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
bare-events: 2.2.0
|
||||
bare-os: 2.2.0
|
||||
bare-path: 2.1.0
|
||||
streamx: 2.15.1
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/bare-os@2.2.0:
|
||||
resolution: {integrity: sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==}
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/bare-path@2.1.0:
|
||||
resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
bare-os: 2.2.0
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/base64-js@1.5.1:
|
||||
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
||||
|
||||
@@ -4021,12 +4053,12 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/chromium-bidi@0.5.8(devtools-protocol@0.0.1232444):
|
||||
resolution: {integrity: sha512-blqh+1cEQbHBKmok3rVJkBlBxt9beKBgOsxbFgs7UJcoVbbeZ+K7+6liAsjgpc8l1Xd55cQUy14fXZdGSb4zIw==}
|
||||
/chromium-bidi@0.5.9(devtools-protocol@0.0.1249869):
|
||||
resolution: {integrity: sha512-wOTX3m2zuHX0zRX4h7Ol1DAGz0cqHzo2IrAPvOqBxdd4ZR32vxg4FKNjmBihi1oP9b1QGSBBG5VNUUXUCsxDfg==}
|
||||
peerDependencies:
|
||||
devtools-protocol: '*'
|
||||
dependencies:
|
||||
devtools-protocol: 0.0.1232444
|
||||
devtools-protocol: 0.0.1249869
|
||||
mitt: 3.0.1
|
||||
urlpattern-polyfill: 10.0.0
|
||||
dev: false
|
||||
@@ -4584,8 +4616,8 @@ packages:
|
||||
dequal: 2.0.3
|
||||
dev: true
|
||||
|
||||
/devtools-protocol@0.0.1232444:
|
||||
resolution: {integrity: sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg==}
|
||||
/devtools-protocol@0.0.1249869:
|
||||
resolution: {integrity: sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==}
|
||||
dev: false
|
||||
|
||||
/dezalgo@1.0.4:
|
||||
@@ -4686,8 +4718,8 @@ packages:
|
||||
domhandler: 5.0.3
|
||||
dev: false
|
||||
|
||||
/dotenv@16.4.4:
|
||||
resolution: {integrity: sha512-XvPXc8XAQThSjAbY6cQ/9PcBXmFoWuw1sQ3b8HqUCR6ziGXjkTi//kB9SWa2UwqlgdAIuRqAa/9hVljzPehbYg==}
|
||||
/dotenv@16.4.5:
|
||||
resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
@@ -4864,41 +4896,41 @@ packages:
|
||||
source-map: 0.6.1
|
||||
dev: false
|
||||
|
||||
/eslint-compat-utils@0.1.2(eslint@8.56.0):
|
||||
/eslint-compat-utils@0.1.2(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
|
||||
engines: {node: '>=12'}
|
||||
peerDependencies:
|
||||
eslint: '>=6.0.0'
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
dev: true
|
||||
|
||||
/eslint-compat-utils@0.4.1(eslint@8.56.0):
|
||||
/eslint-compat-utils@0.4.1(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==}
|
||||
engines: {node: '>=12'}
|
||||
peerDependencies:
|
||||
eslint: '>=6.0.0'
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
semver: 7.5.4
|
||||
dev: true
|
||||
|
||||
/eslint-config-prettier@9.1.0(eslint@8.56.0):
|
||||
/eslint-config-prettier@9.1.0(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
eslint: '>=7.0.0'
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
dev: true
|
||||
|
||||
/eslint-filtered-fix@0.3.0(eslint@8.56.0):
|
||||
/eslint-filtered-fix@0.3.0(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-UMHOza9epEn9T+yVT8RiCFf0JdALpVzmoH62Ez/zvxM540IyUNAkr7aH2Frkv6zlm9a/gbmq/sc7C4SvzZQXcA==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
eslint: '>=7.0.0'
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
optionator: 0.9.3
|
||||
dev: true
|
||||
|
||||
@@ -4913,7 +4945,7 @@ packages:
|
||||
text-table: 0.2.0
|
||||
dev: true
|
||||
|
||||
/eslint-nibble@8.1.0(eslint@8.56.0):
|
||||
/eslint-nibble@8.1.0(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-x9H/1oeuKdC0HsaWeBarOryqNLC+7QZfAZIAP0HnGcmiiPktFIQq/D0e+iiCSyqYLSaui3UwvH56sXMrf5oQhw==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
hasBin: true
|
||||
@@ -4922,36 +4954,36 @@ packages:
|
||||
dependencies:
|
||||
'@ianvs/eslint-stats': 2.0.0
|
||||
chalk: 4.1.2
|
||||
eslint: 8.56.0
|
||||
eslint-filtered-fix: 0.3.0(eslint@8.56.0)
|
||||
eslint: 8.57.0
|
||||
eslint-filtered-fix: 0.3.0(eslint@8.57.0)
|
||||
eslint-formatter-friendly: 7.0.0
|
||||
eslint-summary: 1.0.0
|
||||
inquirer: 8.2.6
|
||||
optionator: 0.9.3
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-es-x@7.5.0(eslint@8.56.0):
|
||||
/eslint-plugin-es-x@7.5.0(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: '>=8'
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
'@eslint-community/regexpp': 4.8.0
|
||||
eslint: 8.56.0
|
||||
eslint-compat-utils: 0.1.2(eslint@8.56.0)
|
||||
eslint: 8.57.0
|
||||
eslint-compat-utils: 0.1.2(eslint@8.57.0)
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-n@16.6.2(eslint@8.56.0):
|
||||
/eslint-plugin-n@16.6.2(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
peerDependencies:
|
||||
eslint: '>=7.0.0'
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
builtins: 5.0.1
|
||||
eslint: 8.56.0
|
||||
eslint-plugin-es-x: 7.5.0(eslint@8.56.0)
|
||||
eslint: 8.57.0
|
||||
eslint-plugin-es-x: 7.5.0(eslint@8.57.0)
|
||||
get-tsconfig: 4.7.0
|
||||
globals: 13.24.0
|
||||
ignore: 5.2.4
|
||||
@@ -4962,7 +4994,7 @@ packages:
|
||||
semver: 7.5.4
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-prettier@5.1.3(@types/eslint@8.56.2)(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.5):
|
||||
/eslint-plugin-prettier@5.1.3(@types/eslint@8.56.3)(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5):
|
||||
resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
@@ -4976,27 +5008,27 @@ packages:
|
||||
eslint-config-prettier:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/eslint': 8.56.2
|
||||
eslint: 8.56.0
|
||||
eslint-config-prettier: 9.1.0(eslint@8.56.0)
|
||||
'@types/eslint': 8.56.3
|
||||
eslint: 8.57.0
|
||||
eslint-config-prettier: 9.1.0(eslint@8.57.0)
|
||||
prettier: 3.2.5
|
||||
prettier-linter-helpers: 1.0.0
|
||||
synckit: 0.8.6
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-unicorn@51.0.1(eslint@8.56.0):
|
||||
/eslint-plugin-unicorn@51.0.1(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==}
|
||||
engines: {node: '>=16'}
|
||||
peerDependencies:
|
||||
eslint: '>=8.56.0'
|
||||
dependencies:
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
'@eslint/eslintrc': 2.1.4
|
||||
ci-info: 4.0.0
|
||||
clean-regexp: 1.0.0
|
||||
core-js-compat: 3.35.0
|
||||
eslint: 8.56.0
|
||||
eslint: 8.57.0
|
||||
esquery: 1.5.0
|
||||
indent-string: 4.0.0
|
||||
is-builtin-module: 3.2.1
|
||||
@@ -5011,15 +5043,15 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-yml@1.12.2(eslint@8.56.0):
|
||||
/eslint-plugin-yml@1.12.2(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-hvS9p08FhPT7i/ynwl7/Wt7ke7Rf4P2D6fT8lZlL43peZDTsHtH2A0SIFQ7Kt7+mJ6if6P+FX3iJhMkdnxQwpg==}
|
||||
engines: {node: ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: '>=6.0.0'
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
eslint-compat-utils: 0.4.1(eslint@8.56.0)
|
||||
eslint: 8.57.0
|
||||
eslint-compat-utils: 0.4.1(eslint@8.57.0)
|
||||
lodash: 4.17.21
|
||||
natural-compare: 1.4.0
|
||||
yaml-eslint-parser: 1.2.2
|
||||
@@ -5048,16 +5080,16 @@ packages:
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/eslint@8.56.0:
|
||||
resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
|
||||
/eslint@8.57.0:
|
||||
resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
'@eslint-community/regexpp': 4.8.0
|
||||
'@eslint/eslintrc': 2.1.4
|
||||
'@eslint/js': 8.56.0
|
||||
'@humanwhocodes/config-array': 0.11.13
|
||||
'@eslint/js': 8.57.0
|
||||
'@humanwhocodes/config-array': 0.11.14
|
||||
'@humanwhocodes/module-importer': 1.0.1
|
||||
'@nodelib/fs.walk': 1.2.8
|
||||
'@ungap/structured-clone': 1.2.0
|
||||
@@ -5076,7 +5108,7 @@ packages:
|
||||
file-entry-cache: 6.0.1
|
||||
find-up: 5.0.0
|
||||
glob-parent: 6.0.2
|
||||
globals: 13.21.0
|
||||
globals: 13.24.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.2.4
|
||||
imurmurhash: 0.1.4
|
||||
@@ -6013,6 +6045,16 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/http-proxy-agent@7.0.2:
|
||||
resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
|
||||
engines: {node: '>= 14'}
|
||||
dependencies:
|
||||
agent-base: 7.1.0
|
||||
debug: 4.3.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/http-signature@1.2.0:
|
||||
resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
|
||||
engines: {node: '>=0.8', npm: '>=1.3.7'}
|
||||
@@ -8528,10 +8570,6 @@ packages:
|
||||
is-extendable: 0.1.1
|
||||
dev: false
|
||||
|
||||
/mkdirp-classic@0.5.3:
|
||||
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
|
||||
dev: false
|
||||
|
||||
/mkdirp@1.0.4:
|
||||
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -8604,8 +8642,8 @@ packages:
|
||||
lower-case: 1.1.4
|
||||
dev: false
|
||||
|
||||
/nock@13.5.1:
|
||||
resolution: {integrity: sha512-+s7b73fzj5KnxbKH4Oaqz07tQ8degcMilU4rrmnKvI//b0JMBU4wEXFQ8zqr+3+L4eWSfU3H/UoIVGUV0tue1Q==}
|
||||
/nock@13.5.3:
|
||||
resolution: {integrity: sha512-2NlGmHIK2rTeyy7UaY1ZNg0YZfEJMxghXgZi0b4DBsUyoDNTTxZeCSG1nmirAWF44RkkoV8NnegLVQijgVapNQ==}
|
||||
engines: {node: '>= 10.13'}
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
@@ -9218,13 +9256,13 @@ packages:
|
||||
engines: {node: '>= 8'}
|
||||
dev: true
|
||||
|
||||
/proxy-agent@6.3.1:
|
||||
resolution: {integrity: sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==}
|
||||
/proxy-agent@6.4.0:
|
||||
resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
|
||||
engines: {node: '>= 14'}
|
||||
dependencies:
|
||||
agent-base: 7.1.0
|
||||
debug: 4.3.4
|
||||
http-proxy-agent: 7.0.0
|
||||
http-proxy-agent: 7.0.2
|
||||
https-proxy-agent: 7.0.4
|
||||
lru-cache: 7.18.3
|
||||
pac-proxy-agent: 7.0.1
|
||||
@@ -9272,15 +9310,15 @@ packages:
|
||||
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
/puppeteer-core@22.0.0:
|
||||
resolution: {integrity: sha512-S3s91rLde0A86PWVeNY82h+P0fdS7CTiNWAicCVH/bIspRP4nS2PnO5j+VTFqCah0ZJizGzpVPAmxVYbLxTc9w==}
|
||||
/puppeteer-core@22.2.0:
|
||||
resolution: {integrity: sha512-rxLM860FP05CxCPAn6dwY0KnVhbnogsXu4XORb+2hb/va69v7R1VdJWLMGHd7EE5wfpT8oFZ7Q6NN85OhOtV9Q==}
|
||||
engines: {node: '>=18'}
|
||||
dependencies:
|
||||
'@puppeteer/browsers': 2.0.0
|
||||
chromium-bidi: 0.5.8(devtools-protocol@0.0.1232444)
|
||||
'@puppeteer/browsers': 2.1.0
|
||||
chromium-bidi: 0.5.9(devtools-protocol@0.0.1249869)
|
||||
cross-fetch: 4.0.0
|
||||
debug: 4.3.4
|
||||
devtools-protocol: 0.0.1232444
|
||||
devtools-protocol: 0.0.1249869
|
||||
ws: 8.16.0
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
@@ -9302,7 +9340,7 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
puppeteer-extra: 3.3.6(puppeteer@22.0.0)
|
||||
puppeteer-extra: 3.3.6(puppeteer@22.2.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:
|
||||
@@ -9323,7 +9361,7 @@ packages:
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
fs-extra: 10.1.0
|
||||
puppeteer-extra: 3.3.6(puppeteer@22.0.0)
|
||||
puppeteer-extra: 3.3.6(puppeteer@22.2.0)
|
||||
puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6)
|
||||
rimraf: 3.0.2
|
||||
transitivePeerDependencies:
|
||||
@@ -9344,7 +9382,7 @@ packages:
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
deepmerge: 4.3.1
|
||||
puppeteer-extra: 3.3.6(puppeteer@22.0.0)
|
||||
puppeteer-extra: 3.3.6(puppeteer@22.2.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:
|
||||
@@ -9366,12 +9404,12 @@ packages:
|
||||
'@types/debug': 4.1.8
|
||||
debug: 4.3.4
|
||||
merge-deep: 3.0.3
|
||||
puppeteer-extra: 3.3.6(puppeteer@22.0.0)
|
||||
puppeteer-extra: 3.3.6(puppeteer@22.2.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/puppeteer-extra@3.3.6(puppeteer@22.0.0):
|
||||
/puppeteer-extra@3.3.6(puppeteer@22.2.0):
|
||||
resolution: {integrity: sha512-rsLBE/6mMxAjlLd06LuGacrukP2bqbzKCLzV1vrhHFavqQE/taQ2UXv3H5P0Ls7nsrASa+6x3bDbXHpqMwq+7A==}
|
||||
engines: {node: '>=8'}
|
||||
peerDependencies:
|
||||
@@ -9389,20 +9427,20 @@ packages:
|
||||
'@types/debug': 4.1.8
|
||||
debug: 4.3.4
|
||||
deepmerge: 4.3.1
|
||||
puppeteer: 22.0.0(typescript@5.3.3)
|
||||
puppeteer: 22.2.0(typescript@5.3.3)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/puppeteer@22.0.0(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-zYVnjwJngnSB4dbkWp7DHFSIc3nqHvZzrdHyo9+ugV1nq1Lm8obOMcmCFaGfR3PJs0EmYNz+/skBeO45yvASCQ==}
|
||||
/puppeteer@22.2.0(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-0Ax7zeqqbQL6Zcpo1WAvrqWQAnGsLB4tmQUUwsb5Cfo05XaQ78LWUUjaO4um7qaddKpZfk0vXlGcRVwtedpWfg==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
'@puppeteer/browsers': 2.0.0
|
||||
'@puppeteer/browsers': 2.1.0
|
||||
cosmiconfig: 9.0.0(typescript@5.3.3)
|
||||
puppeteer-core: 22.0.0
|
||||
puppeteer-core: 22.2.0
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- encoding
|
||||
@@ -9455,6 +9493,7 @@ packages:
|
||||
|
||||
/queue-tick@1.0.1:
|
||||
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
|
||||
/quick-format-unescaped@4.0.4:
|
||||
@@ -9929,8 +9968,8 @@ packages:
|
||||
/safer-buffer@2.1.2:
|
||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||
|
||||
/sanitize-html@2.11.0:
|
||||
resolution: {integrity: sha512-BG68EDHRaGKqlsNjJ2xUB7gpInPA8gVx/mvjO743hZaeMCZ2DwzW7xvsqZ+KNU4QKwj86HJ3uu2liISf2qBBUA==}
|
||||
/sanitize-html@2.12.1:
|
||||
resolution: {integrity: sha512-Plh+JAn0UVDpBRP/xEjsk+xDCoOvMBwQUf/K+/cBAVuTbtX8bj2VB7S1sL1dssVpykqp0/KPSesHrqXtokVBpA==}
|
||||
dependencies:
|
||||
deepmerge: 4.3.1
|
||||
escape-string-regexp: 4.0.0
|
||||
@@ -9975,6 +10014,14 @@ packages:
|
||||
lru-cache: 6.0.0
|
||||
dev: true
|
||||
|
||||
/semver@7.6.0:
|
||||
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
lru-cache: 6.0.0
|
||||
dev: false
|
||||
|
||||
/set-blocking@2.0.0:
|
||||
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
|
||||
dev: true
|
||||
@@ -10441,12 +10488,14 @@ packages:
|
||||
tslib: 2.6.2
|
||||
dev: true
|
||||
|
||||
/tar-fs@3.0.4:
|
||||
resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==}
|
||||
/tar-fs@3.0.5:
|
||||
resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==}
|
||||
dependencies:
|
||||
mkdirp-classic: 0.5.3
|
||||
pump: 3.0.0
|
||||
tar-stream: 3.1.6
|
||||
optionalDependencies:
|
||||
bare-fs: 2.2.0
|
||||
bare-path: 2.1.0
|
||||
dev: false
|
||||
|
||||
/tar-stream@3.1.6:
|
||||
|
||||
@@ -116,6 +116,12 @@
|
||||
|
||||
<Route author="gkkeys" path="/hexo/fluid/:url" example="/hexo/fluid/blog.tonyzhao.xyz" paramsDesc={['the blog URL without the protocol (http:// and https://)']} configRequired="1" />
|
||||
|
||||
## HiFeng'Blog {#hifeng-blog}
|
||||
|
||||
### 博客 {#hifeng-blog-bo-ke}
|
||||
|
||||
<Route author="aneasystone" example="/hicairo" path="/hicairo" />
|
||||
|
||||
## Ian Spriggss {#ian-spriggss}
|
||||
|
||||
### Category {#ian-spriggss-category}
|
||||
@@ -396,6 +402,12 @@
|
||||
|
||||
<Route author="LogicJake" example="/security/pulses" path="/security/pulses" anticrawler="1" />
|
||||
|
||||
## 免費資源網路社群 {#mian-fei-zi-yuan-wang-lu-she-qun}
|
||||
|
||||
### 博客 {#mian-fei-zi-yuan-wang-lu-she-qun-bo-ke}
|
||||
|
||||
<Route author="cnkmmk" example="/free" path="/free" />
|
||||
|
||||
## 十年之约 {#shi-nian-zhi-yue}
|
||||
|
||||
### 专题展示 - 文章 {#shi-nian-zhi-yue-zhuan-ti-zhan-shi-wen-zhang}
|
||||
|
||||
@@ -1199,6 +1199,16 @@ Specify options (in the format of query string) in parameter `routeParams` param
|
||||
| xxkd | gzdt | ztfx |
|
||||
</Route>
|
||||
|
||||
## 中国兴业银行 {#zhong-guo-xing-ye-yin-hang}
|
||||
|
||||
### 外汇牌价 {#zhong-guo-xing-ye-yin-hang-wai-hui-pai-jia}
|
||||
|
||||
<Route author="Qixingchen" example="/cib/whpj/xh?filter_title=USD" path="/cib/whpj/:format?" paramsDesc={['输出的标题格式,默认为标题 + 所有价格。短格式仅包含货币名称。']}>
|
||||
| 短格式 | 现汇买卖 | 现钞买卖 | 现汇买入 | 现汇卖出 | 现钞买入 | 现钞卖出 |
|
||||
| ------ | -------- | -------- | -------- | -------- | -------- | -------- |
|
||||
| short | xh | xc | xhmr | xhmc | xcmr | xcmc |
|
||||
</Route>
|
||||
|
||||
## 中国银行 {#zhong-guo-yin-hang}
|
||||
|
||||
### 外汇牌价 {#zhong-guo-yin-hang-wai-hui-pai-jia}
|
||||
|
||||
@@ -496,7 +496,7 @@ Logseq 开发团队已经放弃了 [旧网站](https://logseq.com/blog)。
|
||||
|
||||
### Changelog {#remnote-changelog}
|
||||
|
||||
<Route author="TonyRL" example="/remnote/changelog" path="/remnote/changelog" radar="1" notOperational="1" />
|
||||
<Route author="TonyRL amakerlife" example="/remnote/changelog" path="/remnote/changelog" radar="1" />
|
||||
|
||||
## RescueTime {#rescuetime}
|
||||
|
||||
|
||||
@@ -242,6 +242,16 @@
|
||||
|
||||
<Route author="junbaor" example="/enclavebooks/collection/103702" path="/enclavebooks/collection/:uid" paramsDesc={['用户ID, 自行抓包寻找']} />
|
||||
|
||||
## 晋江文学城 {#jin-jiang-wen-xue-cheng}
|
||||
|
||||
### 作者最新作品 {#jin-jiang-wen-xue-cheng-zuo-zhe-zui-xin-zuo-pin}
|
||||
|
||||
<Route author="nczitzk" example="/jjwxc/author/4364484" path="/jjwxc/author/:id?" paramsDesc={['作者 id,可在对应作者页中找到']} radar="1" />
|
||||
|
||||
### 作品 {#jin-jiang-wen-xue-cheng-zuo-pin}
|
||||
|
||||
<Route author="nczitzk" example="/jjwxc/book/7013024" path="/jjwxc/book/:id?" paramsDesc={['作品 id,可在对应作品页中找到']} radar="1" />
|
||||
|
||||
## 禁忌书屋 {#jin-ji-shu-wu}
|
||||
|
||||
### 首页 {#jin-ji-shu-wu-shou-ye}
|
||||
@@ -279,6 +289,28 @@
|
||||
|
||||
<Route author="misakicoca" path="/linovelib/novel/:id" example="/linovelib/novel/2547" paramsDesc={['小说 id,对应书架开始阅读 URL 中找到']} anticrawler="1" />
|
||||
|
||||
## 明月中文网 {#ming-yue-zhong-wen-wang}
|
||||
|
||||
### 分类 {#ming-yue-zhong-wen-wang-fen-lei}
|
||||
|
||||
<Route author="nczitzk" example="/56kog/class/1_1" path="/56kog/class/:category?" paramsDesc={['分类,见下表,默认为玄幻魔法']} radar="1">
|
||||
| [玄幻魔法](https://www.56kog.com/class/1_1.html) | [武侠修真](https://www.56kog.com/class/2_1.html) | [历史军事](https://www.56kog.com/class/4_1.html) | [侦探推理](https://www.56kog.com/class/5_1.html) | [网游动漫](https://www.56kog.com/class/6_1.html) |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| 1\_1 | 2\_1 | 4\_1 | 5\_1 | 6\_1 |
|
||||
|
||||
| [恐怖灵异](https://www.56kog.com/class/8_1.html) | [都市言情](https://www.56kog.com/class/3_1.html) | [科幻](https://www.56kog.com/class/7_1.html) | [女生小说](https://www.56kog.com/class/9_1.html) | [其他](https://www.56kog.com/class/10_1.html) |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | -------------------------------------------- | ------------------------------------------------ | --------------------------------------------- |
|
||||
| 8\_1 | 3\_1 | 7\_1 | 9\_1 | 10\_1 |
|
||||
</Route>
|
||||
|
||||
### 榜单 {#ming-yue-zhong-wen-wang-bang-dan}
|
||||
|
||||
<Route author="nczitzk" example="/56kog/top/weekvisit" path="/56kog/top/:category?" paramsDesc={['分类,见下表,默认为周点击榜']} radar="1">
|
||||
| [周点击榜](https://www.56kog.com/top/weekvisit.html) | [总收藏榜](https://www.56kog.com/top/goodnum.html) | [最新 入库](https://www.56kog.com/top/postdate.html) |
|
||||
| ---------------------------------------------------- | -------------------------------------------------- | ---------------------------------------------------- |
|
||||
| weekvisit | goodnum | postdate |
|
||||
</Route>
|
||||
|
||||
## 起点 {#qi-dian}
|
||||
|
||||
### 章节 {#qi-dian-zhang-jie}
|
||||
|
||||
@@ -50,6 +50,12 @@
|
||||
|
||||
<Route author="ytno1" example="/dblp/knowledge%20tracing" path="/dblp/:field" paramsDesc={['Research field']} radar="1" />
|
||||
|
||||
## Howtoforge Linux Tutorials {#howtoforge-linux-tutorials}
|
||||
|
||||
### tutorials {#howtoforge-linux-tutorials-tutorials}
|
||||
|
||||
<Route author="cnkmmk" example="/howtoforge" path="/howtoforge" />
|
||||
|
||||
## iciba {#iciba}
|
||||
|
||||
### Daily English Sentence {#iciba-daily-english-sentence}
|
||||
|
||||
@@ -1701,6 +1701,36 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE\_TL
|
||||
| 1888 | 1887 | 1947 | 1949 | 2011 | 1948 |
|
||||
</Route>
|
||||
|
||||
## 吉首大学 {#ji-shou-da-xue}
|
||||
|
||||
### 通知公告 {#ji-shou-da-xue-tong-zhi-gong-gao}
|
||||
|
||||
<Route author="wenjia03" example="/jsu/notice" path="/jsu/notice" />
|
||||
|
||||
### 计算机科学与工程学院 - 通知公告 {#ji-shou-da-xue-ji-suan-ji-ke-xue-yu-gong-cheng-xue-yuan-tong-zhi-gong-gao}
|
||||
|
||||
<Route author="wenjia03" example="/jsu/rjxy" path="/jsu/rjxy" />
|
||||
|
||||
### 教务处 {#ji-shou-da-xue-jiao-wu-chu}
|
||||
|
||||
<Route author="wenjia03" example="/jsu/jwc/jwdt" path="/jsu/jwc/:types?" paramsDesc={['通知分类 默认为`jwtz`']}>
|
||||
| 教务通知 | 教务动态 |
|
||||
| -------- | -------- |
|
||||
| jwtz | jwdt |
|
||||
</Route>
|
||||
|
||||
### 数学与统计学院 - 通知公告 {#ji-shou-da-xue-shu-xue-yu-tong-ji-xue-yuan-tong-zhi-gong-gao}
|
||||
|
||||
<Route author="wenjia03" example="/jsu/stxy" path="/jsu/stxy" />
|
||||
|
||||
### 创新中心 {#ji-shou-da-xue-chuang-xin-zhong-xin}
|
||||
|
||||
<Route author="wenjia03" example="/cxzx/xkjs" path="/cxzx/:types?" paramsDesc={['通知分类 默认为`xkjs`']}>
|
||||
| 通知公告 | 学科竞赛公告 | 创新项目公告 | 竞赛新闻 | 竞赛通知 |
|
||||
| -------- | ------------ | ------------ | -------- | -------- |
|
||||
| tzgg | xkjs | cxtz | jsxw | jstz |
|
||||
</Route>
|
||||
|
||||
## 暨南大学 {#ji-nan-da-xue}
|
||||
|
||||
### 暨南要闻 {#ji-nan-da-xue-ji-nan-yao-wen}
|
||||
@@ -2199,6 +2229,10 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE\_TL
|
||||
|
||||
<Route author="abc1763613206" example="/qdu/jwc" path="/qdu/jwc" radar="1" anticrawler="1" />
|
||||
|
||||
### 后勤管理处通知 {#qing-dao-da-xue-hou-qin-guan-li-chu-tong-zhi}
|
||||
|
||||
<Route author="abc1763613206" example="/qdu/houqin" path="/qdu/houqin" radar="1" />
|
||||
|
||||
## 清华大学 {#qing-hua-da-xue}
|
||||
|
||||
### 清华大学校内信息发布平台 {#qing-hua-da-xue-qing-hua-da-xue-xiao-nei-xin-xi-fa-bu-ping-tai}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"clsx": "^2.1.0",
|
||||
"markdown-it": "^14.0.0",
|
||||
"meilisearch-docsearch": "^0.6.0",
|
||||
"pinyin-pro": "3.19.5",
|
||||
"pinyin-pro": "3.19.6",
|
||||
"prism-react-renderer": "^2.3.1",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0"
|
||||
@@ -36,7 +36,7 @@
|
||||
"@docusaurus/types": "3.1.1",
|
||||
"@types/markdown-it": "^13.0.7",
|
||||
"@types/mdx-js__react": "^1.5.8",
|
||||
"@types/react": "^18.2.55",
|
||||
"@types/react": "^18.2.58",
|
||||
"@types/react-dom": "^18.2.19",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
|
||||
Generated
+31
-31
@@ -19,10 +19,10 @@ dependencies:
|
||||
version: 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
|
||||
'@docusaurus/preset-classic':
|
||||
specifier: 3.1.1
|
||||
version: 3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)
|
||||
version: 3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)
|
||||
'@mdx-js/react':
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1(@types/react@18.2.55)(react@18.2.0)
|
||||
version: 3.0.1(@types/react@18.2.58)(react@18.2.0)
|
||||
clsx:
|
||||
specifier: ^2.1.0
|
||||
version: 2.1.0
|
||||
@@ -33,8 +33,8 @@ dependencies:
|
||||
specifier: ^0.6.0
|
||||
version: 0.6.0
|
||||
pinyin-pro:
|
||||
specifier: 3.19.5
|
||||
version: 3.19.5
|
||||
specifier: 3.19.6
|
||||
version: 3.19.6
|
||||
prism-react-renderer:
|
||||
specifier: ^2.3.1
|
||||
version: 2.3.1(react@18.2.0)
|
||||
@@ -62,8 +62,8 @@ devDependencies:
|
||||
specifier: ^1.5.8
|
||||
version: 1.5.8
|
||||
'@types/react':
|
||||
specifier: ^18.2.55
|
||||
version: 18.2.55
|
||||
specifier: ^18.2.58
|
||||
version: 18.2.58
|
||||
'@types/react-dom':
|
||||
specifier: ^18.2.19
|
||||
version: 18.2.19
|
||||
@@ -1581,7 +1581,7 @@ packages:
|
||||
resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==}
|
||||
dev: false
|
||||
|
||||
/@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0):
|
||||
/@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.58)(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'
|
||||
@@ -1601,7 +1601,7 @@ packages:
|
||||
'@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0)
|
||||
'@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)
|
||||
'@docsearch/css': 3.5.2
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
algoliasearch: 4.22.1
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
@@ -1941,7 +1941,7 @@ packages:
|
||||
'@docusaurus/react-loadable': 5.5.2(react@18.2.0)
|
||||
'@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0)
|
||||
'@types/history': 4.7.11
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
'@types/react-router-config': 5.0.11
|
||||
'@types/react-router-dom': 5.3.3
|
||||
react: 18.2.0
|
||||
@@ -2333,7 +2333,7 @@ packages:
|
||||
- webpack-cli
|
||||
dev: false
|
||||
|
||||
/@docusaurus/preset-classic@3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3):
|
||||
/@docusaurus/preset-classic@3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-jG4ys/hWYf69iaN/xOmF+3kjs4Nnz1Ay3CjFLDtYa8KdxbmUhArA9HmP26ru5N0wbVWhY+6kmpYhTJpez5wTyg==}
|
||||
engines: {node: '>=18.0'}
|
||||
peerDependencies:
|
||||
@@ -2349,9 +2349,9 @@ packages:
|
||||
'@docusaurus/plugin-google-gtag': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
|
||||
'@docusaurus/plugin-google-tag-manager': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
|
||||
'@docusaurus/plugin-sitemap': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
|
||||
'@docusaurus/theme-classic': 3.1.1(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
|
||||
'@docusaurus/theme-classic': 3.1.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
|
||||
'@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
|
||||
'@docusaurus/theme-search-algolia': 3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)
|
||||
'@docusaurus/theme-search-algolia': 3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)
|
||||
'@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0)
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
@@ -2382,11 +2382,11 @@ packages:
|
||||
peerDependencies:
|
||||
react: '*'
|
||||
dependencies:
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
prop-types: 15.8.1
|
||||
react: 18.2.0
|
||||
|
||||
/@docusaurus/theme-classic@3.1.1(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
|
||||
/@docusaurus/theme-classic@3.1.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-GiPE/jbWM8Qv1A14lk6s9fhc0LhPEQ00eIczRO4QL2nAQJZXkjPG6zaVx+1cZxPFWbAsqSjKe2lqkwF3fGkQ7Q==}
|
||||
engines: {node: '>=18.0'}
|
||||
peerDependencies:
|
||||
@@ -2405,7 +2405,7 @@ packages:
|
||||
'@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1)
|
||||
'@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1)
|
||||
'@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1)
|
||||
'@mdx-js/react': 3.0.1(@types/react@18.2.55)(react@18.2.0)
|
||||
'@mdx-js/react': 3.0.1(@types/react@18.2.58)(react@18.2.0)
|
||||
clsx: 2.1.0
|
||||
copy-text-to-clipboard: 3.2.0
|
||||
infima: 0.2.0-alpha.43
|
||||
@@ -2455,7 +2455,7 @@ packages:
|
||||
'@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1)
|
||||
'@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1)
|
||||
'@types/history': 4.7.11
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
'@types/react-router-config': 5.0.11
|
||||
clsx: 2.1.0
|
||||
parse-numeric-range: 1.3.0
|
||||
@@ -2484,14 +2484,14 @@ packages:
|
||||
- webpack-cli
|
||||
dev: false
|
||||
|
||||
/@docusaurus/theme-search-algolia@3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3):
|
||||
/@docusaurus/theme-search-algolia@3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-tBH9VY5EpRctVdaAhT+b1BY8y5dyHVZGFXyCHgTrvcXQy5CV4q7serEX7U3SveNT9zksmchPyct6i1sFDC4Z5g==}
|
||||
engines: {node: '>=18.0'}
|
||||
peerDependencies:
|
||||
react: ^18.0.0
|
||||
react-dom: ^18.0.0
|
||||
dependencies:
|
||||
'@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)
|
||||
'@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)
|
||||
'@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
|
||||
'@docusaurus/logger': 3.1.1
|
||||
'@docusaurus/plugin-content-docs': 3.1.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
|
||||
@@ -2552,7 +2552,7 @@ packages:
|
||||
dependencies:
|
||||
'@mdx-js/mdx': 3.0.0
|
||||
'@types/history': 4.7.11
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
commander: 5.1.0
|
||||
joi: 17.12.0
|
||||
react: 18.2.0
|
||||
@@ -2577,7 +2577,7 @@ packages:
|
||||
dependencies:
|
||||
'@mdx-js/mdx': 3.0.0
|
||||
'@types/history': 4.7.11
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
commander: 5.1.0
|
||||
joi: 17.12.0
|
||||
react: 18.2.0
|
||||
@@ -2816,14 +2816,14 @@ packages:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
/@mdx-js/react@3.0.1(@types/react@18.2.55)(react@18.2.0):
|
||||
/@mdx-js/react@3.0.1(@types/react@18.2.58)(react@18.2.0):
|
||||
resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==}
|
||||
peerDependencies:
|
||||
'@types/react': '>=16'
|
||||
react: '>=16'
|
||||
dependencies:
|
||||
'@types/mdx': 2.0.10
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
react: 18.2.0
|
||||
dev: false
|
||||
|
||||
@@ -3293,7 +3293,7 @@ packages:
|
||||
/@types/mdx-js__react@1.5.8:
|
||||
resolution: {integrity: sha512-iLQL8JZ4AZ+rpZvGUsQwENffpsSCMLYB8kE6OhGasLmdYn7aSLq53uOvZrKx5FM+hymE2nm08HDfq7tFx02ElA==}
|
||||
dependencies:
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
dev: true
|
||||
|
||||
/@types/mdx@2.0.10:
|
||||
@@ -3347,31 +3347,31 @@ packages:
|
||||
/@types/react-dom@18.2.19:
|
||||
resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==}
|
||||
dependencies:
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
dev: true
|
||||
|
||||
/@types/react-router-config@5.0.11:
|
||||
resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==}
|
||||
dependencies:
|
||||
'@types/history': 4.7.11
|
||||
'@types/react': 18.2.55
|
||||
'@types/react': 18.2.58
|
||||
'@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.55
|
||||
'@types/react': 18.2.58
|
||||
'@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.55
|
||||
'@types/react': 18.2.58
|
||||
|
||||
/@types/react@18.2.55:
|
||||
resolution: {integrity: sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==}
|
||||
/@types/react@18.2.58:
|
||||
resolution: {integrity: sha512-TaGvMNhxvG2Q0K0aYxiKfNDS5m5ZsoIBBbtfUorxdH4NGSXIlYvZxLJI+9Dd3KjeB3780bciLyAb7ylO8pLhPw==}
|
||||
dependencies:
|
||||
'@types/prop-types': 15.7.9
|
||||
'@types/scheduler': 0.16.5
|
||||
@@ -7720,8 +7720,8 @@ packages:
|
||||
engines: {node: '>=8.6'}
|
||||
dev: false
|
||||
|
||||
/pinyin-pro@3.19.5:
|
||||
resolution: {integrity: sha512-cklxUx9S2EBr9N25XgdihSPHLKvwsQ3i3a8YdbtYr56XYMcyRsAH7dS3wdIeRazvg94qcW/3TTu0EKTtiVFXcQ==}
|
||||
/pinyin-pro@3.19.6:
|
||||
resolution: {integrity: sha512-oWb34orr12+DjXf6gtGMB+gIpjRi7DZzyJE66ultbmNzVhpimM/utGtMI8GcbOy/lb26Ph/nogwNYriRPu+SGQ==}
|
||||
dev: false
|
||||
|
||||
/pkg-dir@7.0.0:
|
||||
|
||||
Reference in New Issue
Block a user