From 4aaf33f19eeebdbedd3d85d08ed605017d165d28 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Mon, 16 Jun 2025 17:05:43 +0100 Subject: [PATCH] Ran linter --- package.json | 256 +++++++++--------- src/lib/components/Album.stories.js | 23 +- src/lib/components/Album.svelte | 2 +- src/lib/components/AlbumSimple.stories.js | 2 +- src/lib/components/AlbumSimple.stories.svelte | 25 +- src/lib/components/Avatar.stories.js | 2 +- src/lib/components/Avatar.svelte | 41 +-- src/lib/components/AvatarHeadphones.svelte | 2 +- src/lib/components/AvatarSVG.svelte | 10 +- src/lib/components/MasonryPhotoGrid.svelte | 10 +- src/lib/components/NowPlaying.svelte | 18 +- src/lib/components/RecentAlbums.stories.js | 83 ++++-- src/lib/components/RecentAlbums.svelte | 12 +- src/lib/server/apple-music-client.ts | 22 +- src/lib/stores/album-stream.ts | 8 +- src/routes/api/lastfm/stream/+server.ts | 75 ++--- src/routes/api/photos/+server.ts | 8 +- src/routes/photos/+page.svelte | 52 ++-- 18 files changed, 353 insertions(+), 298 deletions(-) diff --git a/package.json b/package.json index 85aa070..c912e7c 100644 --- a/package.json +++ b/package.json @@ -1,130 +1,130 @@ { - "name": "jedmund-svelte", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "vite dev", - "build": "vite build", - "start": "node build", - "preview": "vite preview", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --check . && eslint .", - "format": "prettier --write .", - "db:migrate": "prisma migrate dev", - "db:seed": "prisma db seed", - "db:studio": "prisma studio", - "db:init": "tsx scripts/init-db.ts", - "db:deploy": "prisma migrate deploy", - "setup:local": "./scripts/setup-local.sh", - "storybook": "storybook dev -p 6006", - "build-storybook": "storybook build" - }, - "devDependencies": { - "@musicorum/lastfm": "github:jedmund/lastfm", - "@poppanator/sveltekit-svg": "^5.0.0-svelte5.4", - "@storybook/addon-a11y": "^9.0.9", - "@storybook/addon-docs": "^9.0.9", - "@storybook/addon-svelte-csf": "^5.0.3", - "@storybook/sveltekit": "^9.0.9", - "@sveltejs/adapter-auto": "^3.0.0", - "@sveltejs/kit": "^2.0.0", - "@sveltejs/vite-plugin-svelte": "^4.0.0-next.6", - "@types/eslint": "^8.56.7", - "@types/node": "^22.0.2", - "autoprefixer": "^10.4.19", - "eslint": "^9.0.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-storybook": "^9.0.9", - "eslint-plugin-svelte": "^2.36.0", - "globals": "^15.0.0", - "postcss": "^8.4.39", - "prettier": "^3.1.1", - "prettier-plugin-svelte": "^3.1.2", - "sass": "^1.77.8", - "storybook": "^9.0.9", - "svelte": "^5.0.0-next.1", - "svelte-check": "^3.6.0", - "tslib": "^2.4.1", - "tsx": "^4.19.4", - "typescript": "^5.5.3", - "typescript-eslint": "^8.0.0-alpha.20", - "vite": "^5.0.3" - }, - "type": "module", - "dependencies": { - "@aarkue/tiptap-math-extension": "^1.3.6", - "@prisma/client": "^6.8.2", - "@sveltejs/adapter-node": "^5.2.0", - "@tiptap/core": "^2.12.0", - "@tiptap/extension-bubble-menu": "^2.12.0", - "@tiptap/extension-character-count": "^2.12.0", - "@tiptap/extension-code-block-lowlight": "^2.12.0", - "@tiptap/extension-color": "^2.12.0", - "@tiptap/extension-floating-menu": "^2.12.0", - "@tiptap/extension-highlight": "^2.12.0", - "@tiptap/extension-image": "^2.12.0", - "@tiptap/extension-link": "^2.12.0", - "@tiptap/extension-placeholder": "^2.12.0", - "@tiptap/extension-subscript": "^2.12.0", - "@tiptap/extension-superscript": "^2.12.0", - "@tiptap/extension-table": "^2.12.0", - "@tiptap/extension-table-header": "^2.12.0", - "@tiptap/extension-table-row": "^2.12.0", - "@tiptap/extension-task-item": "^2.12.0", - "@tiptap/extension-task-list": "^2.12.0", - "@tiptap/extension-text": "^2.12.0", - "@tiptap/extension-text-align": "^2.12.0", - "@tiptap/extension-text-style": "^2.12.0", - "@tiptap/extension-typography": "^2.12.0", - "@tiptap/extension-underline": "^2.12.0", - "@tiptap/pm": "^2.12.0", - "@tiptap/starter-kit": "^2.12.0", - "@tiptap/suggestion": "^2.12.0", - "@types/jsonwebtoken": "^9.0.9", - "@types/multer": "^1.4.12", - "@types/redis": "^4.0.10", - "@types/steamapi": "^2.2.5", - "cloudinary": "^2.6.1", - "dotenv": "^16.5.0", - "exifr": "^7.1.3", - "giantbombing-api": "^1.0.4", - "gray-matter": "^4.0.3", - "ioredis": "^5.4.1", - "jsonwebtoken": "^9.0.2", - "katex": "^0.16.22", - "lowlight": "^3.3.0", - "lucide-svelte": "^0.511.0", - "marked": "^15.0.12", - "multer": "^2.0.0", - "node-itunes-search": "^1.2.3", - "prisma": "^6.8.2", - "psn-api": "github:jedmund/psn-api", - "redis": "^4.7.0", - "sharp": "^0.34.2", - "steamapi": "^3.0.11", - "svelte-bricks": "^0.3.2", - "svelte-infinite": "^0.5.0", - "svelte-medium-image-zoom": "^0.2.6", - "svelte-portal": "^2.2.1", - "svelte-tiptap": "^2.1.0", - "svgo": "^3.3.2", - "tinyduration": "^3.3.1", - "tippy.js": "^6.3.7", - "tiptap-extension-auto-joiner": "^0.1.3", - "tiptap-extension-global-drag-handle": "^0.1.18", - "tiptap-markdown": "^0.8.10", - "zod": "^3.25.30" - }, - "prisma": { - "seed": "tsx prisma/seed.ts" - }, - "engines": { - "node": ">=20.0.0", - "npm": ">=10.0.0" - }, - "overrides": { - "@sveltejs/vite-plugin-svelte": "^4.0.0-next.6", - "storybook": "$storybook" - } + "name": "jedmund-svelte", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "vite dev", + "build": "vite build", + "start": "node build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --check . && eslint .", + "format": "prettier --write .", + "db:migrate": "prisma migrate dev", + "db:seed": "prisma db seed", + "db:studio": "prisma studio", + "db:init": "tsx scripts/init-db.ts", + "db:deploy": "prisma migrate deploy", + "setup:local": "./scripts/setup-local.sh", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" + }, + "devDependencies": { + "@musicorum/lastfm": "github:jedmund/lastfm", + "@poppanator/sveltekit-svg": "^5.0.0-svelte5.4", + "@storybook/addon-a11y": "^9.0.9", + "@storybook/addon-docs": "^9.0.9", + "@storybook/addon-svelte-csf": "^5.0.3", + "@storybook/sveltekit": "^9.0.9", + "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^4.0.0-next.6", + "@types/eslint": "^8.56.7", + "@types/node": "^22.0.2", + "autoprefixer": "^10.4.19", + "eslint": "^9.0.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-storybook": "^9.0.9", + "eslint-plugin-svelte": "^2.36.0", + "globals": "^15.0.0", + "postcss": "^8.4.39", + "prettier": "^3.1.1", + "prettier-plugin-svelte": "^3.1.2", + "sass": "^1.77.8", + "storybook": "^9.0.9", + "svelte": "^5.0.0-next.1", + "svelte-check": "^3.6.0", + "tslib": "^2.4.1", + "tsx": "^4.19.4", + "typescript": "^5.5.3", + "typescript-eslint": "^8.0.0-alpha.20", + "vite": "^5.0.3" + }, + "type": "module", + "dependencies": { + "@aarkue/tiptap-math-extension": "^1.3.6", + "@prisma/client": "^6.8.2", + "@sveltejs/adapter-node": "^5.2.0", + "@tiptap/core": "^2.12.0", + "@tiptap/extension-bubble-menu": "^2.12.0", + "@tiptap/extension-character-count": "^2.12.0", + "@tiptap/extension-code-block-lowlight": "^2.12.0", + "@tiptap/extension-color": "^2.12.0", + "@tiptap/extension-floating-menu": "^2.12.0", + "@tiptap/extension-highlight": "^2.12.0", + "@tiptap/extension-image": "^2.12.0", + "@tiptap/extension-link": "^2.12.0", + "@tiptap/extension-placeholder": "^2.12.0", + "@tiptap/extension-subscript": "^2.12.0", + "@tiptap/extension-superscript": "^2.12.0", + "@tiptap/extension-table": "^2.12.0", + "@tiptap/extension-table-header": "^2.12.0", + "@tiptap/extension-table-row": "^2.12.0", + "@tiptap/extension-task-item": "^2.12.0", + "@tiptap/extension-task-list": "^2.12.0", + "@tiptap/extension-text": "^2.12.0", + "@tiptap/extension-text-align": "^2.12.0", + "@tiptap/extension-text-style": "^2.12.0", + "@tiptap/extension-typography": "^2.12.0", + "@tiptap/extension-underline": "^2.12.0", + "@tiptap/pm": "^2.12.0", + "@tiptap/starter-kit": "^2.12.0", + "@tiptap/suggestion": "^2.12.0", + "@types/jsonwebtoken": "^9.0.9", + "@types/multer": "^1.4.12", + "@types/redis": "^4.0.10", + "@types/steamapi": "^2.2.5", + "cloudinary": "^2.6.1", + "dotenv": "^16.5.0", + "exifr": "^7.1.3", + "giantbombing-api": "^1.0.4", + "gray-matter": "^4.0.3", + "ioredis": "^5.4.1", + "jsonwebtoken": "^9.0.2", + "katex": "^0.16.22", + "lowlight": "^3.3.0", + "lucide-svelte": "^0.511.0", + "marked": "^15.0.12", + "multer": "^2.0.0", + "node-itunes-search": "^1.2.3", + "prisma": "^6.8.2", + "psn-api": "github:jedmund/psn-api", + "redis": "^4.7.0", + "sharp": "^0.34.2", + "steamapi": "^3.0.11", + "svelte-bricks": "^0.3.2", + "svelte-infinite": "^0.5.0", + "svelte-medium-image-zoom": "^0.2.6", + "svelte-portal": "^2.2.1", + "svelte-tiptap": "^2.1.0", + "svgo": "^3.3.2", + "tinyduration": "^3.3.1", + "tippy.js": "^6.3.7", + "tiptap-extension-auto-joiner": "^0.1.3", + "tiptap-extension-global-drag-handle": "^0.1.18", + "tiptap-markdown": "^0.8.10", + "zod": "^3.25.30" + }, + "prisma": { + "seed": "tsx prisma/seed.ts" + }, + "engines": { + "node": ">=20.0.0", + "npm": ">=10.0.0" + }, + "overrides": { + "@sveltejs/vite-plugin-svelte": "^4.0.0-next.6", + "storybook": "$storybook" + } } diff --git a/src/lib/components/Album.stories.js b/src/lib/components/Album.stories.js index 7759d17..e2dc382 100644 --- a/src/lib/components/Album.stories.js +++ b/src/lib/components/Album.stories.js @@ -11,18 +11,25 @@ const mockAlbum = { url: 'https://www.last.fm/music/Radiohead/In+Rainbows', rank: 1, images: { - small: 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', - medium: 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', - large: 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', - extralarge: 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', + small: + 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', + medium: + 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', + large: + 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', + extralarge: + 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', mega: 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', - default: 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp' + default: + 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp' }, isNowPlaying: false, appleMusicData: { appleMusicId: '1109714933', - highResArtwork: 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', - previewUrl: 'https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/5c/e8/e3/5ce8e347-3bea-3bb0-0664-a6e1c9125d3a/mzaf_7638610958907470670.plus.aac.p.m4a', + highResArtwork: + 'https://is1-ssl.mzstatic.com/image/thumb/Music126/v4/85/2e/2b/852e2b6c-93ec-806a-95b2-8f5eda2f775c/22UMGIM18886.rgb.jpg/592x592bb.webp', + previewUrl: + 'https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/5c/e8/e3/5ce8e347-3bea-3bb0-0664-a6e1c9125d3a/mzaf_7638610958907470670.plus.aac.p.m4a', genres: ['Alternative', 'Music'], releaseDate: '2007-10-10', trackCount: 10, @@ -180,4 +187,4 @@ export const Interactive = { } } } -} \ No newline at end of file +} diff --git a/src/lib/components/Album.svelte b/src/lib/components/Album.svelte index 823894f..a66cd56 100644 --- a/src/lib/components/Album.svelte +++ b/src/lib/components/Album.svelte @@ -117,7 +117,7 @@ // Combine initial state with real-time updates const isNowPlaying = $derived(realtimeNowPlaying?.isNowPlaying ?? album?.isNowPlaying ?? false) const nowPlayingTrack = $derived(realtimeNowPlaying?.nowPlayingTrack ?? album?.nowPlayingTrack) - + // Debug logging $effect(() => { if (album && isNowPlaying) { diff --git a/src/lib/components/AlbumSimple.stories.js b/src/lib/components/AlbumSimple.stories.js index 417e290..e46d8bd 100644 --- a/src/lib/components/AlbumSimple.stories.js +++ b/src/lib/components/AlbumSimple.stories.js @@ -5,4 +5,4 @@ export default { component: AlbumSimpleStory } -export const Default = {} \ No newline at end of file +export const Default = {} diff --git a/src/lib/components/AlbumSimple.stories.svelte b/src/lib/components/AlbumSimple.stories.svelte index e00055b..d4859ad 100644 --- a/src/lib/components/AlbumSimple.stories.svelte +++ b/src/lib/components/AlbumSimple.stories.svelte @@ -1,6 +1,6 @@