chore(deps-dev): bump eslint-plugin-unicorn from 61.0.2 to 62.0.0 (#20381)

* chore(deps-dev): bump eslint-plugin-unicorn from 61.0.2 to 62.0.0

Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 61.0.2 to 62.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v61.0.2...v62.0.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
  dependency-version: 62.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* style: fix unicorn/prefer-string-raw

* style: fix unicorn/no-useless-collection-argument

* style: fix unicorn/no-immediate-mutation

* style: fix unicorn/no-immediate-mutation

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
dependabot[bot]
2025-10-28 01:26:56 +08:00
committed by GitHub
parent d7366764e3
commit 52c18b7f25
26 changed files with 141 additions and 233 deletions
+4 -8
View File
@@ -54,7 +54,7 @@ async function handler(ctx) {
let apiUrl = getApiUrl();
order = time === 'a' ? order : `${order}_${time}`;
apiUrl = `${apiUrl}/search?search_query=${keyword}&o=${order}`;
let apiResult = await processApiItems(apiUrl);
const apiResult = await processApiItems(apiUrl);
let filteredItemsByCategory = apiResult.content;
// Filter items by category if not 'all'
if (category !== 'all') {
@@ -64,13 +64,9 @@ async function handler(ctx) {
const results = await Promise.all(
filteredItemsByCategory.map((item) =>
cache.tryGet(`18comic:search:${item.id}`, async () => {
const result = {};
result.title = item.name;
result.link = `${rootUrl}/album/${item.id}`;
result.guid = `18comic:/album/${item.id}`;
result.updated = parseDate(item.update_at);
apiUrl = `${getApiUrl()}/album?id=${item.id}`;
apiResult = await processApiItems(apiUrl);
const result = { title: item.name, link: `${rootUrl}/album/${item.id}`, guid: `18comic:/album/${item.id}`, updated: parseDate(item.update_at) };
const apiUrl = `${getApiUrl()}/album?id=${item.id}`;
const apiResult = await processApiItems(apiUrl);
result.pubDate = new Date(apiResult.addtime * 1000);
result.category = apiResult.tags.map((tag) => tag);
result.author = apiResult.author.map((a) => a).join(', ');
+10 -9
View File
@@ -39,15 +39,16 @@ async function handler() {
const list = $('.a-row.cs-help-landing-section.help-display-cond')
.toArray()
.map((item) => {
const data = {};
data.title = $(item).find('.sectiontitle').text();
data.link = $(item).find('a').eq(0).attr('href');
data.version = $(item).find('li').first().text();
data.website = `${url}?nodeId=${nodeIdValue}`;
data.description = $(item)
.find('.a-column.a-span8')
.html()
.replaceAll(/[\t\n]/g, '');
const data = {
title: $(item).find('.sectiontitle').text(),
link: $(item).find('a').eq(0).attr('href'),
version: $(item).find('li').first().text(),
website: `${url}?nodeId=${nodeIdValue}`,
description: $(item)
.find('.a-column.a-span8')
.html()
.replaceAll(/[\t\n]/g, ''),
};
return data;
});
return {
+10 -8
View File
@@ -48,14 +48,16 @@ async function handler() {
items = items.filter((item) => item.availableSizes.length !== 0);
const list = items.map((item) => {
const data = {};
data.title = item.displayTitle;
data.link = item.pdpLink.url;
data.imgUrl = JSON.parse(item.imageUrls).front;
data.availableSizes = item.availableSizes;
data.color = item.color;
data.originalPrice = getUSDPrice(item.originalPrice);
data.regearPrice = item.priceRange[0] === item.priceRange[1] ? getUSDPrice(item.priceRange[0]) : `${getUSDPrice(item.priceRange[0])} - ${getUSDPrice(item.priceRange[1])}`;
const data = {
title: item.displayTitle,
link: item.pdpLink.url,
imgUrl: JSON.parse(item.imageUrls).front,
availableSizes: item.availableSizes,
color: item.color,
originalPrice: getUSDPrice(item.originalPrice),
regearPrice: item.priceRange[0] === item.priceRange[1] ? getUSDPrice(item.priceRange[0]) : `${getUSDPrice(item.priceRange[0])} - ${getUSDPrice(item.priceRange[1])}`,
description: '',
};
data.description = art(path.join(__dirname, 'templates/regear-product-description.art'), {
data,
});
+1 -1
View File
@@ -76,7 +76,7 @@ export const handler = async (ctx) => {
item.title = title;
item.description = description;
item.pubDate = parseDate(data.ctime, 'X');
item.category = [...new Set(data.subject?.flatMap((s) => [s.name, ...(s.subjectCategory?.flatMap((c) => [c.columnName || [], c.name || []]) ?? [])]) ?? [])].filter(Boolean);
item.category = [...new Set(data.subject?.flatMap((s) => [s.name, ...(s.subjectCategory?.flatMap((c) => [c.columnName || [], c.name || []]) ?? [])]))].filter(Boolean);
item.author = data.author?.name ?? item.author;
item.guid = guid;
item.id = guid;
+1 -1
View File
@@ -20,7 +20,7 @@ const formatDate = (date, format) => dayjs(date).format(format);
const addFilters = (url, filters) => {
const keys = Object.keys(filters);
const filterStr = keys.map((k) => `/${k}/${filters[k]}`).join('');
const newUrl = url.replaceAll(new RegExp(`(/${keys.join(String.raw`/\w+|/`)}/\\w+)`, 'g'), '');
const newUrl = url.replaceAll(new RegExp(String.raw`(/${keys.join(String.raw`/\w+|/`)}/\w+)`, 'g'), '');
return `${newUrl}${/=/.test(newUrl) ? '' : '/='}${filterStr}`;
};
+1 -1
View File
@@ -49,7 +49,7 @@ async function handler(ctx) {
.map((item) => {
item = $(item);
const regExp = new RegExp(`\\/sgcc\\/${category}\\/\\.\\.\\.`);
const regExp = new RegExp(String.raw`\/sgcc\/${category}\/\.\.\.`);
const link = new URL(`${category}/${item.prop('href').replace(/\.\//, '')}`, currentUrl).href.replace(regExp, '');
return {
+16 -14
View File
@@ -63,24 +63,26 @@ async function handler(ctx) {
.map((thing) => {
thing = $(thing);
const item = {};
const item = {
guid: thing.attr('id'),
title: thing.find('.titleline').children('a').text(),
category: thing.find('.sitestr').text(),
author: thing.next().find('.hnuser').text(),
pubDate: parseDate(thing.find('.age').attr('title') ?? thing.next().find('.age').attr('title')),
item.guid = thing.attr('id');
item.title = thing.find('.titleline').children('a').text();
item.category = thing.find('.sitestr').text();
item.author = thing.next().find('.hnuser').text();
item.pubDate = parseDate(thing.find('.age').attr('title') ?? thing.next().find('.age').attr('title'));
link: '',
origin: thing.find('.titleline').children('a').attr('href'),
onStory: thing.find('.onstory').text().slice(2),
comments: thing.next().find('a').last().text().split(' comment')[0],
upvotes: thing.next().find('.score').text().split(' point')[0],
currentComment: thing.find('.comment').text(),
description: '',
};
item.link = `${rootUrl}/item?id=${item.guid}`;
item.origin = thing.find('.titleline').children('a').attr('href');
item.onStory = thing.find('.onstory').text().slice(2);
item.comments = thing.next().find('a').last().text().split(' comment')[0];
item.upvotes = thing.next().find('.score').text().split(' point')[0];
item.currentComment = thing.find('.comment').text();
item.guid = type === 'sources' ? item.guid : `${item.guid}${item.comments === 'discuss' ? '' : `-${item.comments}`}`;
item.description = `<a href="${item.link}">Comments on Hacker News</a> | <a href="${item.origin}">Source</a>`;
return item;
+1 -1
View File
@@ -76,7 +76,7 @@ async function handler(ctx) {
};
});
const title = cat ? `黑胶\\彩胶系列 - ${$('.page-title').text().trim()}` : String.raw`黑胶\\彩胶系列 - HKU Shop 环球唱片网店`;
const title = cat ? `黑胶彩胶系列 - ${$('.page-title').text().trim()}` : '黑胶彩胶系列 - HKU Shop 环球唱片网店';
return {
title,
+1 -1
View File
@@ -53,7 +53,7 @@ export const handler = async (ctx: Context): Promise<Data> => {
const language = $('html').attr('lang') ?? 'ja';
const postIds: number[] = [];
const regExp = new RegExp(`^${baseUrl.replaceAll(/[.*+?^${}()|[\]\\]/g, String.raw`\$&`)}/?(?:[a-zA-Z0-9-]+/)*\\?p=\\d+$`);
const regExp = new RegExp(String.raw`^${baseUrl.replaceAll(/[.*+?^${}()|[\]\\]/g, String.raw`\$&`)}/?(?:[a-zA-Z0-9-]+/)*\?p=\d+$`);
for (const item of response.slice(0, limit)) {
const linkUrl: string | undefined = item.link;
+3 -4
View File
@@ -81,13 +81,12 @@ async function handler(ctx) {
author: post.author,
pubDate: new Date(post.created_at * 1e3).toUTCString(),
description: (() => {
const result: string[] = [];
result.push(
const result: string[] = [
`<img src="${post.sample_url}" />`,
`<p>Rating: ${post.rating}</p><p>Score: ${post.score}</p>`,
...(post.source ? [`<a href="${post.source}">Source</a>`] : []),
...(post.parent_id ? [`<a href="${baseUrl}/post/show/${post.parent_id}">Parent</a>`] : [])
);
...(post.parent_id ? [`<a href="${baseUrl}/post/show/${post.parent_id}">Parent</a>`] : []),
];
return result.join('');
})(),
media: {
+10 -5
View File
@@ -92,11 +92,16 @@ async function handler(ctx) {
const post = e.post;
const creator = e.creator;
const counts = e.counts;
const item = {};
item.title = post.name;
item.author = creator.name;
item.pubDate = parseDate(post.published);
item.link = post.ap_id;
const item = {
title: post.name,
author: creator.name,
pubDate: parseDate(post.published),
link: post.ap_id,
description: '',
comments: 0,
upvotes: 0,
downvotes: 0,
};
const url = post.url;
const urlContent = url ? `<p><a href="${url}">${url}</a></p>` : '';
const body = post.body ? md.render(post.body) : '';
+7 -8
View File
@@ -104,16 +104,15 @@ async function handler(ctx: Context): Promise<Data> {
pubDate: parseDate(response.onlineTime),
link,
image: response.cover,
description:
'zhTextList' in response && 'enTextList' in response
? art(templatePath, {
zh: response.zhTextList,
en: response.enTextList,
})
: response.content,
};
dataItem.description =
'zhTextList' in response && 'enTextList' in response
? art(templatePath, {
zh: response.zhTextList,
en: response.enTextList,
})
: response.content;
if ('paperList' in response) {
const { doi, authors } = response.paperList[0];
dataItem.doi = doi;
+6 -5
View File
@@ -46,11 +46,12 @@ async function handler(ctx) {
}
const items = response.data.map((obj) => {
const data = {};
data.date = obj.date_gmt;
data.link = obj.link;
data.featuredMediaLink = obj._links['wp:featuredmedia'][0].href;
data.title = obj.title.rendered;
const data = {
date: obj.date_gmt,
link: obj.link,
featuredMediaLink: obj._links['wp:featuredmedia'][0].href,
title: obj.title.rendered,
};
const $ = load(obj.content.rendered);
const content = $('.vk-att');
content.find('img[src="https://magazinelib.com/wp-includes/images/media/default.png"]').remove();
+1 -2
View File
@@ -138,9 +138,8 @@ async function handler(ctx) {
pagelimit = 1;
}
// 构造网页数据的对应数组
const responseList = [];
const responseList = [response];
// 将第一页的数据加入数组
responseList.push(response);
// 创建不含第一页链接的数组
const Links = [];
for (let i = 1; i < pagelimit; i++) {
+1 -1
View File
@@ -95,7 +95,7 @@ export const handler = async (ctx: Context): Promise<Data> => {
const categories: string[] = [...new Set(categoryEls.map((el) => $$(el).text()).filter(Boolean))];
const authorEls: Element[] = $$('div.article-box__meta div.item-list div.item a')
.toArray()
.filter((i) => ($$(i).attr('href') ? new RegExp(`^${userHostRegex}/u/\\d+$`).test($$(i).attr('href') as string) : false));
.filter((i) => ($$(i).attr('href') ? new RegExp(String.raw`^${userHostRegex}/u/\d+$`).test($$(i).attr('href') as string) : false));
const authors: DataItem['author'] = authorEls.map((authorEl) => {
const $authorEl: Cheerio<Element> = $$(authorEl);
+6 -4
View File
@@ -55,19 +55,21 @@ async function handler(ctx) {
const list = $('.product')
.toArray()
.map((element) => {
const data = {};
data.title = $(element).find('.product-tile').data('tealium').product_name[0];
const data = {
title: $(element).find('.product-tile').data('tealium').product_name[0],
link: host + '/' + $(element).find('[itemprop="url"]').attr('href'),
description: '',
category: $(element).find('[itemprop="category"]').attr('content'),
};
let imgUrl = new URL($(element).find('[itemprop="image"]').attr('content'));
imgUrl = extractSfrmUrl(imgUrl);
const price = $(element).find('[itemprop="price"]').eq(0).text();
data.link = host + '/' + $(element).find('[itemprop="url"]').attr('href');
data.description =
price +
art(path.join(__dirname, 'templates/product-description.art'), {
imgUrl,
});
data.category = $(element).find('[itemprop="category"]').attr('content');
return data;
});
return {
+4 -3
View File
@@ -46,9 +46,10 @@ async function handler(ctx) {
const list = [];
for (const selector of selectors) {
$(selector).each((_, e) => {
const item = {};
item.title = $(e).find('h2 a span').first().text();
item.link = $(e).find('h2 a').first().attr('href');
const item = {
title: $(e).find('h2 a span').first().text(),
link: $(e).find('h2 a').first().attr('href'),
};
list.push(item);
});
}
+1 -3
View File
@@ -48,9 +48,7 @@ async function handler(ctx) {
results = JSON.parse(match[1]).searchResults.results;
}
const list = results.map((item) => {
const data = {};
data.title = item.title;
data.pubDate = item.publicationDate;
const data = { title: item.title, pubDate: item.publicationDate };
const url = item.url;
if (url.startsWith('http')) {
data.url = url;
+30 -30
View File
@@ -50,38 +50,38 @@ function mapToSearchParams(query: string, limit: number): SearchParams {
const searchParams: SearchParams = {
gzip: 5,
lim: limit,
word: setIfExists(params.word),
notword: setIfExists(params.notword),
title: setIfExists(params.title),
ex: setIfExists(params.ex),
keyword: setIfExists(params.keyword),
wname: setIfExists(params.wname),
sasie: setIfExists(params.sasie),
iszankoku: setIfExists(params.iszankoku),
isbl: setIfExists(params.isbl),
isgl: setIfExists(params.isgl),
istensei: setIfExists(params.istensei),
istenni: setIfExists(params.istenni),
stop: setIfExists(params.stop),
notzankoku: setIfExists(params.notzankoku),
notbl: setIfExists(params.notbl),
notgl: setIfExists(params.notgl),
nottensei: setIfExists(params.nottensei),
nottenni: setIfExists(params.nottenni),
minlen: setIfExists(params.minlen),
maxlen: setIfExists(params.maxlen),
type: setIfExists(params.type as NovelTypeParam),
order: setIfExists(params.order as Order),
genre: setIfExists(params.genre as Join<Genre> | Genre),
nocgenre: setIfExists(params.nocgenre as Join<R18Site> | R18Site),
};
searchParams.word = setIfExists(params.word);
searchParams.notword = setIfExists(params.notword);
searchParams.title = setIfExists(params.title);
searchParams.ex = setIfExists(params.ex);
searchParams.keyword = setIfExists(params.keyword);
searchParams.wname = setIfExists(params.wname);
searchParams.sasie = setIfExists(params.sasie);
searchParams.iszankoku = setIfExists(params.iszankoku);
searchParams.isbl = setIfExists(params.isbl);
searchParams.isgl = setIfExists(params.isgl);
searchParams.istensei = setIfExists(params.istensei);
searchParams.istenni = setIfExists(params.istenni);
searchParams.stop = setIfExists(params.stop);
searchParams.notzankoku = setIfExists(params.notzankoku);
searchParams.notbl = setIfExists(params.notbl);
searchParams.notgl = setIfExists(params.notgl);
searchParams.nottensei = setIfExists(params.nottensei);
searchParams.nottenni = setIfExists(params.nottenni);
searchParams.minlen = setIfExists(params.minlen);
searchParams.maxlen = setIfExists(params.maxlen);
searchParams.type = setIfExists(params.type as NovelTypeParam);
searchParams.order = setIfExists(params.order as Order);
searchParams.genre = setIfExists(params.genre as Join<Genre> | Genre);
searchParams.nocgenre = setIfExists(params.nocgenre as Join<R18Site> | R18Site);
if (params.mintime || params.maxtime) {
searchParams.time = `${params.mintime || ''}-${params.maxtime || ''}`;
}
+1 -3
View File
@@ -42,9 +42,7 @@ async function handler(ctx) {
let list = Object.values(data)[0].river.edges;
list = list.filter((item) => !item.node.url.startsWith('https://www.theatlantic.com/photo'));
list = list.map((item) => {
const data = {};
data.link = item.node.url;
data.pubDate = item.node.datePublished;
const data = { link: item.node.url, pubDate: item.node.datePublished };
return data;
});
const items = await getArticleDetails(list);
+1 -4
View File
@@ -67,10 +67,7 @@ async function handler(ctx) {
})
.map(([key]) => key);
const list = filteredKeys.map((key) => {
const item = {};
item.title = data[key].data.data.headline;
item.link = data[key].data.data.url;
item.test = key;
const item = { title: data[key].data.data.headline, link: data[key].data.data.url, test: key };
return item;
});
const items = await pMap(list, (item) => parseArticle(item), { concurrency: 10 });
+1 -2
View File
@@ -72,8 +72,7 @@ async function handler(ctx) {
author: post.author,
pubDate: new Date(post.created_at * 1e3).toUTCString(),
description: (() => {
const result = [`<img src="${post.sample_url}" />`];
result.push(`<p>Rating:${post.rating}</p> <p>Score:${post.score}</p>`);
const result = [`<img src="${post.sample_url}" />`, `<p>Rating:${post.rating}</p> <p>Score:${post.score}</p>`];
if (post.source) {
result.push(`<a href="${post.source}">Source</a>`);
}
+1 -1
View File
@@ -128,7 +128,7 @@ const showTypeMap = {
const showTypeMapReverse = Object.fromEntries(Object.entries(showTypeMap).map(([k, v]) => [v, k]));
class ExtractMetadata {
private static genAssignmentRegExp = (varName: string, valuePattern: string, assignPattern: string) => new RegExp(`\\b${varName}\\s*${assignPattern}\\s*(?<quote>["'])(?<value>${valuePattern})\\k<quote>`, 'mg');
private static genAssignmentRegExp = (varName: string, valuePattern: string, assignPattern: string) => new RegExp(String.raw`\b${varName}\s*${assignPattern}\s*(?<quote>["'])(?<value>${valuePattern})\k<quote>`, 'mg');
private static genExtractFunc = (
varName: string,
+2 -2
View File
@@ -174,7 +174,7 @@
"eslint-nibble": "9.1.1",
"eslint-plugin-n": "17.23.1",
"eslint-plugin-prettier": "5.5.4",
"eslint-plugin-unicorn": "61.0.2",
"eslint-plugin-unicorn": "62.0.0",
"eslint-plugin-yml": "1.19.0",
"fs-extra": "11.3.2",
"globals": "16.4.0",
@@ -196,7 +196,7 @@
"vitest": "2.1.9",
"yaml-eslint-parser": "1.3.0"
},
"packageManager": "pnpm@10.17.1+sha512.17c560fca4867ae9473a3899ad84a88334914f379be46d455cbf92e5cf4b39d34985d452d2583baf19967fa76cb5c17bc9e245529d0b98745721aa7200ecaf7a",
"packageManager": "pnpm@10.19.0+sha512.c9fc7236e92adf5c8af42fd5bf1612df99c2ceb62f27047032f4720b33f8eacdde311865e91c411f2774f618d82f320808ecb51718bfa82c060c4ba7c76a32b8",
"engines": {
"node": ">=22"
},
+20 -112
View File
@@ -383,8 +383,8 @@ importers:
specifier: 5.5.4
version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.38.0(jiti@2.6.1)))(eslint@9.38.0(jiti@2.6.1))(prettier@3.6.2)
eslint-plugin-unicorn:
specifier: 61.0.2
version: 61.0.2(eslint@9.38.0(jiti@2.6.1))
specifier: 62.0.0
version: 62.0.0(eslint@9.38.0(jiti@2.6.1))
eslint-plugin-yml:
specifier: 1.19.0
version: 1.19.0(eslint@9.38.0(jiti@2.6.1))
@@ -559,10 +559,6 @@ packages:
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.27.1':
resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.28.5':
resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
@@ -1412,10 +1408,6 @@ packages:
resolution: {integrity: sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/core@0.15.2':
resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/core@0.16.0':
resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1440,10 +1432,6 @@ packages:
resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/plugin-kit@0.3.5':
resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/plugin-kit@0.4.0':
resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2794,11 +2782,6 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
browserslist@4.25.4:
resolution: {integrity: sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
browserslist@4.27.0:
resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -2855,9 +2838,6 @@ packages:
resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
engines: {node: '>=16'}
caniuse-lite@1.0.30001741:
resolution: {integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==}
caniuse-lite@1.0.30001751:
resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==}
@@ -2913,8 +2893,8 @@ packages:
peerDependencies:
devtools-protocol: '*'
ci-info@4.3.0:
resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==}
ci-info@4.3.1:
resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==}
engines: {node: '>=8'}
city-timezones@1.3.2:
@@ -3022,9 +3002,6 @@ packages:
cookiejar@2.1.4:
resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==}
core-js-compat@3.45.1:
resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==}
core-js-compat@3.46.0:
resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==}
@@ -3301,9 +3278,6 @@ packages:
engines: {node: '>=14'}
hasBin: true
electron-to-chromium@1.5.214:
resolution: {integrity: sha512-TpvUNdha+X3ybfU78NoQatKvQEm1oq3lf2QbnmCEdw+Bd9RuIAY+hJTvq1avzHM0f7EJfnH3vbCnbzKzisc/9Q==}
electron-to-chromium@1.5.240:
resolution: {integrity: sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==}
@@ -3475,11 +3449,11 @@ packages:
eslint-config-prettier:
optional: true
eslint-plugin-unicorn@61.0.2:
resolution: {integrity: sha512-zLihukvneYT7f74GNbVJXfWIiNQmkc/a9vYBTE4qPkQZswolWNdu+Wsp9sIXno1JOzdn6OUwLPd19ekXVkahRA==}
eslint-plugin-unicorn@62.0.0:
resolution: {integrity: sha512-HIlIkGLkvf29YEiS/ImuDZQbP12gWyx5i3C6XrRxMvVdqMroCI9qoVYCoIl17ChN+U89pn9sVwLxhIWj5nEc7g==}
engines: {node: ^20.10.0 || >=21.0.0}
peerDependencies:
eslint: '>=9.29.0'
eslint: '>=9.38.0'
eslint-plugin-yml@1.19.0:
resolution: {integrity: sha512-S+4GbcCWksFKAvFJtf0vpdiCkZZvDJCV4Zsi9ahmYkYOYcf+LRqqzvzkb/ST7vTYV6sFwXOvawzYyL/jFT2nQA==}
@@ -4190,11 +4164,6 @@ packages:
resolution: {integrity: sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==}
engines: {node: '>= 10.16.0'}
jsesc@3.0.2:
resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
engines: {node: '>=6'}
hasBin: true
jsesc@3.1.0:
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
engines: {node: '>=6'}
@@ -4546,10 +4515,6 @@ packages:
resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
min-indent@1.0.1:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'}
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -4682,9 +4647,6 @@ packages:
peerDependencies:
undici: ^6
node-releases@2.0.20:
resolution: {integrity: sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA==}
node-releases@2.0.26:
resolution: {integrity: sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==}
@@ -5105,10 +5067,6 @@ packages:
regjsgen@0.8.0:
resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
regjsparser@0.12.0:
resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
hasBin: true
regjsparser@0.13.0:
resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==}
hasBin: true
@@ -5422,8 +5380,8 @@ packages:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
strip-indent@4.0.0:
resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
strip-indent@4.1.1:
resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==}
engines: {node: '>=12'}
strip-json-comments@3.1.1:
@@ -5788,12 +5746,6 @@ packages:
engines: {node: '>=20.19.0'}
hasBin: true
update-browserslist-db@1.1.3:
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
update-browserslist-db@1.1.4:
resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==}
hasBin: true
@@ -6157,7 +6109,7 @@ snapshots:
'@babel/code-frame@7.27.1':
dependencies:
'@babel/helper-validator-identifier': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
js-tokens: 4.0.0
picocolors: 1.1.1
@@ -6292,8 +6244,6 @@ snapshots:
'@babel/helper-string-parser@7.27.1': {}
'@babel/helper-validator-identifier@7.27.1': {}
'@babel/helper-validator-identifier@7.28.5': {}
'@babel/helper-validator-option@7.27.1': {}
@@ -7140,10 +7090,6 @@ snapshots:
dependencies:
'@eslint/core': 0.16.0
'@eslint/core@0.15.2':
dependencies:
'@types/json-schema': 7.0.15
'@eslint/core@0.16.0':
dependencies:
'@types/json-schema': 7.0.15
@@ -7182,11 +7128,6 @@ snapshots:
'@eslint/object-schema@2.1.7': {}
'@eslint/plugin-kit@0.3.5':
dependencies:
'@eslint/core': 0.15.2
levn: 0.4.1
'@eslint/plugin-kit@0.4.0':
dependencies:
'@eslint/core': 0.16.0
@@ -8660,13 +8601,6 @@ snapshots:
dependencies:
fill-range: 7.1.1
browserslist@4.25.4:
dependencies:
caniuse-lite: 1.0.30001741
electron-to-chromium: 1.5.214
node-releases: 2.0.20
update-browserslist-db: 1.1.3(browserslist@4.25.4)
browserslist@4.27.0:
dependencies:
baseline-browser-mapping: 2.8.20
@@ -8728,8 +8662,6 @@ snapshots:
camelcase@8.0.0: {}
caniuse-lite@1.0.30001741: {}
caniuse-lite@1.0.30001751: {}
caseless@0.12.0: {}
@@ -8811,7 +8743,7 @@ snapshots:
mitt: 3.0.1
zod: 3.25.76
ci-info@4.3.0: {}
ci-info@4.3.1: {}
city-timezones@1.3.2:
dependencies:
@@ -8904,10 +8836,6 @@ snapshots:
cookiejar@2.1.4: {}
core-js-compat@3.45.1:
dependencies:
browserslist: 4.25.4
core-js-compat@3.46.0:
dependencies:
browserslist: 4.27.0
@@ -9161,8 +9089,6 @@ snapshots:
minimatch: 9.0.1
semver: 7.7.3
electron-to-chromium@1.5.214: {}
electron-to-chromium@1.5.240: {}
ellipsize@0.1.0: {}
@@ -9378,15 +9304,15 @@ snapshots:
'@types/eslint': 9.6.1
eslint-config-prettier: 10.1.8(eslint@9.38.0(jiti@2.6.1))
eslint-plugin-unicorn@61.0.2(eslint@9.38.0(jiti@2.6.1)):
eslint-plugin-unicorn@62.0.0(eslint@9.38.0(jiti@2.6.1)):
dependencies:
'@babel/helper-validator-identifier': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
'@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1))
'@eslint/plugin-kit': 0.3.5
'@eslint/plugin-kit': 0.4.0
change-case: 5.4.4
ci-info: 4.3.0
ci-info: 4.3.1
clean-regexp: 1.0.0
core-js-compat: 3.45.1
core-js-compat: 3.46.0
eslint: 9.38.0(jiti@2.6.1)
esquery: 1.6.0
find-up-simple: 1.0.1
@@ -9396,9 +9322,9 @@ snapshots:
jsesc: 3.1.0
pluralize: 8.0.0
regexp-tree: 0.1.27
regjsparser: 0.12.0
semver: 7.7.2
strip-indent: 4.0.0
regjsparser: 0.13.0
semver: 7.7.3
strip-indent: 4.1.1
eslint-plugin-yml@1.19.0(eslint@9.38.0(jiti@2.6.1)):
dependencies:
@@ -10257,8 +10183,6 @@ snapshots:
jsep@1.4.0: {}
jsesc@3.0.2: {}
jsesc@3.1.0: {}
json-bigint@1.0.0:
@@ -10690,8 +10614,6 @@ snapshots:
mimic-response@4.0.0: {}
min-indent@1.0.1: {}
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.12
@@ -10808,8 +10730,6 @@ snapshots:
transitivePeerDependencies:
- utf-8-validate
node-releases@2.0.20: {}
node-releases@2.0.26: {}
nodemailer@7.0.10: {}
@@ -11282,10 +11202,6 @@ snapshots:
regjsgen@0.8.0: {}
regjsparser@0.12.0:
dependencies:
jsesc: 3.0.2
regjsparser@0.13.0:
dependencies:
jsesc: 3.1.0
@@ -11633,9 +11549,7 @@ snapshots:
strip-final-newline@3.0.0: {}
strip-indent@4.0.0:
dependencies:
min-indent: 1.0.1
strip-indent@4.1.1: {}
strip-json-comments@3.1.1: {}
@@ -11989,12 +11903,6 @@ snapshots:
rolldown: 1.0.0-beta.44
synckit: 0.11.11
update-browserslist-db@1.1.3(browserslist@4.25.4):
dependencies:
browserslist: 4.25.4
escalade: 3.2.0
picocolors: 1.1.1
update-browserslist-db@1.1.4(browserslist@4.27.0):
dependencies:
browserslist: 4.27.0
@@ -11,6 +11,7 @@ const deprecatedRoute = 'route: deprecated';
const route = 'route';
// DnD (do-not-disturb) usernames, add yours here to avoid being notified
// eslint-disable-next-line unicorn/no-useless-collection-argument
const dndUsernames = new Set([]);
async function parseBodyRoutes(body, core) {