Frontend: Upgrade Vitest to v4 and Vite to v8 to drop esbuild #5659

This commit is contained in:
Michael Mayer 2026-06-14 16:15:51 +00:00
parent 9f373a909c
commit b24e84f5f5
6 changed files with 961 additions and 1172 deletions

5
NOTICE
View file

@ -9,7 +9,7 @@ The following 3rd-party software packages may be used by or distributed with
PhotoPrism. Any information relevant to third-party vendors listed below are
collected using common, reasonable means.
Date generated: 2026-06-10
Date generated: 2026-06-14
================================================================================
@ -9413,9 +9413,7 @@ Package License Copyright
@mdi/font Apache-2.0 Austin Andrews
@testing-library/jest-dom MIT Ernesto Garcia <gnapse@gmail.com> (http://gnapse.github.io)
@vitejs/plugin-vue MIT Evan You
@vitest/browser MIT n/a
@vitest/coverage-v8 MIT Anthony Fu <anthonyfu117@hotmail.com>
@vitest/ui MIT n/a
@vue/compiler-sfc MIT Evan You
@vue/language-server MIT n/a
@vue/test-utils MIT Lachlan Miller lachlan.miller.1990@outlook.com
@ -9473,6 +9471,7 @@ svg-url-loader MIT Hovhannes Babayan
tar BlueOak-1.0.0 Isaac Z. Schlueter
url-loader MIT Tobias Koppers @sokra
util MIT Joyent http://www.joyent.com
vite MIT Evan You
vitest MIT Anthony Fu <anthonyfu117@hotmail.com>
vue MIT Evan You
vue-3-sanitize MIT Vannsl, Vanessa Otto <mail@vannsl.io>

View file

@ -11,9 +11,7 @@ Package License Copyright
@mdi/font Apache-2.0 Austin Andrews
@testing-library/jest-dom MIT Ernesto Garcia <gnapse@gmail.com> (http://gnapse.github.io)
@vitejs/plugin-vue MIT Evan You
@vitest/browser MIT n/a
@vitest/coverage-v8 MIT Anthony Fu <anthonyfu117@hotmail.com>
@vitest/ui MIT n/a
@vue/compiler-sfc MIT Evan You
@vue/language-server MIT n/a
@vue/test-utils MIT Lachlan Miller lachlan.miller.1990@outlook.com
@ -71,6 +69,7 @@ svg-url-loader MIT Hovhannes Babayan
tar BlueOak-1.0.0 Isaac Z. Schlueter
url-loader MIT Tobias Koppers @sokra
util MIT Joyent http://www.joyent.com
vite MIT Evan You
vitest MIT Anthony Fu <anthonyfu117@hotmail.com>
vue MIT Evan You
vue-3-sanitize MIT Vannsl, Vanessa Otto <mail@vannsl.io>

View file

@ -49,9 +49,7 @@
"@mdi/font": "^7.4.47",
"@testing-library/jest-dom": "^6.9.1",
"@vitejs/plugin-vue": "^6.0.7",
"@vitest/browser": "^3.2.4",
"@vitest/coverage-v8": "^3.2.6",
"@vitest/ui": "^3.2.4",
"@vitest/coverage-v8": "^4.1.8",
"@vue/compiler-sfc": "^3.5.38",
"@vue/language-server": "^3.3.5",
"@vue/test-utils": "^2.4.11",
@ -109,7 +107,8 @@
"tar": "^7.5.16",
"url-loader": "^4.1.1",
"util": "^0.12.5",
"vitest": "^3.2.4",
"vite": "^8.0.16",
"vitest": "^4.1.8",
"vue": "^3.5.38",
"vue-3-sanitize": "^0.1.4",
"vue-loader": "^17.4.2",

View file

@ -188,8 +188,12 @@ describe("component/photo/batch-edit", () => {
mockBatchInstance.getLengthOfAllSelected.mockReturnValue(3);
mockBatchInstance.isSelected.mockReturnValue(true);
// Mock the Batch constructor to return our mock instance
vi.mocked(Batch).mockImplementation(() => mockBatchInstance);
// Mock the Batch constructor to return our mock instance. Vitest 4 invokes
// the mock as a constructor via `new`, so the implementation must be a
// regular function (an arrow function is not constructable).
vi.mocked(Batch).mockImplementation(function () {
return mockBatchInstance;
});
wrapper = shallowMount(PPhotoBatchEdit, {
props: {

View file

@ -35,18 +35,6 @@ export default defineConfig({
testTimeout: 10000,
watch: false,
silent: true,
browser: {
enabled: false,
provider: "playwright",
headless: true,
isolate: false,
instances: [
{
browser: "chromium",
headless: true,
},
],
},
coverage: {
provider: "v8",

2098
package-lock.json generated

File diff suppressed because it is too large Load diff