chore(deps): update dependency eslint-plugin-unicorn to v76 (#141)

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
This commit is contained in:
renovate[bot]
2026-09-29 13:56:27 +02:00
committed by GitHub
co-authored by Daniel Dietzler
parent 79511fee1b
commit b6b72932d9
19 changed files with 109 additions and 225 deletions
+20 -19
View File
@@ -237,10 +237,13 @@ export class CloudflareMetricsCollector {
const zoneNames: string[] = [];
for (const tag of cache.bulkZoneTags) {
const name = cache.zones.get(tag);
if (name !== undefined) {
zoneTags.push(tag);
zoneNames.push(name);
if (name === undefined) {
continue;
}
zoneTags.push(tag);
zoneNames.push(name);
}
if (zoneTags.length === 0) {
this.metrics.push(
@@ -287,12 +290,14 @@ export class CloudflareMetricsCollector {
row.dimensions = { zoneTag };
}
const metric = buildMetric(dataset, row, this.accountTag, cache);
if (metric) {
metric.addTag('zone_tag', zoneTag);
metric.addTag('zone_name', zoneName);
this.metrics.pushRaw(metric);
totalPoints++;
if (!metric) {
continue;
}
metric.addTag('zone_tag', zoneTag);
metric.addTag('zone_name', zoneName);
this.metrics.pushRaw(metric);
totalPoints++;
}
}
@@ -322,10 +327,12 @@ export class CloudflareMetricsCollector {
let emitted = 0;
for (const row of rows) {
const metric = buildMetric(dataset, row, this.accountTag, cache);
if (metric) {
this.metrics.pushRaw(metric);
emitted++;
if (!metric) {
continue;
}
this.metrics.pushRaw(metric);
emitted++;
}
return emitted;
}
@@ -367,10 +374,7 @@ function errorMessage(error: unknown): string {
const body = error.responseBody?.slice(0, 200) ?? '';
return body ? `${error.message}: ${body}` : error.message;
}
if (error instanceof Error) {
return error.message;
}
return String(error);
return error instanceof Error ? error.message : String(error);
}
function errorTag(error: unknown): string {
@@ -404,8 +408,5 @@ function errorTag(error: unknown): string {
Truncate a string for use as a metric tag value.
*/
function truncateTag(value: string, maxLength: number): string {
if (value.length <= maxLength) {
return value;
}
return value.slice(0, maxLength - 3) + '...';
return value.length <= maxLength ? value : value.slice(0, maxLength - 3) + '...';
}
+17 -23
View File
@@ -37,11 +37,13 @@ function getTagEnricher(dataset: DatasetQuery): TagEnricher {
case 'd1QueriesAdaptiveGroups': {
cached = (metric, row, cache) => {
const id = row.dimensions?.databaseId;
if (typeof id === 'string' && id !== '') {
const name = cache.d1Databases.get(id);
if (name) {
metric.addTag('database_name', name);
}
if (typeof id !== 'string' || id === '') {
return;
}
const name = cache.d1Databases.get(id);
if (name) {
metric.addTag('database_name', name);
}
};
break;
@@ -50,11 +52,13 @@ function getTagEnricher(dataset: DatasetQuery): TagEnricher {
case 'queueBacklogAdaptiveGroups': {
cached = (metric, row, cache) => {
const id = row.dimensions?.queueId;
if (typeof id === 'string' && id !== '') {
const name = cache.queues.get(id);
if (name) {
metric.addTag('queue_name', name);
}
if (typeof id !== 'string' || id === '') {
return;
}
const name = cache.queues.get(id);
if (name) {
metric.addTag('queue_name', name);
}
};
break;
@@ -125,11 +129,7 @@ export function buildMetric(
hasField = true;
}
if (!hasField) {
return null;
}
return metric;
return hasField ? metric : null;
}
export function resolveTimestamp(dataset: DatasetQuery, row: DatasetRow): Date | null {
@@ -144,10 +144,7 @@ export function resolveTimestamp(dataset: DatasetQuery, row: DatasetRow): Date |
return new Date(`${str}T00:00:00Z`);
}
const date = new Date(str);
if (Number.isNaN(date.getTime())) {
return null;
}
return date;
return Number.isNaN(date.getTime()) ? null : date;
}
export function normalizeTagValue(raw?: unknown): string | undefined {
@@ -157,8 +154,5 @@ export function normalizeTagValue(raw?: unknown): string | undefined {
if (typeof raw === 'string') {
return raw === '' ? undefined : raw;
}
if (typeof raw === 'number' || typeof raw === 'boolean') {
return String(raw);
}
return undefined;
return typeof raw === 'number' || typeof raw === 'boolean' ? String(raw) : undefined;
}
@@ -98,10 +98,12 @@ export function groupErrorsByAlias(
}
for (const error of errors) {
const alias = findAliasInPath(error.path);
if (alias) {
const existing = result[alias];
result[alias] = existing ? `${existing}; ${error.message}` : error.message;
if (!alias) {
continue;
}
const existing = result[alias];
result[alias] = existing ? `${existing}; ${error.message}` : error.message;
}
return result;
}
@@ -117,10 +119,7 @@ function findAliasInPath(path: readonly (string | number)[] | undefined): string
// the `dimensions` / `sum` / etc. internals.
for (let i = 0; i < path.length; i++) {
const segment = path[i];
if (typeof segment !== 'string') {
continue;
}
if (['viewer', 'accounts', 'zones'].includes(segment)) {
if (typeof segment !== 'string' || ['viewer', 'accounts', 'zones'].includes(segment)) {
continue;
}
return segment;
@@ -132,8 +131,5 @@ function orderByClause(dataset: DatasetQuery): string {
const timestampDim = dataset.timestampDimension ?? 'datetimeMinute';
// Grouping implicitly takes place on the dimensions, so orderBy helps
// make sure we get the most recent buckets within the limit.
if (dataset.dimensions.includes(timestampDim)) {
return `, orderBy: [${timestampDim}_ASC]`;
}
return '';
return dataset.dimensions.includes(timestampDim) ? `, orderBy: [${timestampDim}_ASC]` : '';
}
@@ -131,17 +131,11 @@ function computeWindowMs(isColdStart: boolean, lastSuccessfulEndMs: number | nul
// (scheduled - lag) - lastEnd. Using scheduled time (not wall clock)
// so catch-up invocations compute the gap correctly.
const gapMs = scheduledMs - DEFAULT_LAG_MS - lastSuccessfulEndMs;
if (gapMs > DEFAULT_WINDOW_MS) {
return Math.min(gapMs, MAX_BACKFILL_MS);
}
return DEFAULT_WINDOW_MS;
return gapMs > DEFAULT_WINDOW_MS ? Math.min(gapMs, MAX_BACKFILL_MS) : DEFAULT_WINDOW_MS;
}
// Fresh isolate with no prior state — use a shorter backfill window
// since cold-start ticks already do extra work resolving resource caches.
if (isColdStart) {
return 15 * 60 * 1000;
}
return DEFAULT_WINDOW_MS;
return isColdStart ? 15 * 60 * 1000 : DEFAULT_WINDOW_MS;
}
async function runCollection(
@@ -96,10 +96,12 @@ describe.skipIf(!hasCredentials)('Cloudflare GraphQL integration', () => {
continue;
}
const blockData = (row as unknown as Record<string, Record<string, unknown> | undefined>)[block];
if (blockData && key in blockData) {
const value = blockData[key];
expect(value === null || typeof value === 'number', `${dataset.key}.${block}.${key}`).toBe(true);
if (!blockData || !(key in blockData)) {
continue;
}
const value = blockData[key];
expect(value === null || typeof value === 'number', `${dataset.key}.${block}.${key}`).toBe(true);
}
}
}
+16 -22
View File
@@ -39,37 +39,31 @@ export class HeaderMetricsProvider implements IMetricsProviderRepository {
// Measurement: escape `,` and ` `.
// Tag key / tag value / field key: escape `,`, `=`, ` `.
function escapeMeasurement(s: string): string {
if (!s.includes(',') && !s.includes(' ')) {
return s;
}
return s.replaceAll(',', String.raw`\,`).replaceAll(' ', String.raw`\ `);
return !s.includes(',') && !s.includes(' ') ? s : s.replaceAll(',', String.raw`\,`).replaceAll(' ', String.raw`\ `);
}
function escapeTagKey(s: string): string {
if (!s.includes(',') && !s.includes('=') && !s.includes(' ')) {
return s;
}
return s
.replaceAll(',', String.raw`\,`)
.replaceAll('=', String.raw`\=`)
.replaceAll(' ', String.raw`\ `);
return !s.includes(',') && !s.includes('=') && !s.includes(' ')
? s
: s
.replaceAll(',', String.raw`\,`)
.replaceAll('=', String.raw`\=`)
.replaceAll(' ', String.raw`\ `);
}
function escapeTagValue(s: string): string {
if (!s.includes(',') && !s.includes('=') && !s.includes(' ')) {
return s;
}
return s
.replaceAll(',', String.raw`\,`)
.replaceAll('=', String.raw`\=`)
.replaceAll(' ', String.raw`\ `);
return !s.includes(',') && !s.includes('=') && !s.includes(' ')
? s
: s
.replaceAll(',', String.raw`\,`)
.replaceAll('=', String.raw`\=`)
.replaceAll(' ', String.raw`\ `);
}
function getMetricsWriteUrl(environment: string): string {
if (environment === 'prod') {
return 'https://cf-workers.monitoring.immich.cloud/write';
}
return `https://cf-workers.monitoring.${environment || 'dev'}.immich.cloud/write`;
return environment === 'prod'
? 'https://cf-workers.monitoring.immich.cloud/write'
: `https://cf-workers.monitoring.${environment || 'dev'}.immich.cloud/write`;
}
export class InfluxMetricsProvider implements IMetricsProviderRepository {
@@ -214,15 +214,9 @@ export class ResourceCacheService {
}
function errorMessage(error: unknown): string {
if (error instanceof Error) {
return error.message;
}
return String(error);
return error instanceof Error ? error.message : String(error);
}
function errorTag(error: unknown): string {
if (error instanceof Error) {
return error.name;
}
return 'unknown';
return error instanceof Error ? error.name : 'unknown';
}
@@ -14,15 +14,9 @@ const MAX_BACKFILL_MS = 30 * 60 * 1000;
function computeWindowMs(isColdStart: boolean, lastSuccessfulEndMs: number | null, scheduledMs: number): number {
if (lastSuccessfulEndMs !== null) {
const gapMs = scheduledMs - DEFAULT_LAG_MS - lastSuccessfulEndMs;
if (gapMs > DEFAULT_WINDOW_MS) {
return Math.min(gapMs, MAX_BACKFILL_MS);
}
return DEFAULT_WINDOW_MS;
return gapMs > DEFAULT_WINDOW_MS ? Math.min(gapMs, MAX_BACKFILL_MS) : DEFAULT_WINDOW_MS;
}
if (isColdStart) {
return 15 * 60 * 1000;
}
return DEFAULT_WINDOW_MS;
return isColdStart ? 15 * 60 * 1000 : DEFAULT_WINDOW_MS;
}
describe('computeWindowMs', () => {
+1 -4
View File
@@ -137,10 +137,7 @@ export class FakeRestClient implements ICloudflareRestClient {
// eslint-disable-next-line @typescript-eslint/require-await
async getZone(zoneId: string) {
this.zoneCalls.push(zoneId);
if (zoneId in this.individualZones) {
return this.individualZones[zoneId];
}
return null;
return zoneId in this.individualZones ? this.individualZones[zoneId] : null;
}
}
+7 -5
View File
@@ -118,12 +118,14 @@ export class ApprovalValidator {
};
allReviews.push(reviewInfo);
if (review.state === 'APPROVED') {
const isAuthorized = authorizedApprovers.some((approver) => approver.id === userId);
if (review.state !== 'APPROVED') {
continue;
}
if (isAuthorized) {
validApprovals.push(review.user.login);
}
const isAuthorized = authorizedApprovers.some((approver) => approver.id === userId);
if (isAuthorized) {
validApprovals.push(review.user.login);
}
}
+1 -4
View File
@@ -5,10 +5,7 @@
export const CHECK_NAME = 'Approval Check';
export function getCheckName(environment?: string): string {
if (environment && environment !== 'prod') {
return `${CHECK_NAME} (${environment})`;
}
return CHECK_NAME;
return environment && environment !== 'prod' ? `${CHECK_NAME} (${environment})` : CHECK_NAME;
}
const GREPTILE = { username: 'greptile-apps[bot]', id: 165_735_046 };
+3 -5
View File
@@ -24,9 +24,7 @@ export class DocsService {
function toDocsVersion(version: SemVer): DocsVersion {
const label = `v${version.version}`;
if (gte(version, FIRST_DOCS_SUBDOMAIN)) {
return { label, url: `https://docs.${label}.archive.immich.app` };
}
return { label, url: `https://${label}.archive.immich.app`, rootPath: '/docs' };
return gte(version, FIRST_DOCS_SUBDOMAIN)
? { label, url: `https://docs.${label}.archive.immich.app` }
: { label, url: `https://${label}.archive.immich.app`, rootPath: '/docs' };
}
+1 -4
View File
@@ -60,10 +60,7 @@ export class GitHubRepository implements IGitHubRepository {
allReleases.sort((a, b) => {
const semverA = semver.parse(a.tag_name);
const semverB = semver.parse(b.tag_name);
if (!semverA || !semverB) {
return 0;
}
return semver.compare(semverB, semverA);
return !semverA || !semverB ? 0 : semver.compare(semverB, semverA);
});
return allReleases;
+4 -4
View File
@@ -758,6 +758,7 @@ describe('Cron sync', () => {
const request = new Request(input, init);
const url = new URL(request.url);
// eslint-disable-next-line unicorn/prefer-ternary
if (
request.method === 'GET' &&
url.origin === 'https://api.github.com' &&
@@ -836,10 +837,9 @@ describe('GitHubRepository', () => {
vi.spyOn(globalThis, 'fetch').mockImplementation((input, init) => {
const url = new URL(new Request(input, init).url);
if (url.origin === 'https://api.github.com' && url.pathname === '/repos/immich-app/immich/releases') {
return Promise.resolve(Response.json(githubReleases));
}
return Promise.reject(new Error(`unexpected fetch: ${url.href}`));
return url.origin === 'https://api.github.com' && url.pathname === '/repos/immich-app/immich/releases'
? Promise.resolve(Response.json(githubReleases))
: Promise.reject(new Error(`unexpected fetch: ${url.href}`));
});
const releases = await new GitHubRepository().fetchReleases();
+1 -4
View File
@@ -109,10 +109,7 @@ export default {
}
const latest = await versionService.getLatestVersion(deferredRepository, channel);
if (!latest) {
return errorResponse('No releases found', 404);
}
return jsonResponse(latest);
return latest ? jsonResponse(latest) : errorResponse('No releases found', 404);
},
)();
}
+3 -4
View File
@@ -94,10 +94,9 @@ export class HeaderMetricsProvider implements IMetricsProviderRepository {
}
function getMetricsWriteUrl(environment: string): string {
if (environment === 'prod') {
return 'https://cf-workers.monitoring.immich.cloud/write';
}
return `https://cf-workers.monitoring.${environment || 'dev'}.immich.cloud/write`;
return environment === 'prod'
? 'https://cf-workers.monitoring.immich.cloud/write'
: `https://cf-workers.monitoring.${environment || 'dev'}.immich.cloud/write`;
}
export class InfluxMetricsProvider implements IMetricsProviderRepository {
+10 -8
View File
@@ -146,15 +146,17 @@ export class VersionService {
async emitLatestVersion(): Promise<void> {
const latest = await this.releaseRepository.getLatest();
if (latest) {
const version = latest.tag_name.replace(/^v/, '');
this.metrics.push(
Metric.create('latest_version')
.addTag('version', version)
.addTag('user_agent', `immich-server/${version}`)
.intField('count', 1),
);
if (!latest) {
return;
}
const version = latest.tag_name.replace(/^v/, '');
this.metrics.push(
Metric.create('latest_version')
.addTag('version', version)
.addTag('user_agent', `immich-server/${version}`)
.intField('count', 1),
);
}
isValidChannel(channel: string): channel is ReleaseChannel {
+1 -1
View File
@@ -22,7 +22,7 @@
"eslint": "^10.0.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-prettier": "^5.5.4",
"eslint-plugin-unicorn": "^74.0.0",
"eslint-plugin-unicorn": "^76.0.0",
"globals": "^17.0.0",
"prettier": "^3.4.2",
"prettier-plugin-organize-imports": "^4.2.0",
+6 -80
View File
@@ -36,8 +36,8 @@ importers:
specifier: ^5.5.4
version: 5.5.6(eslint-config-prettier@10.1.8(eslint@10.10.0(supports-color@10.2.2)))(eslint@10.10.0(supports-color@10.2.2))(prettier@3.9.6)
eslint-plugin-unicorn:
specifier: ^74.0.0
version: 74.0.0(eslint@10.10.0(supports-color@10.2.2))
specifier: ^76.0.0
version: 76.0.0(eslint@10.10.0(supports-color@10.2.2))
globals:
specifier: ^17.0.0
version: 17.12.0
@@ -1161,10 +1161,6 @@ packages:
resolution: {integrity: sha512-AIi5H6p0xk5uknXcN3/rmhP8jgp69OfSe/JuKiQAFprJ7UGw7mwj7m4XcmDzlrnJDG+cGpphAINGdU3g3g7kDw==}
engines: {node: '>=22'}
convert-hrtime@5.0.0:
resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==}
engines: {node: '>=12'}
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
@@ -1246,8 +1242,8 @@ packages:
eslint-config-prettier:
optional: true
eslint-plugin-unicorn@74.0.0:
resolution: {integrity: sha512-AGnsGi2SxHg1HEAXxn9nSnZfyjvTWkxm8E8hpd/9tD6dLjBUdcD7+D6ZN64HmmCXTSXlrwVyUqe20Uyb2CaurA==}
eslint-plugin-unicorn@76.0.0:
resolution: {integrity: sha512-3ywJrCMHKYhcBP5yFzGaOOX3dY7+iR3hvpuoS/0EnhRFgVWLejly+t4fOdJvWQxJdHZl1C+QBW7hybXPDld4Pw==}
engines: {node: '>=22'}
peerDependencies:
eslint: '>=10.4'
@@ -1344,10 +1340,6 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
function-timeout@1.0.2:
resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==}
engines: {node: '>=18'}
glob-parent@6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
@@ -1398,10 +1390,6 @@ packages:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
is-identifier@1.1.0:
resolution: {integrity: sha512-NhOds0mDx9lJu+1lBRO0xbwFo5nobA7GCk/0e5xjr6+6XugX985+0OyGX35BNrTkPAsdLcIKg02HUQJOK8D8kw==}
engines: {node: '>=18'}
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
@@ -1511,10 +1499,6 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
make-asynchronous@1.1.0:
resolution: {integrity: sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==}
engines: {node: '>=18'}
mdn-data@2.29.0:
resolution: {integrity: sha512-pVxQFCcaYUEAH853+v7yoI/qzhxXSq1bTb9obMYGYAN1c3Hen+XDCEvr296XhstrwlSTNgOR7mCSD4JPjbJe5A==}
@@ -1553,10 +1537,6 @@ packages:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
p-event@6.0.1:
resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==}
engines: {node: '>=16.17'}
p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
@@ -1565,10 +1545,6 @@ packages:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
p-timeout@6.1.4:
resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==}
engines: {node: '>=14.16'}
path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
@@ -1680,10 +1656,6 @@ packages:
resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==}
engines: {node: '>=12'}
super-regex@1.1.0:
resolution: {integrity: sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==}
engines: {node: '>=18'}
supports-color@10.2.2:
resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==}
engines: {node: '>=18'}
@@ -1692,10 +1664,6 @@ packages:
resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==}
engines: {node: ^14.18.0 || >=16.0.0}
time-span@5.1.0:
resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==}
engines: {node: '>=12'}
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
@@ -1728,10 +1696,6 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
type-fest@4.41.0:
resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
engines: {node: '>=16'}
typescript-eslint@8.70.0:
resolution: {integrity: sha512-P/W5cz70/cQAuKfY3xwQMWWTV7BvJ0mAQmi+9mBcsVPaBUpd6Ohpa+fECv9rBFrQcig86jAiNBFNWUqnTjr4pw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1858,9 +1822,6 @@ packages:
jsdom:
optional: true
web-worker@1.5.0:
resolution: {integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==}
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -2809,8 +2770,6 @@ snapshots:
content-type@3.0.0: {}
convert-hrtime@5.0.0: {}
convert-source-map@2.0.0: {}
cookie@1.1.1: {}
@@ -2891,7 +2850,7 @@ snapshots:
optionalDependencies:
eslint-config-prettier: 10.1.8(eslint@10.10.0(supports-color@10.2.2))
eslint-plugin-unicorn@74.0.0(eslint@10.10.0(supports-color@10.2.2)):
eslint-plugin-unicorn@76.0.0(eslint@10.10.0(supports-color@10.2.2)):
dependencies:
'@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0(supports-color@10.2.2))
'@eslint/css-tree': 4.0.5
@@ -2904,9 +2863,9 @@ snapshots:
eslint: 10.10.0(supports-color@10.2.2)
find-up-simple: 1.0.1
globals: 17.12.0
identifier-regex: 1.1.0
indent-string: 5.0.0
is-builtin-module: 5.0.0
is-identifier: 1.1.0
pluralize: 8.0.0
quote-js-string: 0.1.0
regjsparser: 0.13.2
@@ -3019,8 +2978,6 @@ snapshots:
fsevents@2.3.3:
optional: true
function-timeout@1.0.2: {}
glob-parent@6.0.2:
dependencies:
is-glob: 4.0.3
@@ -3057,11 +3014,6 @@ snapshots:
dependencies:
is-extglob: 2.1.1
is-identifier@1.1.0:
dependencies:
identifier-regex: 1.1.0
super-regex: 1.1.0
isexe@2.0.0: {}
jsesc@3.1.0: {}
@@ -3140,12 +3092,6 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
make-asynchronous@1.1.0:
dependencies:
p-event: 6.0.1
type-fest: 4.41.0
web-worker: 1.5.0
mdn-data@2.29.0: {}
miniflare@5.20260815.0-alpha:
@@ -3195,10 +3141,6 @@ snapshots:
type-check: 0.4.0
word-wrap: 1.2.5
p-event@6.0.1:
dependencies:
p-timeout: 6.1.4
p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
@@ -3207,8 +3149,6 @@ snapshots:
dependencies:
p-limit: 3.1.0
p-timeout@6.1.4: {}
path-exists@4.0.0: {}
path-key@3.1.1: {}
@@ -3327,22 +3267,12 @@ snapshots:
strip-indent@4.1.1: {}
super-regex@1.1.0:
dependencies:
function-timeout: 1.0.2
make-asynchronous: 1.1.0
time-span: 5.1.0
supports-color@10.2.2: {}
synckit@0.11.13:
dependencies:
'@pkgr/core': 0.3.6
time-span@5.1.0:
dependencies:
convert-hrtime: 5.0.0
tinybench@2.9.0: {}
tinyexec@1.2.4: {}
@@ -3367,8 +3297,6 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
type-fest@4.41.0: {}
typescript-eslint@8.70.0(@typescript/typescript6@6.0.2)(eslint@10.10.0(supports-color@10.2.2))(supports-color@10.2.2):
dependencies:
'@typescript-eslint/eslint-plugin': 8.70.0(@typescript-eslint/parser@8.70.0(@typescript/typescript6@6.0.2)(eslint@10.10.0(supports-color@10.2.2))(supports-color@10.2.2))(@typescript/typescript6@6.0.2)(eslint@10.10.0(supports-color@10.2.2))(supports-color@10.2.2)
@@ -3467,8 +3395,6 @@ snapshots:
transitivePeerDependencies:
- msw
web-worker@1.5.0: {}
which@2.0.2:
dependencies:
isexe: 2.0.0