mirror of
https://github.com/immich-app/immich.git
synced 2025-12-06 09:13:13 +03:00
chore(deps): update dependency eslint-plugin-unicorn to v62 (#24167)
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:
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@@ -52,7 +52,7 @@
|
|||||||
},
|
},
|
||||||
"cSpell.words": ["immich"],
|
"cSpell.words": ["immich"],
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
"eslint.validate": ["javascript", "svelte"],
|
"eslint.validate": ["javascript", "typescript", "svelte"],
|
||||||
"explorer.fileNesting.enabled": true,
|
"explorer.fileNesting.enabled": true,
|
||||||
"explorer.fileNesting.patterns": {
|
"explorer.fileNesting.patterns": {
|
||||||
"*.dart": "${capture}.g.dart,${capture}.gr.dart,${capture}.drift.dart",
|
"*.dart": "${capture}.g.dart,${capture}.gr.dart,${capture}.drift.dart",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"eslint": "^9.14.0",
|
"eslint": "^9.14.0",
|
||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-prettier": "^5.1.3",
|
"eslint-plugin-prettier": "^5.1.3",
|
||||||
"eslint-plugin-unicorn": "^60.0.0",
|
"eslint-plugin-unicorn": "^62.0.0",
|
||||||
"globals": "^16.0.0",
|
"globals": "^16.0.0",
|
||||||
"mock-fs": "^5.2.0",
|
"mock-fs": "^5.2.0",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ describe('crawl', () => {
|
|||||||
.map(([file]) => file);
|
.map(([file]) => file);
|
||||||
|
|
||||||
// Compare file's content instead of path since a file can be represent in multiple ways.
|
// Compare file's content instead of path since a file can be represent in multiple ways.
|
||||||
expect(actual.map((path) => readContent(path)).sort()).toEqual(expected.sort());
|
expect(actual.map((path) => readContent(path)).toSorted()).toEqual(expected.toSorted());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ export const crawl = async (options: CrawlOptions): Promise<string[]> => {
|
|||||||
ignore: [`**/${exclusionPattern}`],
|
ignore: [`**/${exclusionPattern}`],
|
||||||
});
|
});
|
||||||
globbedFiles.push(...crawledFiles);
|
globbedFiles.push(...crawledFiles);
|
||||||
return globbedFiles.sort();
|
return globbedFiles.toSorted();
|
||||||
};
|
};
|
||||||
|
|
||||||
export const sha1 = (filepath: string) => {
|
export const sha1 = (filepath: string) => {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"target": "es2022",
|
"target": "es2023",
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"outDir": "./dist",
|
"outDir": "./dist",
|
||||||
"incremental": true,
|
"incremental": true,
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
"eslint": "^9.14.0",
|
"eslint": "^9.14.0",
|
||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-prettier": "^5.1.3",
|
"eslint-plugin-prettier": "^5.1.3",
|
||||||
"eslint-plugin-unicorn": "^60.0.0",
|
"eslint-plugin-unicorn": "^62.0.0",
|
||||||
"exiftool-vendored": "^31.1.0",
|
"exiftool-vendored": "^31.1.0",
|
||||||
"globals": "^16.0.0",
|
"globals": "^16.0.0",
|
||||||
"jose": "^5.6.3",
|
"jose": "^5.6.3",
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ export function selectRandomDays(daysInMonth: number, numDays: number, rng: Seed
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [...selectedDays].sort((a, b) => b - a);
|
return [...selectedDays].toSorted((a, b) => b - a);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"target": "es2022",
|
"target": "es2023",
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"outDir": "./dist",
|
"outDir": "./dist",
|
||||||
"incremental": true,
|
"incremental": true,
|
||||||
|
|||||||
106
pnpm-lock.yaml
generated
106
pnpm-lock.yaml
generated
@@ -87,8 +87,8 @@ importers:
|
|||||||
specifier: ^5.1.3
|
specifier: ^5.1.3
|
||||||
version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2)
|
version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2)
|
||||||
eslint-plugin-unicorn:
|
eslint-plugin-unicorn:
|
||||||
specifier: ^60.0.0
|
specifier: ^62.0.0
|
||||||
version: 60.0.0(eslint@9.39.1(jiti@2.6.1))
|
version: 62.0.0(eslint@9.39.1(jiti@2.6.1))
|
||||||
globals:
|
globals:
|
||||||
specifier: ^16.0.0
|
specifier: ^16.0.0
|
||||||
version: 16.5.0
|
version: 16.5.0
|
||||||
@@ -241,8 +241,8 @@ importers:
|
|||||||
specifier: ^5.1.3
|
specifier: ^5.1.3
|
||||||
version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2)
|
version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2)
|
||||||
eslint-plugin-unicorn:
|
eslint-plugin-unicorn:
|
||||||
specifier: ^60.0.0
|
specifier: ^62.0.0
|
||||||
version: 60.0.0(eslint@9.39.1(jiti@2.6.1))
|
version: 62.0.0(eslint@9.39.1(jiti@2.6.1))
|
||||||
exiftool-vendored:
|
exiftool-vendored:
|
||||||
specifier: ^31.1.0
|
specifier: ^31.1.0
|
||||||
version: 31.3.0
|
version: 31.3.0
|
||||||
@@ -657,8 +657,8 @@ importers:
|
|||||||
specifier: ^5.1.3
|
specifier: ^5.1.3
|
||||||
version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2)
|
version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2)
|
||||||
eslint-plugin-unicorn:
|
eslint-plugin-unicorn:
|
||||||
specifier: ^60.0.0
|
specifier: ^62.0.0
|
||||||
version: 60.0.0(eslint@9.39.1(jiti@2.6.1))
|
version: 62.0.0(eslint@9.39.1(jiti@2.6.1))
|
||||||
globals:
|
globals:
|
||||||
specifier: ^16.0.0
|
specifier: ^16.0.0
|
||||||
version: 16.5.0
|
version: 16.5.0
|
||||||
@@ -892,8 +892,8 @@ importers:
|
|||||||
specifier: ^3.12.4
|
specifier: ^3.12.4
|
||||||
version: 3.13.0(eslint@9.39.1(jiti@2.6.1))(svelte@5.43.12)
|
version: 3.13.0(eslint@9.39.1(jiti@2.6.1))(svelte@5.43.12)
|
||||||
eslint-plugin-unicorn:
|
eslint-plugin-unicorn:
|
||||||
specifier: ^61.0.2
|
specifier: ^62.0.0
|
||||||
version: 61.0.2(eslint@9.39.1(jiti@2.6.1))
|
version: 62.0.0(eslint@9.39.1(jiti@2.6.1))
|
||||||
factory.ts:
|
factory.ts:
|
||||||
specifier: ^1.4.1
|
specifier: ^1.4.1
|
||||||
version: 1.4.2
|
version: 1.4.2
|
||||||
@@ -2740,10 +2740,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
|
resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
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.17.0':
|
'@eslint/core@0.17.0':
|
||||||
resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
|
resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
@@ -2760,10 +2756,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
|
resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
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.1':
|
'@eslint/plugin-kit@0.4.1':
|
||||||
resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
|
resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
@@ -5777,8 +5769,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
|
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
ci-info@4.3.0:
|
ci-info@4.3.1:
|
||||||
resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==}
|
resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
citty@0.1.6:
|
citty@0.1.6:
|
||||||
@@ -6718,17 +6710,11 @@ packages:
|
|||||||
svelte:
|
svelte:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
eslint-plugin-unicorn@60.0.0:
|
eslint-plugin-unicorn@62.0.0:
|
||||||
resolution: {integrity: sha512-QUzTefvP8stfSXsqKQ+vBQSEsXIlAiCduS/V1Em+FKgL9c21U/IIm20/e3MFy1jyCf14tHAhqC1sX8OTy6VUCg==}
|
resolution: {integrity: sha512-HIlIkGLkvf29YEiS/ImuDZQbP12gWyx5i3C6XrRxMvVdqMroCI9qoVYCoIl17ChN+U89pn9sVwLxhIWj5nEc7g==}
|
||||||
engines: {node: ^20.10.0 || >=21.0.0}
|
engines: {node: ^20.10.0 || >=21.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=9.29.0'
|
eslint: '>=9.38.0'
|
||||||
|
|
||||||
eslint-plugin-unicorn@61.0.2:
|
|
||||||
resolution: {integrity: sha512-zLihukvneYT7f74GNbVJXfWIiNQmkc/a9vYBTE4qPkQZswolWNdu+Wsp9sIXno1JOzdn6OUwLPd19ekXVkahRA==}
|
|
||||||
engines: {node: ^20.10.0 || >=21.0.0}
|
|
||||||
peerDependencies:
|
|
||||||
eslint: '>=9.29.0'
|
|
||||||
|
|
||||||
eslint-scope@5.1.1:
|
eslint-scope@5.1.1:
|
||||||
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
|
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
|
||||||
@@ -7924,11 +7910,6 @@ packages:
|
|||||||
canvas:
|
canvas:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
jsesc@3.0.2:
|
|
||||||
resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
|
|
||||||
engines: {node: '>=6'}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
jsesc@3.1.0:
|
jsesc@3.1.0:
|
||||||
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
|
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -10090,10 +10071,6 @@ packages:
|
|||||||
regjsgen@0.8.0:
|
regjsgen@0.8.0:
|
||||||
resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
|
resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
|
||||||
|
|
||||||
regjsparser@0.12.0:
|
|
||||||
resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
regjsparser@0.13.0:
|
regjsparser@0.13.0:
|
||||||
resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==}
|
resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -10668,8 +10645,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
|
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
strip-indent@4.0.0:
|
strip-indent@4.1.1:
|
||||||
resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
|
resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
strip-json-comments@2.0.1:
|
strip-json-comments@2.0.1:
|
||||||
@@ -14501,10 +14478,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@eslint/core': 0.17.0
|
'@eslint/core': 0.17.0
|
||||||
|
|
||||||
'@eslint/core@0.15.2':
|
|
||||||
dependencies:
|
|
||||||
'@types/json-schema': 7.0.15
|
|
||||||
|
|
||||||
'@eslint/core@0.17.0':
|
'@eslint/core@0.17.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/json-schema': 7.0.15
|
'@types/json-schema': 7.0.15
|
||||||
@@ -14527,11 +14500,6 @@ snapshots:
|
|||||||
|
|
||||||
'@eslint/object-schema@2.1.7': {}
|
'@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.1':
|
'@eslint/plugin-kit@0.4.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint/core': 0.17.0
|
'@eslint/core': 0.17.0
|
||||||
@@ -17954,7 +17922,7 @@ snapshots:
|
|||||||
|
|
||||||
ci-info@3.9.0: {}
|
ci-info@3.9.0: {}
|
||||||
|
|
||||||
ci-info@4.3.0: {}
|
ci-info@4.3.1: {}
|
||||||
|
|
||||||
citty@0.1.6:
|
citty@0.1.6:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -18971,13 +18939,13 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- ts-node
|
- ts-node
|
||||||
|
|
||||||
eslint-plugin-unicorn@60.0.0(eslint@9.39.1(jiti@2.6.1)):
|
eslint-plugin-unicorn@62.0.0(eslint@9.39.1(jiti@2.6.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/helper-validator-identifier': 7.28.5
|
'@babel/helper-validator-identifier': 7.28.5
|
||||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1))
|
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1))
|
||||||
'@eslint/plugin-kit': 0.3.5
|
'@eslint/plugin-kit': 0.4.1
|
||||||
change-case: 5.4.4
|
change-case: 5.4.4
|
||||||
ci-info: 4.3.0
|
ci-info: 4.3.1
|
||||||
clean-regexp: 1.0.0
|
clean-regexp: 1.0.0
|
||||||
core-js-compat: 3.46.0
|
core-js-compat: 3.46.0
|
||||||
eslint: 9.39.1(jiti@2.6.1)
|
eslint: 9.39.1(jiti@2.6.1)
|
||||||
@@ -18989,31 +18957,9 @@ snapshots:
|
|||||||
jsesc: 3.1.0
|
jsesc: 3.1.0
|
||||||
pluralize: 8.0.0
|
pluralize: 8.0.0
|
||||||
regexp-tree: 0.1.27
|
regexp-tree: 0.1.27
|
||||||
regjsparser: 0.12.0
|
regjsparser: 0.13.0
|
||||||
semver: 7.7.3
|
semver: 7.7.3
|
||||||
strip-indent: 4.0.0
|
strip-indent: 4.1.1
|
||||||
|
|
||||||
eslint-plugin-unicorn@61.0.2(eslint@9.39.1(jiti@2.6.1)):
|
|
||||||
dependencies:
|
|
||||||
'@babel/helper-validator-identifier': 7.28.5
|
|
||||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1))
|
|
||||||
'@eslint/plugin-kit': 0.3.5
|
|
||||||
change-case: 5.4.4
|
|
||||||
ci-info: 4.3.0
|
|
||||||
clean-regexp: 1.0.0
|
|
||||||
core-js-compat: 3.46.0
|
|
||||||
eslint: 9.39.1(jiti@2.6.1)
|
|
||||||
esquery: 1.6.0
|
|
||||||
find-up-simple: 1.0.1
|
|
||||||
globals: 16.5.0
|
|
||||||
indent-string: 5.0.0
|
|
||||||
is-builtin-module: 5.0.0
|
|
||||||
jsesc: 3.1.0
|
|
||||||
pluralize: 8.0.0
|
|
||||||
regexp-tree: 0.1.27
|
|
||||||
regjsparser: 0.12.0
|
|
||||||
semver: 7.7.3
|
|
||||||
strip-indent: 4.0.0
|
|
||||||
|
|
||||||
eslint-scope@5.1.1:
|
eslint-scope@5.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -20527,8 +20473,6 @@ snapshots:
|
|||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
jsesc@3.0.2: {}
|
|
||||||
|
|
||||||
jsesc@3.1.0: {}
|
jsesc@3.1.0: {}
|
||||||
|
|
||||||
json-buffer@3.0.1: {}
|
json-buffer@3.0.1: {}
|
||||||
@@ -23055,10 +22999,6 @@ snapshots:
|
|||||||
|
|
||||||
regjsgen@0.8.0: {}
|
regjsgen@0.8.0: {}
|
||||||
|
|
||||||
regjsparser@0.12.0:
|
|
||||||
dependencies:
|
|
||||||
jsesc: 3.0.2
|
|
||||||
|
|
||||||
regjsparser@0.13.0:
|
regjsparser@0.13.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
jsesc: 3.1.0
|
jsesc: 3.1.0
|
||||||
@@ -23832,9 +23772,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
min-indent: 1.0.1
|
min-indent: 1.0.1
|
||||||
|
|
||||||
strip-indent@4.0.0:
|
strip-indent@4.1.1: {}
|
||||||
dependencies:
|
|
||||||
min-indent: 1.0.1
|
|
||||||
|
|
||||||
strip-json-comments@2.0.1: {}
|
strip-json-comments@2.0.1: {}
|
||||||
|
|
||||||
|
|||||||
@@ -148,7 +148,7 @@
|
|||||||
"eslint": "^9.14.0",
|
"eslint": "^9.14.0",
|
||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-prettier": "^5.1.3",
|
"eslint-plugin-prettier": "^5.1.3",
|
||||||
"eslint-plugin-unicorn": "^60.0.0",
|
"eslint-plugin-unicorn": "^62.0.0",
|
||||||
"globals": "^16.0.0",
|
"globals": "^16.0.0",
|
||||||
"mock-fs": "^5.2.0",
|
"mock-fs": "^5.2.0",
|
||||||
"node-gyp": "^12.0.0",
|
"node-gyp": "^12.0.0",
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ export class AssetDeltaSyncResponseDto {
|
|||||||
export const extraSyncModels: Function[] = [];
|
export const extraSyncModels: Function[] = [];
|
||||||
|
|
||||||
export const ExtraModel = (): ClassDecorator => {
|
export const ExtraModel = (): ClassDecorator => {
|
||||||
|
// eslint-disable-next-line unicorn/consistent-function-scoping
|
||||||
return (object: Function) => {
|
return (object: Function) => {
|
||||||
extraSyncModels.push(object);
|
extraSyncModels.push(object);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ describe('getEnv', () => {
|
|||||||
expect(telemetry).toEqual({
|
expect(telemetry).toEqual({
|
||||||
apiPort: 8081,
|
apiPort: 8081,
|
||||||
microservicesPort: 8082,
|
microservicesPort: 8082,
|
||||||
metrics: new Set([]),
|
metrics: new Set(),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -669,7 +669,7 @@ describe(AlbumService.name, () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should not allow a shared user with viewer access to add assets', async () => {
|
it('should not allow a shared user with viewer access to add assets', async () => {
|
||||||
mocks.access.album.checkSharedAlbumAccess.mockResolvedValue(new Set([]));
|
mocks.access.album.checkSharedAlbumAccess.mockResolvedValue(new Set());
|
||||||
mocks.album.getById.mockResolvedValue(_.cloneDeep(albumStub.sharedWithUser));
|
mocks.album.getById.mockResolvedValue(_.cloneDeep(albumStub.sharedWithUser));
|
||||||
|
|
||||||
await expect(
|
await expect(
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ export class BackupService extends BaseService {
|
|||||||
const newBackupStyle = file.match(/immich-db-backup-\d{8}T\d{6}-v.*-pg.*\.sql\.gz$/);
|
const newBackupStyle = file.match(/immich-db-backup-\d{8}T\d{6}-v.*-pg.*\.sql\.gz$/);
|
||||||
return oldBackupStyle || newBackupStyle;
|
return oldBackupStyle || newBackupStyle;
|
||||||
})
|
})
|
||||||
.sort()
|
.toSorted()
|
||||||
.toReversed();
|
.toReversed();
|
||||||
|
|
||||||
const toDelete = backups.slice(config.keepLastAmount);
|
const toDelete = backups.slice(config.keepLastAmount);
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ describe(LibraryService.name, () => {
|
|||||||
mocks.library.get.mockResolvedValue(library);
|
mocks.library.get.mockResolvedValue(library);
|
||||||
mocks.storage.walk.mockImplementation(async function* generator() {});
|
mocks.storage.walk.mockImplementation(async function* generator() {});
|
||||||
mocks.asset.getLibraryAssetCount.mockResolvedValue(1);
|
mocks.asset.getLibraryAssetCount.mockResolvedValue(1);
|
||||||
mocks.asset.detectOfflineExternalAssets.mockResolvedValue({ numUpdatedRows: BigInt(1) });
|
mocks.asset.detectOfflineExternalAssets.mockResolvedValue({ numUpdatedRows: 1n });
|
||||||
|
|
||||||
const response = await sut.handleQueueSyncAssets({ id: library.id });
|
const response = await sut.handleQueueSyncAssets({ id: library.id });
|
||||||
|
|
||||||
@@ -296,7 +296,7 @@ describe(LibraryService.name, () => {
|
|||||||
mocks.library.get.mockResolvedValue(library);
|
mocks.library.get.mockResolvedValue(library);
|
||||||
mocks.storage.walk.mockImplementation(async function* generator() {});
|
mocks.storage.walk.mockImplementation(async function* generator() {});
|
||||||
mocks.asset.getLibraryAssetCount.mockResolvedValue(0);
|
mocks.asset.getLibraryAssetCount.mockResolvedValue(0);
|
||||||
mocks.asset.detectOfflineExternalAssets.mockResolvedValue({ numUpdatedRows: BigInt(1) });
|
mocks.asset.detectOfflineExternalAssets.mockResolvedValue({ numUpdatedRows: 1n });
|
||||||
|
|
||||||
const response = await sut.handleQueueSyncAssets({ id: library.id });
|
const response = await sut.handleQueueSyncAssets({ id: library.id });
|
||||||
|
|
||||||
@@ -311,7 +311,7 @@ describe(LibraryService.name, () => {
|
|||||||
mocks.storage.walk.mockImplementation(async function* generator() {});
|
mocks.storage.walk.mockImplementation(async function* generator() {});
|
||||||
mocks.library.streamAssetIds.mockReturnValue(makeStream([assetStub.external]));
|
mocks.library.streamAssetIds.mockReturnValue(makeStream([assetStub.external]));
|
||||||
mocks.asset.getLibraryAssetCount.mockResolvedValue(1);
|
mocks.asset.getLibraryAssetCount.mockResolvedValue(1);
|
||||||
mocks.asset.detectOfflineExternalAssets.mockResolvedValue({ numUpdatedRows: BigInt(0) });
|
mocks.asset.detectOfflineExternalAssets.mockResolvedValue({ numUpdatedRows: 0n });
|
||||||
mocks.library.streamAssetIds.mockReturnValue(makeStream([assetStub.external]));
|
mocks.library.streamAssetIds.mockReturnValue(makeStream([assetStub.external]));
|
||||||
|
|
||||||
const response = await sut.handleQueueSyncAssets({ id: library.id });
|
const response = await sut.handleQueueSyncAssets({ id: library.id });
|
||||||
|
|||||||
@@ -561,7 +561,7 @@ export class MediaService extends BaseService {
|
|||||||
private getMainStream<T extends VideoStreamInfo | AudioStreamInfo>(streams: T[]): T {
|
private getMainStream<T extends VideoStreamInfo | AudioStreamInfo>(streams: T[]): T {
|
||||||
return streams
|
return streams
|
||||||
.filter((stream) => stream.codecName !== 'unknown')
|
.filter((stream) => stream.codecName !== 'unknown')
|
||||||
.sort((stream1, stream2) => stream2.bitrate - stream1.bitrate)[0];
|
.toSorted((stream1, stream2) => stream2.bitrate - stream1.bitrate)[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
private getTranscodeTarget(
|
private getTranscodeTarget(
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ describe(TagService.name, () => {
|
|||||||
|
|
||||||
describe('addAssets', () => {
|
describe('addAssets', () => {
|
||||||
it('should handle invalid ids', async () => {
|
it('should handle invalid ids', async () => {
|
||||||
mocks.tag.getAssetIds.mockResolvedValue(new Set([]));
|
mocks.tag.getAssetIds.mockResolvedValue(new Set());
|
||||||
await expect(sut.addAssets(authStub.admin, 'tag-1', { ids: ['asset-1'] })).resolves.toEqual([
|
await expect(sut.addAssets(authStub.admin, 'tag-1', { ids: ['asset-1'] })).resolves.toEqual([
|
||||||
{ id: 'asset-1', success: false, error: 'no_permission' },
|
{ id: 'asset-1', success: false, error: 'no_permission' },
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ export const setIsEqual = (source: Set<unknown>, target: Set<unknown>) =>
|
|||||||
source.size === target.size && [...source].every((x) => target.has(x));
|
source.size === target.size && [...source].every((x) => target.has(x));
|
||||||
|
|
||||||
export const haveEqualColumns = (sourceColumns?: string[], targetColumns?: string[]) => {
|
export const haveEqualColumns = (sourceColumns?: string[], targetColumns?: string[]) => {
|
||||||
return setIsEqual(new Set(sourceColumns ?? []), new Set(targetColumns ?? []));
|
return setIsEqual(new Set(sourceColumns), new Set(targetColumns));
|
||||||
};
|
};
|
||||||
|
|
||||||
export const haveEqualOverrides = <T extends { override?: DatabaseOverride }>(source: T, target: T) => {
|
export const haveEqualOverrides = <T extends { override?: DatabaseOverride }>(source: T, target: T) => {
|
||||||
|
|||||||
@@ -704,8 +704,7 @@ export class QsvSwDecodeConfig extends BaseHWConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getBitrateOptions() {
|
getBitrateOptions() {
|
||||||
const options = [];
|
const options = [`-${this.useCQP() ? 'q:v' : 'global_quality:v'} ${this.config.crf}`];
|
||||||
options.push(`-${this.useCQP() ? 'q:v' : 'global_quality:v'} ${this.config.crf}`);
|
|
||||||
const bitrates = this.getBitrateDistribution();
|
const bitrates = this.getBitrateDistribution();
|
||||||
if (bitrates.max > 0) {
|
if (bitrates.max > 0) {
|
||||||
options.push(`-maxrate ${bitrates.max}${bitrates.unit}`, `-bufsize ${bitrates.max * 2}${bitrates.unit}`);
|
options.push(`-maxrate ${bitrates.max}${bitrates.unit}`, `-bufsize ${bitrates.max * 2}${bitrates.unit}`);
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ function sortKeys<T>(target: T): T {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const result: Partial<T> = {};
|
const result: Partial<T> = {};
|
||||||
const keys = Object.keys(target).sort() as Array<keyof T>;
|
const keys = Object.keys(target).toSorted() as Array<keyof T>;
|
||||||
for (const key of keys) {
|
for (const key of keys) {
|
||||||
result[key] = sortKeys(target[key]);
|
result[key] = sortKeys(target[key]);
|
||||||
}
|
}
|
||||||
@@ -178,10 +178,7 @@ const patchOpenAPI = (document: OpenAPIObject) => {
|
|||||||
throw new Error(`Invalid number format: ${schemaName}.${key}=float (use double instead). `);
|
throw new Error(`Invalid number format: ${schemaName}.${key}=float (use double instead). `);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
schema.required?.sort();
|
||||||
if (schema.required) {
|
|
||||||
schema.required = schema.required.sort();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ describe(SyncRequestType.PartnerAssetExifsV1, () => {
|
|||||||
const newResponse = await ctx.syncStream(auth, [SyncRequestType.PartnerAssetExifsV1]);
|
const newResponse = await ctx.syncStream(auth, [SyncRequestType.PartnerAssetExifsV1]);
|
||||||
expect(newResponse).toEqual([
|
expect(newResponse).toEqual([
|
||||||
{
|
{
|
||||||
ack: expect.stringMatching(new RegExp(`${SyncEntityType.PartnerAssetExifBackfillV1}\\|.+?\\|.+`)),
|
ack: expect.stringMatching(new RegExp(String.raw`${SyncEntityType.PartnerAssetExifBackfillV1}\|.+?\|.+`)),
|
||||||
data: expect.objectContaining({
|
data: expect.objectContaining({
|
||||||
assetId: assetUser3.id,
|
assetId: assetUser3.id,
|
||||||
}),
|
}),
|
||||||
@@ -226,7 +226,7 @@ describe(SyncRequestType.PartnerAssetExifsV1, () => {
|
|||||||
const newResponse = await ctx.syncStream(auth, [SyncRequestType.PartnerAssetExifsV1]);
|
const newResponse = await ctx.syncStream(auth, [SyncRequestType.PartnerAssetExifsV1]);
|
||||||
expect(newResponse).toEqual([
|
expect(newResponse).toEqual([
|
||||||
{
|
{
|
||||||
ack: expect.stringMatching(new RegExp(`${SyncEntityType.PartnerAssetExifBackfillV1}\\|.+?\\|.+`)),
|
ack: expect.stringMatching(new RegExp(String.raw`${SyncEntityType.PartnerAssetExifBackfillV1}\|.+?\|.+`)),
|
||||||
data: expect.objectContaining({
|
data: expect.objectContaining({
|
||||||
assetId: assetUser3.id,
|
assetId: assetUser3.id,
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ export const makeMockWatcher =
|
|||||||
return () => close();
|
return () => close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line unicorn/consistent-function-scoping
|
||||||
return () => Promise.resolve();
|
return () => Promise.resolve();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,7 @@
|
|||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-compat": "^6.0.2",
|
"eslint-plugin-compat": "^6.0.2",
|
||||||
"eslint-plugin-svelte": "^3.12.4",
|
"eslint-plugin-svelte": "^3.12.4",
|
||||||
"eslint-plugin-unicorn": "^61.0.2",
|
"eslint-plugin-unicorn": "^62.0.0",
|
||||||
"factory.ts": "^1.4.1",
|
"factory.ts": "^1.4.1",
|
||||||
"globals": "^16.0.0",
|
"globals": "^16.0.0",
|
||||||
"happy-dom": "^20.0.0",
|
"happy-dom": "^20.0.0",
|
||||||
|
|||||||
@@ -46,8 +46,7 @@ export class AlbumModalRowConverter {
|
|||||||
): AlbumModalRow[] {
|
): AlbumModalRow[] {
|
||||||
// only show recent albums if no search was entered, or we're in the normal albums (non-shared) modal.
|
// only show recent albums if no search was entered, or we're in the normal albums (non-shared) modal.
|
||||||
const recentAlbumsToShow = !this.shared && search.length === 0 ? recentAlbums : [];
|
const recentAlbumsToShow = !this.shared && search.length === 0 ? recentAlbums : [];
|
||||||
const rows: AlbumModalRow[] = [];
|
const rows: AlbumModalRow[] = [{ type: AlbumModalRowType.NEW_ALBUM, selected: selectedRowIndex === 0 }];
|
||||||
rows.push({ type: AlbumModalRowType.NEW_ALBUM, selected: selectedRowIndex === 0 });
|
|
||||||
|
|
||||||
const filteredAlbums = sortAlbums(
|
const filteredAlbums = sortAlbums(
|
||||||
search.length > 0 && albums.length > 0
|
search.length > 0 && albums.length > 0
|
||||||
|
|||||||
Reference in New Issue
Block a user