chore(deps): update dependency eslint-plugin-unicorn to v70 - abandoned (#29684)

* chore(deps): update dependency eslint-plugin-unicorn to v70

* fix: linting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
This commit is contained in:
renovate[bot]
2026-07-20 23:47:14 -04:00
committed by GitHub
co-authored by renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Daniel Dietzler
parent 8061a2e5ff
commit df970da59e
266 changed files with 1260 additions and 1212 deletions
+7 -1
View File
@@ -40,10 +40,16 @@ export default typescriptEslint.config([
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-floating-promises': 'error',
'unicorn/prefer-module': 'off',
'unicorn/prevent-abbreviations': 'off',
'unicorn/name-replacements': 'off',
'unicorn/no-unreadable-for-of-expression': 'off',
'unicorn/no-declarations-before-early-exit': 'off',
'unicorn/no-process-exit': 'off',
'unicorn/import-style': 'off',
'unicorn/consistent-class-member-order': 'off',
curly: 2,
// prefer the typescript-eslint type-aware version
'unicorn/require-array-sort-compare': 'off',
'@typescript-eslint/require-array-sort-compare': 'error',
'prettier/prettier': 0,
'object-shorthand': ['error', 'always'],
},
+1 -1
View File
@@ -33,7 +33,7 @@
"eslint": "^10.0.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-unicorn": "^64.0.0",
"eslint-plugin-unicorn": "^70.0.0",
"globals": "^17.0.0",
"mock-fs": "^5.2.0",
"prettier": "^3.7.4",
+1 -1
View File
@@ -46,7 +46,7 @@ describe('uploadFiles', () => {
const testDir = fs.mkdtempSync(path.join(os.tmpdir(), 'test-'));
const testFilePath = path.join(testDir, 'test.png');
const testFileData = 'test';
const baseUrl = 'http://example.com';
const baseUrl = 'https://example.com';
const apiKey = 'key';
const retry = 3;
+3 -2
View File
@@ -56,6 +56,7 @@ class UploadFile extends File {
super([], basename(filepath));
}
// @ts-expect-error size is already a property on the new File interface
get size() {
return this._size;
}
@@ -440,7 +441,7 @@ const uploadFile = async (
throw new Error(await response.text());
}
return response.json();
return response.json() as Promise<AssetMediaResponseDto>;
};
export const findSidecar = (filepath: string): string | undefined => {
@@ -577,7 +578,7 @@ const updateAlbums = async (assets: Asset[], options: UploadOptionsDto) => {
albumUpdateProgress.start(assets.length, 0);
try {
for (const [albumId, assets] of albumToAssets.entries()) {
for (const [albumId, assets] of albumToAssets) {
for (const assetBatch of chunk(assets, Math.min(1000 * concurrency, 65_000))) {
await addAssetsToAlbum({ id: albumId, bulkIdsDto: { ids: assetBatch } });
albumUpdateProgress.increment(assetBatch.length);
+1 -4
View File
@@ -52,10 +52,7 @@ export class Queue<T, R> {
}
get tasks(): Task<T, R>[] {
const tasks: Task<T, R>[] = [];
for (const task of this.store.values()) {
tasks.push(task);
}
const tasks: Task<T, R>[] = this.store.values().toArray();
return tasks;
}
+10 -6
View File
@@ -39,6 +39,7 @@ export const s = (count: number) => (count === 1 ? '' : 's');
let _apiKey: ApiKeyResponseDto;
export const requirePermissions = async (permissions: Permission[]) => {
if (!_apiKey) {
// eslint-disable-next-line unicorn/no-top-level-assignment-in-function
_apiKey = await getMyApiKey();
}
@@ -67,8 +68,9 @@ Please make sure your API key has the correct permissions.`,
export const connect = async (url: string, key: string) => {
const wellKnownUrl = new URL('.well-known/immich', url);
try {
const wellKnown = await fetch(wellKnownUrl).then((response) => response.json());
const endpoint = new URL(wellKnown.api.endpoint, url).toString();
// eslint-disable-next-line unicorn/prefer-await
const wellKnown = (await fetch(wellKnownUrl).then((response) => response.json())) as { api: { endpoint: string } };
const endpoint = new URL(wellKnown.api.endpoint, url).href;
if (endpoint !== url) {
console.debug(`Discovered API at ${endpoint}`);
}
@@ -178,7 +180,7 @@ export const crawl = async (options: CrawlOptions): Promise<string[]> => {
const searchPatterns = patterns.map((pattern) => {
let escapedPattern = pattern.replaceAll("'", "[']").replaceAll('"', '["]').replaceAll('`', '[`]');
if (recursive) {
escapedPattern = escapedPattern + '/**';
escapedPattern += '/**';
}
return `${escapedPattern}/*.{${extensions.join(',')}}`;
});
@@ -238,10 +240,12 @@ export class Batcher<T = unknown> {
}
private clearDebounceTimer() {
if (this.debounceTimer) {
clearTimeout(this.debounceTimer);
this.debounceTimer = undefined;
if (!this.debounceTimer) {
return;
}
clearTimeout(this.debounceTimer);
this.debounceTimer = undefined;
}
add(item: T) {
+1
View File
@@ -10,6 +10,7 @@
"allowSyntheticDefaultImports": true,
"resolveJsonModule": true,
"target": "es2023",
"lib": ["ESNext"],
"sourceMap": true,
"outDir": "./dist",
"incremental": true,