build(deps): upgrade non-TypeScript dependencies

Keep TypeScript at 6.0.3 while moving the remaining server and client packages onto their current supported releases.

Allow the PWA asset generator 2 peer range because vite-plugin-pwa still declares the compatible version 1 range.
This commit is contained in:
neon
2026-09-30 21:37:55 +00:00
parent ef2bcced3b
commit 05a55d6b62
9 changed files with 1000 additions and 1193 deletions
+6 -6
View File
@@ -71,7 +71,7 @@
"@tiptap/starter-kit": "^3.31.3",
"@tiptap/vue-3": "^3.31.3",
"@types/howler": "^2.2.13",
"@vueuse/core": "^14.4.0",
"@vueuse/core": "^15.0.0",
"canvas-confetti": "^1.9.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
@@ -80,7 +80,7 @@
"driver.js": "^1.8.0",
"echarts": "^6.1.0",
"howler": "^2.2.4",
"intl-messageformat": "^11.2.15",
"intl-messageformat": "^12.1.2",
"pinia": "^4.0.3",
"reka-ui": "^2.10.5",
"socket.io-client": "^4.8.4",
@@ -101,9 +101,9 @@
"@types/canvas-confetti": "^1.9.0",
"@types/jsdom": "^30.0.0",
"@types/node": "^26.6.3",
"@vite-pwa/assets-generator": "^1.0.4",
"@vite-pwa/assets-generator": "^2.0.0",
"@vitejs/plugin-vue": "^6.0.9",
"@vitest/coverage-v8": "^4.1.11",
"@vitest/coverage-v8": "^5.0.2",
"@vitest/eslint-plugin": "^1.6.27",
"@vue/eslint-config-typescript": "^14.9.0",
"@vue/test-utils": "^2.5.1",
@@ -113,7 +113,7 @@
"eslint-plugin-oxlint": "~1.86.0",
"eslint-plugin-vue": "~10.11.1",
"jiti": "^2.7.0",
"jsdom": "~30.0.1",
"jsdom": "~30.1.1",
"npm-run-all2": "^9.0.3",
"oxlint": "~1.86.0",
"prettier": "3.9.9",
@@ -121,7 +121,7 @@
"typescript": "~6.0.3",
"vite": "^8.3.1",
"vite-plugin-vue-devtools": "^8.2.1",
"vitest": "^4.1.11",
"vitest": "^5.0.2",
"vue-tsc": "^3.3.11"
},
"engines": {
@@ -170,6 +170,7 @@ describe('PodcastEditDetailsSheet', () => {
it('uploads a chosen artwork file and emits the new versioned url', async () => {
apiMock.mockResolvedValue(jsonResponse({ id: 12, imageUrl: '/api/v1/podcasts/12/artwork?v=99', artworkUpdatedAt: '2026-07-31T00:00:00.000Z' }))
const createObjectURL = vi.spyOn(URL, 'createObjectURL').mockReturnValue('blob:podcast-artwork')
const wrapper = await mountSheet()
const input = wrapper.get('input[type="file"]')
const file = new File(['bytes'], 'artwork.png', { type: 'image/png' })
@@ -183,7 +184,10 @@ describe('PodcastEditDetailsSheet', () => {
expect(url).toBe('/api/v1/podcasts/12/artwork')
expect(init?.method).toBe('POST')
expect(init?.body).toBeInstanceOf(FormData)
expect(createObjectURL).toHaveBeenCalledWith(file)
expect(wrapper.emitted('artwork-changed')?.[0]?.[0]).toMatchObject({ artworkUpdatedAt: '2026-07-31T00:00:00.000Z' })
createObjectURL.mockRestore()
})
it('uploads artwork from a url without touching the metadata endpoint', async () => {
@@ -25,6 +25,10 @@ function installBrowserGlobals() {
addEventListener: vi.fn<() => void>(),
removeEventListener: vi.fn<() => void>(),
}) as unknown as MediaQueryList
Object.defineProperty(globalThis, 'visualViewport', {
configurable: true,
value: { scale: 1 },
})
}
describe('Foliate navigation', () => {
@@ -267,11 +271,6 @@ describe('Foliate navigation', () => {
it('still snaps ordinary paginated touch gestures', () => {
const paginator = new Paginator() as InstanceType<typeof Paginator> & EventTarget
const snap = vi.spyOn(paginator, 'snap').mockImplementation(() => {})
const originalVisualViewport = Object.getOwnPropertyDescriptor(globalThis, 'visualViewport')
Object.defineProperty(globalThis, 'visualViewport', {
configurable: true,
value: { scale: 1 },
})
const animationFrame = vi.spyOn(globalThis, 'requestAnimationFrame').mockImplementation((callback) => {
callback(0)
return 0
@@ -300,8 +299,6 @@ describe('Foliate navigation', () => {
expect(snap).toHaveBeenCalledWith(0, undefined)
animationFrame.mockRestore()
if (originalVisualViewport) Object.defineProperty(globalThis, 'visualViewport', originalVisualViewport)
else Reflect.deleteProperty(globalThis, 'visualViewport')
})
it('maps physical left and right navigation using OPF RTL page progression', async () => {